Oracle 12.2簡易客戶端安裝配置

安裝Oracle客戶端挺費時間的,並且大部分功能都用不到,Oracle官方給出了簡易客戶端,直接解壓就可使用,下載地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html html

下面來看安裝步驟:
linux

一、下載安裝包,我這裏把全部的都下載下來了
sql

instantclient-basic-linux.x64-12.2.0.1.0.zipbash

instantclient-basiclite-linux.x64-12.2.0.1.0.ziporacle

instantclient-jdbc-linux.x64-12.2.0.1.0.zipapp

instantclient-odbc-linux.x64-12.2.0.1.0-2.zipide

instantclient-sdk-linux.x64-12.2.0.1.0.zip工具

instantclient-sqlplus-linux.x64-12.2.0.1.0.zip測試

instantclient-tools-linux.x64-12.2.0.1.0.zipthis

二、unzip解壓

解壓出來一個目錄instantclient_12_2

三、配置環境變量

export ORACLE_HOME=/home/tst1/instantclient_12_2

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

export PATH=$ORACLE_HOME:$PATH

四、配置tns

[tst1@rhel7 instantclient_12_2]$ mkdir -p network/admin
[tst1@rhel7 instantclient_12_2]$ cd network/admin/
[tst1@rhel7 admin]$ cat tnsnames.ora 
ora11g =
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.22)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora11g)
    )
  )

五、測試sqlplus,成功

[tst1@rhel7 admin]$ sqlplus zx/zx@ora11g

SQL*Plus: Release 12.2.0.1.0 Production on Thu Nov 16 12:48:33 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

六、安裝sqlldr,我安裝的這個版本的簡易客戶端中有sqlldr,若是沒有的話須要從其餘客戶端或服務端中拷貝,可是我測試執行sqlldr報錯:

[tst1@rhel7 instantclient_12_2]$ sqlldr
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL[tst1@rhel7 instantclient_12_2]$

由於缺乏mesg文件,從服務端把rdbms/mesg下的文件所有拷貝

[tst1@rhel7 instantclient_12_2]$ mkdir -p rdbms/mesg
[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/rdbms/mesg/* rdbms/mesg/

再次執行sqlldr成功

七、安裝oerr,簡易客戶端中沒有oerr命令,須要從服務端拷貝

[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/bin/oerr ./
[tst1@rhel7 instantclient_12_2]$ oerr
/home/tst1/instantclient_12_2/oerr: line 29: /home/tst1/instantclient_12_2/perl/bin/perl: No such file or directory

執行報錯,說明缺乏文件,從服務端拷貝

[tst1@rhel7 instantclient_12_2]$ cp -r /u01/app/oracle/product/12.2/db_home1/perl/* ./
[tst1@rhel7 instantclient_12_2]$ cp -r /u01/app/oracle/product/12.2/db_home1/perl/* ./perl/
[tst1@rhel7 instantclient_12_2]$ oerr ora 1
Can't open perl script "/home/tst1/instantclient_12_2/bin/oerr.pl": (null)
[tst1@rhel7 instantclient_12_2]$ mkdir bin
[tst1@rhel7 instantclient_12_2]$ scp /u01/app/oracle/product/12.2/db_home1/bin/oerr.pl ./bin/
[tst1@rhel7 instantclient_12_2]$ oerr ora 1
Could not open facilities list file: /home/tst1/instantclient_12_2/lib/facility.lis
2
[tst1@rhel7 instantclient_12_2]$ mkdir lib
[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/lib/facility.lis ./lib/
[tst1@rhel7 instantclient_12_2]$ oerr ora 1
00001, 00000, "unique constraint (%s.%s) violated"
// *Cause: An UPDATE or INSERT statement attempted to insert a duplicate key.
//         For Trusted Oracle configured in DBMS MAC mode, you may see
//         this message if a duplicate entry exists at a different level.
// *Action: Either remove the unique restriction or do not insert the key.

注意:oerr也使用到了rdbms/mesg目錄下的文件,只不過第6步把整個目錄都拷貝過來了,這裏就省事了。

八、安裝tnsping,簡易安裝包裏也沒有這個工具,須要從服務端拷貝

[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/bin/tnsping ./
[tst1@rhel7 instantclient_12_2]$ tnsping

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 16-NOV-2017 13:09:12

Copyright (c) 1997, 2016, Oracle.  All rights reserved.

TNS-03502: Message 3502 not found; No message file for product=network, facility=TNS

執行報錯,由於缺乏mesg文件

[tst1@rhel7 instantclient_12_2]$ cp -r /u01/app/oracle/product/12.2/db_home1/network/mesg/ ./network/
[tst1@rhel7 instantclient_12_2]$ tnsping 192.168.56.22:1521/ora11g

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 16-NOV-2017 13:11:04

Copyright (c) 1997, 2016, Oracle.  All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=ora11g))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.22)(PORT=1521)))
OK (10 msec)

安裝成功。

九、安裝exp、imp、expdp、impdp,安裝包中沒有,直接從服務端拷貝

[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/bin/imp ./
[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/bin/exp ./
[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/bin/impdp ./
[tst1@rhel7 instantclient_12_2]$ cp /u01/app/oracle/product/12.2/db_home1/bin/expdp ./

imp和exp測試沒有問題,但expdp和impdp報錯:

[tst1@rhel7 instantclient_12_2]$ expdp

Segmentation fault
[tst1@rhel7 instantclient_12_2]$ impdp

Segmentation fault

查詢MOS找到解決方法,在環境變量中添加export NLS_LANG=American_America.ZHS16GBK

問題解決。

至此,簡單客戶端安裝完成,能夠把整個目錄打個包,給其餘機器安裝時直接解壓,配置環境變量就可使用了。比安裝客戶端方便的多。

備註:

若是在使用某個工具報缺乏庫文件時可使用ldd命令查看該命令缺乏哪一個庫文件,以下所示:

[root@host77 instantclient_11_2]# ldd sqlldr
	linux-vdso.so.1 =>  (0x00007fffe63fe000)
	libclntsh.so.11.1 => not found
	libnnz11.so => not found
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f014b85c000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f014b658000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f014b355000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f014b13c000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f014ad7b000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f014ba8b000)

從上面的輸出能夠看出缺乏libclntsh.so.11.1和libnnz11.so這兩個文件,從服務端拷貝便可。


參考:http://hanqunfeng.iteye.com/blog/1955277

相關文章
相關標籤/搜索