Oracle 导出数据时出现 Table xx contains one or more CLOB columns 错误,这个是说表里面有多个 clob 类型,不能导出
PLSQL 导出方式有三种,第一种导出. dmp 文件,它是二进制文件,通用性比较好,可以跨平台使用。第二种导出. sql 文件,它的好处在于可以看见 sql 语句,适合数据量小的情况,而且不能有大字段内容(blob、clob、long)。第三种导出. pde 文件,它是 plsql 特殊格式,只有 plsql 认识它,其它编译器不认识。
遇到上面这个问题可以使用第一种导出方式导出内容。
导入的时候可能会遇到外键冲突,这时我们需要先屏蔽掉外键约束,然后导入,然后在打开外键约束。
屏蔽外键的 sql:
select 'alter table' || table_name || 'disable constraint' || constraint_name || ';' from user_constraints where constraint_type = 'R'
恢复外键约束的 sql:
select 'alter table' || table_name || 'enable constraint' || constraint_name || ';' from user_constraints where constraint_type = 'R'
上面的脚本只是拼接出对应的表的外键操作,将查询出的结果运行一下就可以了。
来源: http://www.linuxidc.com/Linux/2017-12/149799.htm