When source and target column names are different, you can specify an explicit column mapping in the configuration file, to ensure that Post applies row data to the correct target columns.
To use column mapping, you must map every column in a source table to a column in the target table, even if only some source and target names are different. When some columns are mapped but not others, the entry is considered to be a column partition for vertically partitioned replication, and data changes for non-listed columns are not replicated.
The following syntax creates a column map. For more information, see Configure data replication.
datasource_specification | ||
src_owner.table (src_col,src_col,...) | tgt_owner.table (tgt_col,tgt_col,...) | routing_map |
Configuration component | Description |
---|---|
datasource_specification |
The datasource specification. For more information, see Database specifications in a configuration file. |
src_owner.table and tgt_owner.table | The specifications for the source and target tables, respectively. For more information, see Create a configuration file. |
(src_col,src_col,...) |
A list of the source columns. Follow these rules to specify a column list:
|
(tgt_col,tgt_col,...) |
A list of the target columns.
|
routing_map |
The routing map. For more information, see Routing specifications in a configuration file. |
This example contains no case-sensitive columns.
Datasource o.oraA |
|
|
sales.prod (ID,name,vendor) |
mfg.prod (UPC,product,supplier) |
sysB@o.oraB |
This example contains case-sensitive columns.
Datasource o.oraA |
|
|
sales.prod (ID,"name",vendor) |
mfg.prod (UPC,"product",supplier) |
sysB@o.oraB |
SharePlex provides the following scripts to automate the building of a configuration file to specify Oracle source objects.
Oracle
The config.sql script enables you to build a configuration that lists all of the tables, and optionally all of the sequences, in all of the schemas of a database. This script saves time when establishing a high-availability replication strategy or other scenario where you want the entire database to be replicated to an identical secondary database.
Source and target table names must be the same.
To run config.sql
Change directories to the config sub-directory of the SharePlex variable-data directory. The config.sql script puts configurations in the current working directory, and SharePlex configurations must reside in the config sub-directory.
cd /vardir/config
Run config.sql using the full path from the util sub-directory of the SharePlex product directory.
@ /proddir/util/config.sql
Refer to the following table when following the prompts.
Prompt | What to enter |
---|---|
Target machine | The name of the target machine, for example SystemB. |
Source database SID | The ORACLE_SID of the source (primary) Oracle instance, for example oraA. Do not include the o. keyword. The ORACLE_SID is case-sensitive. |
Target database SID | The ORACLE_SID of the target (destination) Oracle instance, for example oraB. Do not include the o. keyword. The ORACLE_SID is case-sensitive. |
Replicate sequences | Enter y to replicate sequences or n not to replicate sequences. |
SharePlex oracle username | The name of the SharePlex user in the source database. This entry prevents the SharePlex schema from being replicated, which would cause replication problems. If a valid name is not provided, the script fails. |
Note: The name assigned by SharePlex to the configuration is config.file. If you run the script again to create another configuration file, it overwrites the first file. To preserve the original file, rename it before you create the second one.
Next steps:
If any tables or owners are case-sensitive, open the configuration file with the edit config command in sp_ctrl, then use the text editor to enclose case-sensitive table and owner names within double-quote marks, for example “scott”.“emp”. The script does not add the quote marks required by Oracle to enforce case-sensitivity.
sp_ctrl> edit config filename
To ensure that the configuration is in the correct location, issue the list config command. If the name of the configuration is not shown, it was created in the wrong directory. Find the file and move it to the config sub-directory of the variable-data directory.
sp_ctrl> list config
The build_config.sql script enables you to build a configuration that contains multiple (or all) tables in a schema. It is an interactive script that prompts for each component of the configuration step by step. Instead of entering the information for each object and the routing individually, you can use a wildcard to select certain tables at once, or you can select all of the tables in the schema.
To run build_config.sql
Change directories to the config sub-directory of the SharePlex variable-data directory. The build_config.sql script puts configurations in the current working directory, and SharePlex configurations must reside in the config sub-directory.
cd /vardir/config
Run build_config.sql using the full path from the util sub-directory of the SharePlex product directory.
@ /proddir/util/build_config.sql
Refer to the following table when following the prompts.
Prompt | What to enter |
---|---|
Target machine | The name of the target machine, for example SystemB. |
Source database SID | The ORACLE_SID of the source (primary) Oracle instance, for example oraA. Do not include the o. keyword. The ORACLE_SID is case-sensitive. |
Target database SID | The ORACLE_SID of the target (destination) Oracle instance, for example oraB. Do not include the o. keyword. The ORACLE_SID is case-sensitive. |
Owner of the source database tables | The owner of the source tables. |
Owner of the target database tables | The owner of the target tables. |
Table name to include (blank for all) |
Do one of the following:
|
Name of the output file to create | A name for the configuration. The script gives the file a .lst suffix, for example Scott_config.lst. |
Next steps:
If any tables or owners are case-sensitive, open the configuration with the edit config command in sp_ctrl, then use the text editor to enclose case-sensitive table and owner names within double-quote marks, for example “scott”.“emp”. The script does not add the quote marks required by Oracle to enforce case-sensitivity.
sp_ctrl> edit config filename
To ensure that the configuration is in the correct location, issue the list config command. If the name of the configuration is not shown, it was created in the wrong directory. Find the file and move it to the config sub-directory of the variable-data directory.
sp_ctrl> list config
SharePlex supports replication to and from Pluggable Databases (PDB) in Oracle multitenant container databases (CDB). This support is available on Unix and Linux platforms only.
SharePlex can replicate data from one PDB to:
SharePlex can replicate data from a regular source database to a PDB in a target Oracle CDB.
In one configuration file, you can replicate to any number of target PDBs in the same CDB or a different CDB.
To capture from a PDB
In the configuration file, specify the TNS alias of a PDB as the datasource. For example, if the TNS alias is pdb1, the datasource specification is:
Datasource: o.pdb1
To replicate to a PDB
Specify the TNS alias of the target PDB in the routing map, as shown in the following example where pdb2 is the target:
sys02@o.pdb2
Example 1: This example shows two configuration files, one replicating from pdb1 and the other replicating from pdb2, both replicating data to pdb3.
Datasource: o.pdb1 hr.emp hr2.emp2 sys02@o.pdb3
Datasource: o.pdb2 sales.cust sales2.cust2 sys02@o.pdb3
Example 2: This example shows one configuration file replicating from pdb1 to pdb2 and pdb3, both targets being on different systems.
Datasource: o.pdb1 hr.sal hr2.sal2 sys02@o.pdb2 hr.sal hr3.sal3 sys03@o.pdb3
© ALL RIGHTS RESERVED. 使用条款 隐私 Cookie Preference Center