ITPub博客

首页 > 数据库 > Oracle > exp/expdp遭遇ORA-00600: internal error code, arguments: [qmtInit1]

exp/expdp遭遇ORA-00600: internal error code, arguments: [qmtInit1]

原创 Oracle 作者:aspen1982 时间:2012-06-13 10:15:02 0 删除 编辑
关键字: exp expdp ora-00600 arguments:[qmtInit1] arguments: [unable to load XDB library][@more@]

昨天在做一个测试数据库用户数据导出时报了600错误,如下:

. exporting cluster definitions

EXP-00056: ORACLE error 600 encountered

ORA-00600: internal error code, arguments: [qmtInit1], [], [], [], [], [], [], []

EXP-00000: Export terminated unsuccessfully

alert日志还报出:

Errors in file /oracle/admin/ccictst2/udump/ccictst2_ora_2212070.trc:

ORA-00600: internal error code, arguments: [unable to load XDB library], [], [], [], [], [], [], []

无论使用expdp还是exp都报相同错误,在metalink上搜寻的结果:

https://support.oracle.com/CSP/ui/flash.html#tab=KBHome(page=KBHome&id=()),(page=KBNavigator&id=(from=BOOKMARK&bmDocTitle=Export%20Aborts%20with%20ORA-600%20%5BqmtInit1%5D%20or%20ORA-600%20%5Bunable%20to%20load%20XDB%20library%5D%20while%20Exporting%20Cluster%20Definitions&bmDocType=PROBLEM&viewingMode=1143&bmDocID=351650.1&bmDocDsrc=KB))

(节选)

Cause

These errors may be the result if the database was started and the environment variable LD_LIBRARY_PATH was not set, or was set to an incorrect version of $ORACLE_HOME/lib (e.g. to a different $ORACLE_HOME). If during the user level or full database export we are unable to locate the correct version of the libxdb.so / libxdb.sl library, the internal errors may occur.

Unpublished Bug 273085 was filed on the problem, but the errors are due to issues with configuration settings and not due to a problem with Export or Data Pump. The "fix" for the bug in 11.2.x is to generate a more descriptive error message when the configuration problem arises.

Solution

1. Stop the database and the listener.

2. Ensure that the first search referenced in the LD_LIBRARY_PATH is $ORACLE_HOME/lib. If not, correct it using the following example.

Example (replace $ORACLE_HOME with the full path of the Oracle home directory):

csh:

> setenv LD_LIBRARY_PATH=$ORACLE_HOME/lib

> setenv LIBPATH=$ORACLE_HOME/lib

ksh:

> export LD_LIBRARY_PATH=$ORACLE_HOME/lib

> export LIBPATH=$ORACLE_HOME/lib

For Oracle9i and higher on AIX: set environment variable LIBPATH and afterwards, run /usr/sbin/slibclean as root

For Oracle9i and higher on HP-UX, Linux, Solaris, and Tru64: set environment variable LD_LIBRARY_PATH

3. Re-start the database and the listener.

4. Re-run the export.

检查oracle用户的环境变量,发现:

LIBPATH=/oracle/product/db10gr2/lib32:/oracle/product/db10gr2/lib32:/oracle/product/db10gr2/ctx/lib

出现ora600的原因是oracle用户的环境变量设置有误,在64bitOS$ORACLE下应该是

lib而非lib32

按照metalinksolution处理

1.协调用户时间,停库停监听

2.修改oracle用户环境变量文件并重新加载

3.root用户下运行slibclean

#./ slibclean

4.重启数据库和监听

再次执行expdp,顺利完成。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21129591/viewspace-1058503/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-07-06

  • 博文量
    24
  • 访问量
    58422