EXP-00091-错误解决

今天使用Oracle exp命令的时候无意中发现一个错误“EXP-00091”,以前也遇到过,只是没有在意,因为“EXP-00091”虽然是个错误,但并没有影响导入的结果。说起这个“EXP-00091”错误,还是笔者在给同事演示导入的时候发现的。。。。,当时从一个linux的机器上导出dmp文件,然后从另一台机器上导入这个文件,结果就报了一堆“EXP-00091”错误。。。,但后来观察数据库并没有数据异常或者乱码,因此就没深究。今天同事使用我的备份脚本的时候也发现了这个问题,于是深究下为什么。
通过一翻google后发现,“EXP-00091”问题是exp工具所在的环境变量中的NLS_LANG与DB中的NLS_CHARACTERSET不一致导致的。看看我的脚本第一句:

  1. //设置环境变量为“SIMPLIFIED CHINESE_CHINA.AL32UTF8”  
  2. export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8';  

那数据库中的NLS_LANG是什么呢?
执行结果:

  1. SQL>select userenv('language') from dual;  
  2.   
  3. USERENV('LANGUAGE')  
  4. ----------------------------------------------------  
  5. AMERICAN_AMERICA.ZHS16GBK  

原来我的Oracle用的是”AMERICAN_AMERICA.ZHS16GBK”,果然是不一致,那就改变下备份脚本吧。
直接修改为:

  1. export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'  

然后运行exp,错误不见了。该方法经测试导入数据库一切正常。至此EXP-00091问题,彻底解决。
注意:数据库版本 Oracle 10g XE


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值