我是靠谱客的博主 自然眼睛,最近开发中收集的这篇文章主要介绍oracle exp&imp之IMP-00037: Character set marker unknown,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
最近,为地市技术人员做技术支持,碰到一个很奇怪的问题,别人给他提供一个exp的dmp文件,他在本地进行imp的时候报错:IMP-00037:Character set marker unknown
报错信息如下:
C:Userslocaladmin>imp test/oracle file=C:UserslocaladminDesktopjzdjxx.dmp log=C:UserslocaladminDeskto
pjzdjxx.log
Import: Release 11.2.0.1.0 - Production on 星期四 4月 27 11:34:16 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
IMP-00037: 未知字符集标记
IMP-00000: 未成功终止导入
C:Userslocaladmin>
经测试,不是expdp导出的dmp文件,测试信息如下:
C:Userslocaladmin>impdp test/oracle directory=MYEXPDP dumpfile=jzdjxx.dmp logfile=jzdjxx.log
Import: Release 11.2.0.1.0 - Production on 星期四 4月 27 11:31:58 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-31619: 转储文件 "c:jzdjxx.dmp" 无效
在linux操作系统上,查看该dmp文件的字符集,提示信息如下:
[root@docmaster ~]# cat jzdjxx.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6
5353
正确的字符集标识应该是
0354
数据库中的字符集对照码验证:
SQL> select nls_charset_name(to_number('5353','xxxx')) from dual;
NLS_CHARSET_NAME(TO_NUMBER('5353','XXXX'
----------------------------------------
SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
NLS_CHARSET_NAME(TO_NUMBER('0354','XXXX'
----------------------------------------
ZHS16GBK
查询oracle官方metalink,提示exp的dmp文件损坏:
报错信息如下:
C:Userslocaladmin>imp test/oracle file=C:UserslocaladminDesktopjzdjxx.dmp log=C:UserslocaladminDeskto
pjzdjxx.log
Import: Release 11.2.0.1.0 - Production on 星期四 4月 27 11:34:16 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
IMP-00037: 未知字符集标记
IMP-00000: 未成功终止导入
C:Userslocaladmin>
经测试,不是expdp导出的dmp文件,测试信息如下:
C:Userslocaladmin>impdp test/oracle directory=MYEXPDP dumpfile=jzdjxx.dmp logfile=jzdjxx.log
Import: Release 11.2.0.1.0 - Production on 星期四 4月 27 11:31:58 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-31619: 转储文件 "c:jzdjxx.dmp" 无效
在linux操作系统上,查看该dmp文件的字符集,提示信息如下:
[root@docmaster ~]# cat jzdjxx.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6
5353
正确的字符集标识应该是
0354
数据库中的字符集对照码验证:
SQL> select nls_charset_name(to_number('5353','xxxx')) from dual;
NLS_CHARSET_NAME(TO_NUMBER('5353','XXXX'
----------------------------------------
SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
NLS_CHARSET_NAME(TO_NUMBER('0354','XXXX'
----------------------------------------
ZHS16GBK
查询oracle官方metalink,提示exp的dmp文件损坏:
最后
以上就是自然眼睛为你收集整理的oracle exp&imp之IMP-00037: Character set marker unknown的全部内容,希望文章能够帮你解决oracle exp&imp之IMP-00037: Character set marker unknown所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复