我们被另一个团队递交了一个转储文件,这些团队在今年剩下的时间里都离开了.当我们尝试将转储导入我们自己的数据库时,我们收到以下错误:
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上最简单的方法是:
原文链接:https://www.f2er.com/oracle/204873.html#>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