您好,登錄后才能下訂單哦!
安裝Oracle客戶端挺費時間的,而且大部分功能都用不到,Oracle官方給出了簡易客戶端,直接解壓就可以使用,下載地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
下面來看安裝步驟:
1、下載安裝包,我這里把所有的都下載下來了
instantclient-basic-linux.x64-12.2.0.1.0.zip
instantclient-basiclite-linux.x64-12.2.0.1.0.zip
instantclient-jdbc-linux.x64-12.2.0.1.0.zip
instantclient-odbc-linux.x64-12.2.0.1.0-2.zip
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.zip
2、unzip解壓
解壓出來一個目錄instantclient_12_2
3、配置環境變量
export ORACLE_HOME=/home/tst1/instantclient_12_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
4、配置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) ) )
5、測試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>
6、安裝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成功
7、安裝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步把整個目錄都拷貝過來了,這里就省事了。
8、安裝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)
安裝成功。
9、安裝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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。