linux迁移oracle客户端的方法。

linux迁移oracle客户端的方法

    linux上安装完成oracle客户端后,对于相同配置的主机我们不需要重新安装客户端,只需要将client打包,上传到目标主机就可以了。具体的操作细节还需要注意将lib文件加入到系统配置文件中,使操作系统可以正常的调用so文件。

注:以下操作在 redhat操作系统中实施成功
版本如下:
Linux 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 GNU/Linux

详细操作步骤如下:

以下操作在源主机上实施:

1. cd /usr/lib/oracle
2. tar -zcvf 11.1.0.1_oracle.tar.gz 11.1.0.1/
3. scp 11.1.0.1_oracle.tar.gz 10.16.40.18:/usr/lib/

以下操作在目标主机上实施:

4. cd /usr/lib
5. umask 002 ; mkdir oracle; tar -zxvf 11.1.0.1_oracle.tar.gz -C oracle
6. cd oracle/11.1.0.1
7. ls -l  #查看各个目录的权限是否正确。
# ls -al
总计 16
drwxr-xr-x 4 root root 4096 10-22 14:57 .
drwxr-xr-x 3 root root 4096 12-20 15:38 ..
drwxr-xr-x 4 root root 4096 10-22 14:41 client64
drwxrwxrwx 3 root root 4096 10-22 14:57 network
8. 切换到lib库文件所在的目录,记录下这个路径,后面会用到。
# pwd
/usr/lib/oracle/11.1.0.1/client64/lib
9. 在需运行sqlplus命令的用户下添加环境变量

export LANG=zh_CN.GB18030
export LC_CTYPE=zh_CN.GB18030
export ORACLE_SID=ORA_SID #sid 为你的数据库SID,请按实际修改。也可以不加
export LANG=zh_CN.GB18030
export LC_CTYPE=zh_CN.GB18030
export ORACLE_BASE=/usr/lib/oracle/11.1.0.1
export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64
export TNS_ADMIN=$ORACLE_BASE/network/admin
export PATH=$PATH:$ORACLE_HOME/bin:$TNS_ADMIN:$ORACLE_BASE
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

10. 测试是否成功执行sqlplus

$ sqlplus
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
出现报错。提示没有找到相关的libsqlplus.so,诊断是库文件没有加入系统lib path和cache中。需要手工添加:
方法1:将lib文件做成软链接到操作系统/usr/lib/ /lib64等目录下,使用ln -s 命令并指定相关参数就可以。
方法2: 在/etc/ld.so.config文件中加入oracle client lib 路径完成注册。

11. 在/etc/ld.so.conf 加入第8步中记录下的路径.
echo '/usr/lib/oracle/11.1.0.1/client64/lib' >> /etc/ld.so.conf

12. 更新系统ld
# ldconfig |grep oracle
#
执行 ldconfig 加载库文件到系统中

# ldconfig -p |grep oracle 复核
# ldconfig -p|grep oracle
        libsqlplusic.so (libc6,x86-64) => /usr/lib/oracle/11.1.0.1/client64/lib/libsqlplusic.so
        libsqlplus.so (libc6,x86-64) => /usr/lib/oracle/11.1.0.1/client64/lib/libsqlplus.so
        libocijdbc11.so (libc6,x86-64) => /usr/lib/oracle/11.1.0.1/client64/lib/libocijdbc11.so
        libociei.so (libc6,x86-64) => /usr/lib/oracle/11.1.0.1/client64/lib/libociei.so
        libocci.so.11.1 (libc6,x86-64) => /usr/lib/oracle/11.1.0.1/client64/lib/libocci.so.11.1
        libnnz11.so (libc6,x86-64) => /usr/lib/oracle/11.1.0.1/client64/lib/libnnz11.so
        libclntsh.so.11.1 (libc6,x86-64) => /usr/lib/oracle/11.1.0.1/client64/lib/libclntsh.so.11.1

13. 运行sqlplus查看是否正常。
$ sqlplus -v

SQL*Plus: Release 11.1.0.6.0 - Production

OK

作者: wood016   发布时间: 2010-12-20