背景:创建create table test_20220106 as select * from test,报ORA-00997: 非法使用 LONG 数据类型 错误,
使用to_lob() 函数进行转化虽然不报错,但是long类型字段为空,所以采用expdp/impdp方式解决。
#导出表
expdp schema/*** tables=test directory=DATA_DIR dumpfile=test.dmp logfile=test.log query=\"where requestid in \(333623,326973,327131,326842\) and remark is not null\" content=data_only
expdp \'\/ as sysdba\' tables=schema.test directory=DATA_DIR dumpfile=test1.dmp logfile=test1.log query=\"where requestid in \(333623,326973,327131,326842\) and remark is not null\" content=data_only
#remap导入表
impdp schema/*** remap_table=schema.test:test_202201016 directory=DATA_DIR dumpfile=test.dmp logfile=imp_test.log
impdp \'\/ as sysdba\' remap_table=schema.test:test_202201016 directory=DATA_DIR dumpfile=test1.dmp logfile=imp_test1.log

在尝试创建新表`createtabletest_20220106`时遇到ORA-00997错误,由于LONG类型导致。使用to_lob()函数转换未成功,因为空的LONG字段。采用expdp/impdp工具进行数据导出和导入解决此问题。通过指定查询条件导出了包含特定requestid和非空remark的表数据,并在导入时使用remap_table选项重定向到新表`test_202201016`。



1186

被折叠的 条评论
为什么被折叠?



