我正在尝试使用 oracle imp 实用程序导入给定的转储文件。然而; 我面临以下问题。
C:\Users\AD>imp DB_USER/*****@dev1 file=C:\test\db42312.dmp log=C:\test\import2.log
Import: Release 11.2.0.1.0 - Production on Thu Apr 10 13:37:47 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
IMP-00038: Could not convert to environment character set's handle
IMP-00000: Import terminated unsuccessfully
C:\Users\AD>
Run Code Online (Sandbox Code Playgroud)
我的源数据库为 NLS 查询生成以下结果
SQL> select * from v$nls_parameters where parameter in ('NLS_CHARACTERSET','NLS_LANGUAGE');
PARAMETER VALUE
---------- ---------
NLS_LANGUAGE FRENCH
NLS_CHARACTERSET AL32UTF8
SQL>
Run Code Online (Sandbox Code Playgroud)
我的目标数据库产生以下结果:
SQL> select * from v$nls_parameters where parameter in ('NLS_CHARACTERSET','NLS_LANGUAGE');
PARAMETER VALUE
---------- ---------
NLS_LANGUAGE AMERICAN
NLS_CHARACTERSET AL32UTF8
SQL>
Run Code Online (Sandbox Code Playgroud)
我在执行导入命令时遇到的问题似乎是字符集问题。
是否可以将数据库转储导入到我的新(但空白)模式中?请注意,我已经在同一台服务器上拥有其他数据库。
小智 2
根据 Metalink 文档:
导入失败并出现错误 IMP-38(文档 ID 1024237.6)
原因:转储文件已损坏或环境变量设置不正确。
解决方案:处理此问题时需要考虑以下几点:
如果使用 FTP 将导出转储文件从一个位置传输到另一个位置,请确保使用 BINARY 模式发送该文件。
检查转储文件是否未被以任何方式编辑。这不是受支持的活动。
检查环境设置。
确保环境变量LD_LIBRARY_PATH
指向ORACLE_HOME
正在使用的导出二进制文件的正确版本。
LD_LIBRARY_PATH
应设置为$ORACLE_HOME/lib
. 如果设置不正确,导出可执行文件将无法找到正确的 NLS 文件。
如果使用Oracle7.2.2,请确保环境变量ORA_NLS
设置正确。应设置为$ORACLE_HOME/ocommon/nls/admin/data
将环境变量设置NLS_LANG
为导出转储文件的字符集。
导出可能是从使用与目标数据库所用字符集不同的字符集的数据库创建的。
如果一个数据库使用 7 位字符集而另一个数据库使用 8 位字符集,则尤其如此。
归档时间: |
|
查看次数: |
53973 次 |
最近记录: |