微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

确定现有Oracle数据库转储文件的NLS_LANG设置

我们被另一个团队递交了一个转储文件,这些团队在今年剩下的时间里都离开了.当我们尝试将转储导入我们自己的数据库时,我们收到以下错误
IMP-00038: Could not convert to environment character set's handle

经过一些研究,我们的猜测是我们在源机器的NLS_LANG设置和本地机器之间存在不匹配.我们目前无法检查NLS_LANG在源计算机上的值.

那么,只有一个转储文件在我们手中,有没有办法找出导出完成的NLS_LANG值?从它的外观来看,我们应该能够在运行导入客户端(imp)之前覆盖NLS_LANG环境变量.

另一件事是,转储是从11g实例完成的,我们的imp版本是10.我读到imp不是向前兼容的.这可能是问题(而不是NLS_LANG不匹配)?

在unix上最简单的方法是:
#>imp username/password file=test.dmp show=y

Import: Release 10.2.0.3.0 - Production on Fri Nov 26 08:38:47 2010

copyright (c) 1982,2005,Oracle.  All rights reserved.


Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning,OLAP and Data Mining options

Export file created by EXPORT:V10.02.01 via conventional path
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses WE8ISO8859P1 character set (possible charset conversion)

版本exp / imp是一个问题:
我通常使用V10导出程序并使其连接到V11数据库.
确保你在dev10的oracle_home中的tnsnames.ora中有dev11的别名.

hostname{oracle}# . oraenv
ORACLE_SID = [oracle] ? dev10
hostname{oracle}#
hostname{oracle}#>exp username/password@dev11 full=y dumpfile=dump.exp

原文地址:https://www.jb51.cc/oracle/204873.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐