ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 迁移过程中出现的open failed错误

迁移过程中出现的open failed错误

原创 Linux操作系统 作者:yangtingkun 时间:2009-02-23 20:29:56 0 删除 编辑

在数据库的迁移过程中,碰到了这个错误。

 

 

这次迁移主要是切换存储,不涉及Oracle版本和平台的变化,因此整个操作都很简单,唯一需要注意的是,ORACLE_HOME的位置也发生了变化。

在迁移过程中,采用tar的方法,将ORACLE_HOME整个迁移到目标位置,然后解开目录,所有工作都进行完毕后,发现Oracle无法登陆了。

bash-2.03$ sqlplus
ld.so.1: sqlplus: fatal: libclntsh.so.9.0: open failed: No such file or directory
Killed

不止是sqlplus命令,包括lsnrctlexp等所有的可执行命令都会出现上面的错误信息。

怀疑是转移ORACLE_HOME过程中部分信息丢失导致的问题,解决问题的方法也很简单,只需要设置LD_LIBRARY_PATH参数指向$ORACLE_HOME/lib目录,就可以了:

bash-2.03$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
bash-2.03$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 2 23 19:22:04 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to an idle instance.

SQL>

怀疑relink Oracle的可执行文件同样可以解决问题,不过由于是产品数据库,本着谨慎的原则,还是没有进行编译动作,将LD_LIBRARY_PATH环境变量添加到Oracle用户的启动shell脚本中,使得oracle用户登陆系统时自动设置这个参数。

 

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

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10488542