Oracle数据泵:导出-导入

时间:2019-02-05 16:38:50

标签: database oracle

我们正在将数据库从WE8MSWIN1252迁移到AL32UTF8,数据自动转换为utf8,有时我们会收到错误ORA-12899value too large for column xxx,这是这是正常的,因为非拉丁字符的编码超过一个字节。 我们希望在相同的导出数据和数据结构中实现此目的,然后仅导入数据结构,然后执行Sql脚本以修改列charset:varchar2(4000 byte)变为varchar2(4000 char),最后导出数据。 请问我能否在一次出口和一次进口中做到这一点? 预先感谢您的帮助,

Bilel

2 个答案:

答案 0 :(得分:2)

有导入三个步骤:

  1. 使用CONTENT=ALL的expdp(默认设置)
  2. 带有CONTENT=METADATA_ONLY的impdp
  3. 您的sql脚本来修改列类型
  4. 带有CONTENT=DATA_ONLY的impdp

答案 1 :(得分:0)

通过添加到impdp

,您可以只执行一次导出和导入操作
sqlfile=<schema_creation_script>.sql 

这将使用脚本来创建表,而不是转储文件中的信息