View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005256 | SymmetricDS Pro | Bug | public | 2022-04-05 17:12 | 2022-04-11 19:29 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.13.0 | ||||
Target Version | 3.13.4 | Fixed in Version | 3.13.4 | ||
Summary | 0005256: Oracle log miner unsupported dmlType LOB_TRIM | ||||
Description | Oracle log miner throws exception about an unsupported DML type of "LOB_TRIM". The log shows a PL/SQL block that runs a dbms_lob.trim() function on a table's column. These appear to be internally generated by Oracle after certain write operations. However, it is technically possible to run the dbms_lob.trim() function directly and cause one of these to appear in the log. Even with supplemental log data turned on, Oracle does not appear to be capturing any data about the LOB from this operation. Since the most common occurrence of lob_trim() is from Oracle internally, we will ignore it for now. In the future, it could be supported by streaming out the current LOB in response to a lob_trim(). 2022-04-05 11:12:18,501 ERROR [server] [LogMinerService] [server-job-17] Failed to mine the log org.jumpmind.datasource.oracle.OracleLogMinerException: Unsupported dmlType: 'LOB_TRIM' sql=DECLARE loc_c CLOB; buf_c VARCHAR2(6156); loc_b BLOB; buf_b RAW(6156); loc_nc NCLOB; buf_nc NVARCHAR2(6156); e_len NUMBER; BEGIN select "DATA" into loc_c from "ELONG"."MYTEST" where "ID" = '1' for update; dbms_lob.trim(loc_c, 4); END; collectionSchema=ELONG.MYTEST [ID:NUMBER, DATA:STRING ] at org.jumpmind.datasource.oracle.OracleStatementParser.parseSql(OracleStatementParser.java:84) at org.jumpmind.datasource.oracle.LogRowConverter.convertToDataObject(LogRowConverter.java:53) at org.jumpmind.datasource.oracle.OracleLogMiner.convertRow(OracleLogMiner.java:442) at org.jumpmind.datasource.oracle.OracleLogMiner.readDataObject(OracleLogMiner.java:428) at com.jumpmind.symmetric.log.TransactionMiner.hasData(TransactionMiner.java:159) at com.jumpmind.symmetric.console.service.impl.LogMinerService.mineDataForTables(LogMinerService.java:149) at com.jumpmind.symmetric.console.service.impl.LogMinerService.mineData(LogMinerService.java:79) at org.jumpmind.symmetric.job.LogMinerJob.doJob(LogMinerJob.java:44) at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:201) at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:268) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) | ||||
Steps To Reproduce | create table mytest (id integer primary key, data clob) / insert into mytest values (1, 'eric123') / create or replace procedure eric as lob_loc clob; begin select data into lob_loc from mytest where id = 1 for update; dbms_lob.trim(lob_loc, 4); commit; end eric; / call eric() / | ||||
Tags | dialect: oracle, log miner | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2022-04-05 17:12 | elong | New Issue | |
2022-04-05 17:12 | elong | Status | new => assigned |
2022-04-05 17:12 | elong | Assigned To | => elong |
2022-04-05 17:12 | elong | Tag Attached: dialect: oracle | |
2022-04-05 17:12 | elong | Tag Attached: log-miner | |
2022-04-05 17:21 | elong | Status | assigned => resolved |
2022-04-05 17:21 | elong | Resolution | open => fixed |
2022-04-05 17:21 | elong | Fixed in Version | => 3.13.4 |
2022-04-11 19:29 | admin | Status | resolved => closed |
2022-08-09 17:57 | admin | Tag Renamed | log-miner => log miner |