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 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.
This chapter contains instructions for using the advanced SharePlex configuration options of named queues. These options provide an additional level of flexibility to divide and parallelize data to meet specific processing and routing requirements. Before proceeding, make certain you understand the concepts and processes in Configure SharePlex to Replicate Data.
A named export queue is an optional, user-defined export queue that is attached to its own Export process. SharePlex creates each named Export queue and associated Export process in addition to the default export queue-process pair. When SharePlex creates a named export queue-process pair, it also creates a dedicated Import process, post queue, and Post process on the target to contain that data stream.
You direct SharePlex to create one or more named export queues when you create your configuration file. Any data that is not configured for processing through a named export queue is processed through the default export queue.
PostgreSQL to PostgreSQL, Oracle, SQL Server, and Kafka
Oracle to all targets
Use named export queues to isolate the replication of:
Additional benefits:
You can combine named export queues with default export queues. Tables in the configuration with a standard routing map (targetsys@database_spec without a named queue specification) are replicated through a default export queue.
Use the following syntax to define a routing map that includes a named export queue.
source_host:export_queuename*target_host[@database]
Datasource: o.SID | ||
src_owner.table | tgt_owner.table |
source_host:export_queue*target_host[@database_specification] |
Routing component | Description |
---|---|
source_host | The name of the source system. |
export_queue |
The name of the export queue. Queue names are case-sensitive on all platforms. Use one word only. Underscores are permissible, for example: sys1:export_q1*sys2@o.myora |
target_host | The name of the target system. |
database specification |
One of the following for the datasource: o.oracle_SID r.database_name
One of the following if the target is a database: o.oracle_SID o.tns_alias o.PDBname r.database_name c.oracle_SID |
NoteS:
|
The following configuration files show two different datasources that are being replicated to two different databases on the same target system. Each datasource is routed through a named export queue.
Datasource:o.oraA | ||
scott.emp | scott.emp | sysA:QueueA*sysB@o.oraC |
scott.sales | scott.sales | sysA:QueueA*sysB@o.oraC |
Datasource:o.oraB | ||
scott.prod | scott.prod | sysA:QueueB*sysB@o.oraD |
scott.cust | scott.cust | sysA:QueueB*sysB@o.oraD |
The following shows how to separate a table that contains LOBs from the rest of the tables by using named export queues.
Datasource:o.oraA | ||
scott.cust | scott.cust | sysA:QueueA*sysB@o.oraC |
scott.sales | scott.sales | sysA:QueueA*sysB@o.oraC |
scott.prod | scott.prod | sysA:QueueA*sysB@o.oraC |
scott.emp_LOB | scott.emp_LOB | sysA:QueueB*sysB@o.oraC |
Alternatively, you could simply define a named export queue for the LOB table and allow the remaining tables to be processed through the default export queue.
Datasource:o.oraA | ||
scott.cust | scott.cust | sysB@o.oraC |
scott.sales | scott.sales | sysB@o.oraC |
scott.prod | scott.prod | sysB@o.oraC |
scott.emp_LOB | scott.emp_LOB | sysA:lobQ*sysB@o.oraC |
Use the following syntax to define a routing map that includes a named export queue.
source_host:export_queuename*target_host[@database]
PostgreSQL, Oracle, SQL Server, and Kafka
Datasource:r.dbname | ||
src_schema.table | tgt_schema.table |
source_host:export_queue*target_host[@database_specification] |
Routing component | Description |
---|---|
source_host | The name of the source system. |
export_queue |
The name of the export queue. Queue names are case-sensitive on all platforms. Use one word only. Underscores are permissible, for example: sys1:export_q1*sys2@r.dbname |
target_host | The name of the target system. |
database specification |
r.database_name |
Note: Allow no spaces between any components in the syntax of the routing map.
The following configuration files show two different datasources that are being replicated to two different databases on the same target system. Each datasource is routed through a named export queue.
Datasource:r.dbnameA | ||
scott.emp | scott.emp | sysA:QueueA*sysB@r.dbnameC |
scott.sales | scott.sales | sysA:QueueA*sysB@r.dbnameC |
Datasource:r.dbnameB | ||
scott.prod | scott.prod | sysA:QueueB*sysB@r.dbnameD |
scott.cust | scott.cust | sysA:QueueB*sysB@r.dbnameD |
The following shows how to separate a table that contains LOBs from the rest of the tables by using named export queues.
Datasource:r.dbnameA | ||
scott.cust | scott.cust | sysA:QueueA*sysB@r.dbnameC |
scott.sales | scott.sales | sysA:QueueA*sysB@r.dbnameC |
scott.prod | scott.prod | sysA:QueueA*sysB@r.dbnameC |
scott.emp_LOB | scott.emp_LOB | sysA:QueueB*sysB@r.dbnameC |
Alternatively, you could simply define a named export queue for the LOB table and allow the remaining tables to be processed through the default export queue.
Datasource:r.dbnameA | ||
scott.cust | scott.cust | sysB@r.dbnameC |
scott.sales | scott.sales | sysB@r.dbnameC |
scott.prod | scott.prod | sysB@r.dbnameC |
scott.emp_LOB | scott.emp_LOB | sysA:lobQ*sysB@r.dbnameC |
You can view named export queues through sp_ctrl:
See the SharePlex Reference Guide for more infomation about theses commands.
© ALL RIGHTS RESERVED. Conditions d’utilisation Confidentialité Cookie Preference Center