DanielCarter-stack commented on issue #10508: URL: https://github.com/apache/seatunnel/issues/10508#issuecomment-3950051607
<!-- code-pr-reviewer --> Thanks for reporting this and willingness to contribute. After analyzing the codebase, this is a confirmed limitation—not just a configuration gap. **Root cause**: LogMiner session startup is hardcoded with `DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG` (see `LogMinerAdapter.java:298-307`), which requires write permissions and throws `ORA-01300` on read-only ADG. Additionally, `DBMS_LOGMNR_D.BUILD` (line `LogMinerStreamingChangeEventSource.java:514-518`) cannot execute on read-only databases. The existing `log.mining.read.only` config (`OracleSourceConfigFactory.java:110`) only controls `LogWriterFlushStrategy` to skip LGWR flush—it does **not** override LogMiner startup options. Similarly, `transaction_view_only` only affects transaction boundary queries. **Oracle CDC via LogMiner is architecturally designed to connect to a writable primary database**, not a read-only standby. This is an upstream Debezium Oracle Connector constraint. **Workarounds**: 1. Connect Oracle-CDC to the primary database instead of ADG standby 2. Consider Oracle XStream or GoldenGate as alternative CDC sources (requires additional licensing) 3. Use SeaTunnel JDBC connector with scheduled polling from the standby (non-real-time) If you'd like to pursue a PR, the fix would need to either (a) use `DICT_FROM_REDO_LOGS` instead of `DICT_FROM_ONLINE_CATALOG` when in read-only mode, or (b) add configuration to override LogMiner startup options. I recommend checking Debezium community for existing ADG support first. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
