diff --git a/seatunnel-connectors-v2/connector-cdc/connector-cdc-oracle/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/source/reader/fetch/scan/OracleSnapshotSplitReadTask.java b/seatunnel-connectors-v2/connector-cdc/connector-cdc-oracle/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/source/reader/fetch/scan/OracleSnapshotSplitReadTask.java index ddbabc80b42b..b90b0361fb2a 100644 --- a/seatunnel-connectors-v2/connector-cdc/connector-cdc-oracle/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/source/reader/fetch/scan/OracleSnapshotSplitReadTask.java +++ b/seatunnel-connectors-v2/connector-cdc/connector-cdc-oracle/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/source/reader/fetch/scan/OracleSnapshotSplitReadTask.java @@ -200,6 +200,11 @@ private void createDataEventsForTable( long exportStart = clock.currentTimeInMillis(); LOG.info("Exporting data from split '{}' of table {}", snapshotSplit.splitId(), table.id()); + // Switch to PDB context before executing snapshot query for multi-table CDC + if (connectorConfig.getPdbName() != null) { + jdbcConnection.setSessionToPdb(connectorConfig.getPdbName()); + LOG.info("Switched to PDB '{}' for table {}", connectorConfig.getPdbName(), table.id()); + } final String selectSql = OracleUtils.buildSplitScanQuery( snapshotSplit.getTableId(),