Hello
It seems to me that SynchDB does not support Oracle's container database architecture. Can you confirm that?
The documentation does not mention it explicitly and since there are examples where a common user (prefix c##) is used I assumed it will probably work. I have the following structure:
- Oracle container instance DBT01 (service name DBT01_A.dbstar.info)
- Pluggable database TIB (service name tib.dbstar.info)
- Schema called TIBREPO (owner of the table)
I tested two scenarios:
-
Connection to the PDB (pluggable database) TIB directly: The connection works but using logminer inside a PDB is not supported by Oracle. Attached you can find the log output (pdb.log) after starting the background worker.
java.sql.SQLException: ORA-65040: operation not allowed from within a pluggable database
-
Connection to the CDB (root container): Connection and Logminer session work but it does not find my table. Details can be found in the attached log (cdb.log). The problem here, I cannot specify the PDB. So, SynchDB is not able to find the table TIBREPO.SITUATION in the root container. There should be an additional parameter to specify the PDB (here called TIB). I also tried TIB.TIBREPO.SITUATION for the table name in the function below, but it did not work. From Debezium Oracle Connector I now, there are distinctive parameters database.pdb.name (TIB) and database.name (DBT01_A). Is this configuration currently supported in SynchDB?
SELECT synchdb_add_conninfo(
'tibconn'
, '192.168.173.25'
, 1521
, 'c##openlogreplicator_reader'
, 'manager'
, 'DBT01_A.dbstar.info'
, 'tib'
, 'TIBREPO.SITUATION'
, 'null'
, 'oracle'
);
Maybe I have just overlooked something.
Thank you for your clarification.
Regards
Roland
Hello
It seems to me that SynchDB does not support Oracle's container database architecture. Can you confirm that?
The documentation does not mention it explicitly and since there are examples where a common user (prefix c##) is used I assumed it will probably work. I have the following structure:
I tested two scenarios:
Connection to the PDB (pluggable database) TIB directly: The connection works but using logminer inside a PDB is not supported by Oracle. Attached you can find the log output (pdb.log) after starting the background worker.
java.sql.SQLException: ORA-65040: operation not allowed from within a pluggable databaseConnection to the CDB (root container): Connection and Logminer session work but it does not find my table. Details can be found in the attached log (cdb.log). The problem here, I cannot specify the PDB. So, SynchDB is not able to find the table TIBREPO.SITUATION in the root container. There should be an additional parameter to specify the PDB (here called TIB). I also tried TIB.TIBREPO.SITUATION for the table name in the function below, but it did not work. From Debezium Oracle Connector I now, there are distinctive parameters database.pdb.name (TIB) and database.name (DBT01_A). Is this configuration currently supported in SynchDB?
Maybe I have just overlooked something.
Thank you for your clarification.
Regards
Roland