【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】3.2.3.3
【问题描述】我先用迁移工具将本来oracle11g数据库迁移到了oceanbase oracle模式下A数据库中,然后使用odc工具(4.3.4版本)进行数据导出为csv格式的文件。然后我将此数据库文件导入到oceanbase oracle模式下的B数据库中,导入过程中报错。以下是报错日志:
2025-07-24 15:37:36 [INFO] Splitting data files into 64 MB logical chunks…
2025-07-24 15:37:43 [WARN] Failed to run data transfer task.
java.lang.RuntimeException: java.lang.NullPointerException
at com.oceanbase.tools.loaddump.concurrent.ExecutorTemplate.waitForResult(ExecutorTemplate.java:204) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.splitLargeSubFiles(RecordFileLoader.java:128) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.generateSubFiles(RecordFileLoader.java:101) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.AbstractRecordFileLoader.prepare(AbstractRecordFileLoader.java:288) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.client.LoadClient.loadRecord(LoadClient.java:167) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.odc.plugin.task.obmysql.datatransfer.task.OceanBaseImportJob.startTransferData(OceanBaseImportJob.java:48) ~[?:?]
at com.oceanbase.odc.plugin.task.obmysql.datatransfer.task.BaseOceanBaseTransferJob.call(BaseOceanBaseTransferJob.java:176) ~[?:?]
at com.oceanbase.odc.plugin.task.obmysql.datatransfer.task.BaseOceanBaseTransferJob.call(BaseOceanBaseTransferJob.java:60) ~[?:?]
at com.oceanbase.odc.service.datatransfer.task.DataTransferTask.call(DataTransferTask.java:142) ~[odc-service-4.3.4-20250508.jar!/:?]
at com.oceanbase.odc.service.datatransfer.task.DataTransferTask.call(DataTransferTask.java:101) ~[odc-service-4.3.4-20250508.jar!/:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
at com.oceanbase.odc.common.trace.TraceDecorator.lambda$decorate$0(TraceDecorator.java:40) ~[odc-common-4.3.4-20250508.jar!/:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_292]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_292]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Caused by: java.lang.NullPointerException
at com.oceanbase.tools.loaddump.utils.FileUtils.splitCsvFileUnsafely(FileUtils.java:460) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.splitLargeSubFile(RecordFileLoader.java:200) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.lambda$splitLargeSubFiles$2(RecordFileLoader.java:126) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_292]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
… 3 more
2025-07-24 15:37:44 [WARN] Failed to run data transfer task.
java.lang.RuntimeException: java.lang.NullPointerException
at com.oceanbase.tools.loaddump.concurrent.ExecutorTemplate.waitForResult(ExecutorTemplate.java:204) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.splitLargeSubFiles(RecordFileLoader.java:128) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.generateSubFiles(RecordFileLoader.java:101) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.AbstractRecordFileLoader.prepare(AbstractRecordFileLoader.java:288) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.client.LoadClient.loadRecord(LoadClient.java:167) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.odc.plugin.task.obmysql.datatransfer.task.OceanBaseImportJob.startTransferData(OceanBaseImportJob.java:48) ~[?:?]
at com.oceanbase.odc.plugin.task.obmysql.datatransfer.task.BaseOceanBaseTransferJob.call(BaseOceanBaseTransferJob.java:176) ~[?:?]
at com.oceanbase.odc.plugin.task.obmysql.datatransfer.task.BaseOceanBaseTransferJob.call(BaseOceanBaseTransferJob.java:60) ~[?:?]
at com.oceanbase.odc.service.datatransfer.task.DataTransferTask.call(DataTransferTask.java:142) ~[odc-service-4.3.4-20250508.jar!/:?]
at com.oceanbase.odc.service.datatransfer.task.DataTransferTask.call(DataTransferTask.java:101) ~[odc-service-4.3.4-20250508.jar!/:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
at com.oceanbase.odc.common.trace.TraceDecorator.lambda$decorate$0(TraceDecorator.java:40) ~[odc-common-4.3.4-20250508.jar!/:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_292]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_292]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Caused by: java.lang.NullPointerException
at com.oceanbase.tools.loaddump.utils.FileUtils.splitCsvFileUnsafely(FileUtils.java:460) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.splitLargeSubFile(RecordFileLoader.java:200) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at com.oceanbase.tools.loaddump.loader.record.RecordFileLoader.lambda$splitLargeSubFiles$2(RecordFileLoader.java:126) ~[ob-loader-dumper-4.3.3.1-RELEASE.jar!/:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_292]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
… 3 more
2025-07-24 15:37:44 [INFO] Delete data directory, dir=C:\Users\Administrator\AppData\Roaming\odc\data\data_transfer\66\data, result=false
2025-07-24 15:37:44 [INFO] Deleted file, fileName=MANIFEST.bin, result=true
1 个赞
您好,您提的这个技术问题可能牵涉到 OceanBase 企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:
-
如你所在的企业客户已签署 OceanBase 企业版销售合同,请你联系客户经理;
-
如你所在的企业客户尚未签署 OceanBase 企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。