windows 9i 迁移 AIX 11g 源数据库版本: windows 9i 9.2.0.8 新数据库版本: AIX 11g 11.2.0.4 数据库字符集 源数据库版本: windows 9i zhs16gbk 新数据库版本: AIX 11g zhs16gbk secureCRT 字符集 中文GB2312 $imp neto2_jn/neto fromuser=neto2 touser=neto2 file=jn.dmp log=jn.log Export file created by EXPORT:V10.02.01 via conventional path import done in UTF8 character set and AL16UTF16 NCHAR character set import server uses ZHS16GBK character set (possible charset conversion) export client uses ZHS16GBK character set (possible charset conversion) IMP-00017: following statement failed with ORACLE error 922: "CREATE TABLE "CLPF_申请单" ("ID" VARCHAR2(36), "IID" NUMBER, "单位" VARCHAR2(255), "带人" VARCHAR2(255), "出任务" VARCHAR2(2" "55), " 开始时间" VARCHAR2(255), "申请型" VARCHAR2(255), "注" VARCHAR2(2000), "INPUT_INDEX" NUMBER, "驾驶员电话" VARCHAR2(255)," " "人数" VARCHAR2(50), "数" VARCHAR2(50)) PCTFREE 10 PCTUSED 40 INITR" "ANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFF" "ER_POOL DEFAULT) TABLESPACE "NETO2_JN" LOGGING NOCOMPRESS" "ALTER TABLE "CLPF_申请单" MODIFY DEFAULT" 进行导入时,出现如下报错: IMP-00003: ORACLE error 922 encountered ORA-00922: missing or invalid option IMP-00008: unrecognized statement in the export file: 分析定位问题: 关于oracle字符集这里不再详述,由于exp/imp是客户端工具,在进行imp导入时涉及三方面的字符集 1. oracel server端的字符集; 2. oracle client端的字符集; 3. dmp文件的字符集。 在做数据导入的时候,需要这三个字符集都一致才不会发生异常错误,导入带有中文名称表的时候,NLS_LANG要设置一致 查询源数据库server端的字符集 SQL> select userenv(‘language‘) from dual; USERENV(‘LANGUAGE‘) ---------------------------------------------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK 查询数据库server端的字符集 SQL>select userenv(‘language’) from dual; AMERICAN_AMERICA.ZHS16GBK 源库和新库的NLS_LANG不一致,导致IMP带有中文名称的表时报错 这里临时更改NLS_LANG使得源库与新库NLS_LANG暂时一致,然后重新进行IMP导入 $export NLS_LANG=‘SIMPLIFIED CHINESE_CHINA.ZHS16GBK‘ $imp neto2_jn/neto fromuser=neto2 touser=neto2 file=jn.dmp log=jn.log Import: Release 11.2.0.4.0 - Production on 星期五 2月 14 10:11:35 2014 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Tes 经由常规路径由 EXPORT:V09.02.00 创建的导出文件 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 . 正在将 NETO2_JN 的对象导入到 NETO2_JN . . 正在导入表 "CLZF_申请单" 导入了 12 行 . . 正在导入表 "DB" 导入了 0 行 . . 正在导入表 "DT_工作日日志" 导入了 76 行 . . 正在导入表 "DT_YWMAsdtchS" 导入了 352 行 . . 正在导入表 "DT_YWKOIURAILS_2012" 导入了 352 行 小结: 在使用exp、imp这种客户端工具时,要检查、正确配置源库、新库的字符集,环境变量,终端字符集
9i 迁移11g IMP-00003: ORA-00922: IMP-00008:
时间: 2024-10-13 15:26:54