Configure a Multitenant Container Database
Oracle GoldenGate with Oracle Database allows each pluggable database (PDB) to have Extract registered for a specific PDB, which is called a per-PDB Extract.
The following diagram shows the configuration for different approaches in a multitenant container database configuration:
Description of the illustration pdb_extract_feedbk.png
-
Approach 1: Adding Extract directly from the PDB. This approach is useful when Extract captures from isolated PDBs, managing ownership and responsibility at the PDB level.
-
Approach 2: Adding Extract in the root container and referencing the associated PDBs This approach is useful when Extract captures data from multiple PDBs.
If you use Approach 1, you can create a per-PDB Extract by
connecting as the local PDB user (for example, ggadmin
) and then
register this Extract with the PDB. As you are already logged in as the PDB user,
the container
clause is not required. Similarly, the
SOURCECATALOG
and two-part naming convention is adequate.
c##ggadmin
and create Extract for specific
PDBs. This Extract needs to be registered for the specific PDB using the container
clause. The container clause might contain a single or multiple PDBs.
Note:
Even if you use a root-level Extract, you need the user credentials for each PDB from which you need to capture. The hearbeat table also resides in the individual PDBs.To set up an Extract, see Add a Primary Extract.
Considerations for Multitenant Container Database Configuration
Consider the following guidelines when configuring a multitenant container databases for data replication using Oracle GoldenGate:
-
The different pluggable databases in the multitenant container database can have different character sets. Oracle GoldenGate captures data from any multitenant database with different character sets into one trail file and replicates the data without corruption due to using different character sets.
-
To create and register a per-PDB Extract, you will need to connect to the PDB user such as
ggadmin
created for PDB-level access. Use theUSERIDALIAS
parameter to configure a SQL*Net connection string such asggadmin@pdbeast
. You do not need the container clause or theSOURCECATALOG
to set up the per-PDB Extract. -
To add a user for the root container, Extract must connect to the root container (
cdb$root
) as a common user in order to interact with the logmining server. To specify the root container, use the appropriate SQL*Net connect string for the database user that you specify with theUSERIDALIAS
parameter, such asc##ggadmin@dbeast
. -
To support source CDB 12.2, Extract must specify the trail format as release 12.3. Due to changes in the redo logs, to capture from a multitenant database that is Oracle 12.2 or higher, the trail format release must be 12.3 or higher.
-
DDL replication works as a normal replication for multitenant databases.
See Add Database Credentials to add a multitenant container database user in Oracle GoldenGate credentials. See Grant User Privileges for Oracle Database 21c and Lower depending on the Oracle database installation that you need to configure.