Create Oracle User and Grant Required Permissions
Oracle 19c + Debezium LogMiner Setup Guide
1. Enable Required Database Settings (CDB$ROOT)
sqlplus / as sysdba
Switch to CDB root
ALTER SESSION SET CONTAINER = CDB$ROOT;
Confirm:
SHOW CON_NAME;
Should show:
CDB$ROOT
⚠ Now you can run MOUNT / ARCHIVELOG commands
Shut down the entire CDB
SHUTDOWN IMMEDIATE;
You should see:
Database closed. Database dismounted. ORACLE instance shut down.
Start in MOUNT mode
Now run:
STARTUP MOUNT;
This time it will succeed because now you are in the root.
Enable ARCHIVELOG
ALTER DATABASE ARCHIVELOG;
Open the database
ALTER DATABASE OPEN;
Verify
ARCHIVE LOG LIST;
Create Debezium Common User (C##DEBEZIUM)
ALTER SESSION SET CONTAINER=CDB$ROOT;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
ALTER DATABASE FORCE LOGGING;
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH;
2. Create Common User for Debezium
ALTER SESSION SET CONTAINER=CDB$ROOT;
CREATE USER C##DEBEZIUM IDENTIFIED BY "StrongPassword" CONTAINER=ALL;
Grant LogMiner + Root Privileges
GRANT CREATE SESSION TO C##DEBEZIUM CONTAINER=ALL;
GRANT SET CONTAINER TO C##DEBEZIUM CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO C##DEBEZIUM CONTAINER=ALL;
GRANT SELECT ANY TRANSACTION TO C##DEBEZIUM CONTAINER=ALL;
GRANT LOGMINING TO C##DEBEZIUM CONTAINER=ALL;
GRANT EXECUTE ON SYS.DBMS_LOGMNR TO C##DEBEZIUM CONTAINER=ALL;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_D TO C##DEBEZIUM CONTAINER=ALL;
GRANT SELECT ON V_$LOG TO C##DEBEZIUM CONTAINER=ALL;
GRANT SELECT ON V_$LOGFILE TO C##DEBEZIUM CONTAINER=ALL;
GRANT SELECT ON V_$ARCHIVED_LOG TO C##DEBEZIUM CONTAINER=ALL;
GRANT SELECT ON V_$DATABASE TO C##DEBEZIUM CONTAINER=ALL;
GRANT SELECT ON V_$INSTANCE TO C##DEBEZIUM CONTAINER=ALL;
3. Create PDB User (inside ORCLPDB1)
ALTER SESSION SET CONTAINER=ORCLPDB1;
CREATE USER PDBZIUM IDENTIFIED BY "StrongPassword";
GRANT CONNECT, RESOURCE TO PDBZIUM;
GRANT CREATE SESSION TO PDBZIUM;
GRANT SELECT ANY DICTIONARY TO PDBZIUM;
GRANT SELECT ANY TABLE TO PDBZIUM;
GRANT SELECT ANY TRANSACTION TO PDBZIUM;
GRANT FLASHBACK ANY TABLE TO PDBZIUM;
ALTER USER PDBZIUM QUOTA UNLIMITED ON USERS;
ALTER USER C##DEBEZIUM QUOTA UNLIMITED ON USERS;
4. Required Debezium Connector Settings
{
"database.user": "C##DEBEZIUM",
"database.password": "StrongPassword",
"database.dbname": "ORCLPDB1",
"database.pdb.name": "ORCLPDB1"
}
5. Notes
- This configuration works for Oracle 19c + Debezium 3.3.
- It supports LogMiner CDC for Kafka Connect.
- Ensure redo logs and archive logs are enabled.