CentOS8下安裝oracle客戶端完整(填坑)過程分享(推薦)
oracle32位客戶端安裝
首先uname -a
Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
可以看到我的電腦是64位,系統(tǒng)版本是CentOS8,然而服務(wù)器oracle數(shù)據(jù)庫(kù)是32位的,所以我首先想到安裝32位的oracle客戶端
進(jìn)入oracle官網(wǎng)下載
oracle-instantclient19.5-basic-19.5.0.0.0-1.i386.rpm oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.i386.rpm oracle-instantclient19.5-devel-19.5.0.0.0-1.i386.rpm(聽別人說這個(gè)包也可以不下,我懶,不試)
rpm格式包詳解
oracle-instantclient19.5-basic-19.5.0.0.0-1.i386.rpm –基礎(chǔ)包,為了運(yùn)行OCI、OCCI、JDBC-OCI 這幾個(gè)應(yīng)用程序; oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.i386.rpm –補(bǔ)充包/文件,是為了運(yùn)行sql*plus的即時(shí)客戶端; oracle-instantclient19.5-devel-19.5.0.0.0-1.i386.rpm –包含頭文件和示例文件,為開發(fā)Oracle應(yīng)用程序的即時(shí)客戶端; oracle-instantclient19.5-odbc-19.5.0.0.0-1.i386.rpm –補(bǔ)充包/文件,為運(yùn)行ODBC環(huán)境附加庫(kù); oracle-instantclient19.5-jdbc-19.5.0.0.0-1.i386.rpm –補(bǔ)充JDBC下的XA、國(guó)際標(biāo)準(zhǔn)、行集操作;
依次安裝
rpm -ivh oracle-instantclient19.5-basic-19.5.0.0.0-1.i386.rpm rpm -ivh oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.i386.rpm rpm -ivh oracle-instantclient19.5-devel-19.5.0.0.0-1.i386.rpm
安裝的文件默認(rèn)放在兩個(gè)位置:
頭文件:/usr/include/oracle/19.5/client/ 下,如果在使用時(shí)報(bào)錯(cuò)找不到頭文件,記得看路徑是否是這個(gè)。
包文件:/usr/lib/oracle/19.5/client/ 下,包含{bin、lib}兩個(gè)文件夾;
創(chuàng)建監(jiān)聽文件,并添加內(nèi)容
vim /usr/lib/oracle/19.5/client/lib/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = *SID*) ) )
這里我是要連公司的oracle服務(wù)器,所以是直接復(fù)制服務(wù)器下的tnsnames.ora文件放到admin下就可以了
配置環(huán)境變量 vim /etc/profile,添加
#oracle19.5 export ORACLE_BASE=/usr/lib/oracle/19.5 export ORACLE_VERSION=19.5 export ORACLE_HOME=/usr/lib/oracle/$ORACLE_VERSION/client export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export SQLPATH=$ORACLE_HOME/lib/network/admin export TNS_ADMIN=$ORACLE_HOME/lib/network/admin export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 #export NLS_LANG="Simplified Chinese_china".ZHS16GBK export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
配置保存后
source /etc/profile
即可使配置即時(shí)生效
之后連接數(shù)據(jù)庫(kù)測(cè)試
sqlplus /nolog
尷尬,提示:
bash: /bin/sqlplus: 沒有此一檔案或目錄
排查原因,這位老哥讓我死心了:ubuntu 14.04 oracle 11g 64位數(shù)據(jù)庫(kù)安裝圖文教程
老老實(shí)實(shí)卸載重裝64位嗷T_T
oracle64位客戶端安裝
先看看安裝了哪些
rpm -qa | grep oracle
發(fā)現(xiàn)3個(gè)待宰羔羊
oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.i386 oracle-instantclient19.5-basic-19.5.0.0.0-1.i386 oracle-instantclient19.5-devel-19.5.0.0.0-1.i386
考慮到三者之間可能會(huì)有依賴關(guān)系,rpm -e不夠強(qiáng)力,所以直接加上–nodeps,簡(jiǎn)單粗暴
rpm -e --nodeps oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.i386 rpm -e --nodeps oracle-instantclient19.5-basic-19.5.0.0.0-1.i386 rpm -e --nodeps oracle-instantclient19.5-devel-19.5.0.0.0-1.i386
然后老套路,下載64位包:oracle官網(wǎng)下載
oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.x86_64.rpm oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm
安裝
rpm -ivh oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm rpm -ivh oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.x86_64.rpm rpm -ivh oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm
創(chuàng)建監(jiān)聽文件,并添加內(nèi)容,這邊19.5后面的client多了個(gè)64~
vim /usr/lib/oracle/19.5/client64/lib/network/admin/tnsnames.ora加入 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = *SID*) ) )
這里我是要連公司的oracle服務(wù)器,所以是直接復(fù)制服務(wù)器下的tnsnames.ora文件來用就可以了
配置環(huán)境變量 vim /etc/profile,添加
#oracle19.5 export ORACLE_BASE=/usr/lib/oracle/19.5 export ORACLE_VERSION=19.5 export ORACLE_HOME=/usr/lib/oracle/$ORACLE_VERSION/client64 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export SQLPATH=$ORACLE_HOME/lib/network/admin export TNS_ADMIN=$ORACLE_HOME/lib/network/admin export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 #export NLS_LANG="Simplified Chinese_china".ZHS16GBK export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
配置保存后
source /etc/profile
即可使配置即時(shí)生效
之后連接數(shù)據(jù)庫(kù)測(cè)試
sqlplus /nolog sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
咋又報(bào)錯(cuò)了,我容易嗎我,555~
可以看到,這個(gè)錯(cuò)誤的關(guān)鍵字是libnsl.so.1,biying一下~
原來是缺少庫(kù)文件
這里安裝庫(kù)包
dnf install libnsl
再輸入
sqlplus /nolog SQL*Plus: Release 19.0.0.0.0 - Production on Sat Dec 28 14:21:33 2019 Version 19.5.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. SQL>
到這里證明已經(jīng)安裝成功,遠(yuǎn)程連接可用如下形式:
sqlplus scott/123456:192.168.111.111:1521/orcl
按理來說目前我是可以連接oracle數(shù)據(jù)庫(kù)了,但是,沒有那么簡(jiǎn)單。。。。輸入連接命令后提示:
ERROR:
ORA-12170: TNS:Connect timeout occurred
照例,biying一下~
這位老哥說的不錯(cuò),ORA-12170:TNS connect timeout occurred
果然,ping不通服務(wù)器。
下面就是聯(lián)系網(wǎng)管打一頓了
~-------------------------------------
ping通網(wǎng)絡(luò)后,連接如下
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
原來我們公司服務(wù)器oracle也是64位T-T。。。。
總結(jié)
以上所述是小編給大家介紹的CentOS8下安裝oracle客戶端完整(填坑)過程分享,希望對(duì)大家有所幫助!
相關(guān)文章
利用Oracle數(shù)據(jù)庫(kù)發(fā)送郵件的實(shí)例代碼
本文給大家利用oracle數(shù)據(jù)庫(kù)發(fā)送郵件的實(shí)例,代碼簡(jiǎn)單易懂,試用性非常高,對(duì)此文感興趣的朋友一起學(xué)習(xí)吧2016-09-09
[Oracle] 如何使用觸發(fā)器實(shí)現(xiàn)IP限制用戶登錄
在Oracle里,不像MySQL那樣方便,可以直接在用戶上進(jìn)行IP限制,Oracle要實(shí)現(xiàn)用戶級(jí)別的IP限制,可以使用觸發(fā)器來迂回實(shí)現(xiàn),以下就是示例,需要的朋友可以參考下2013-07-07
關(guān)于Oracle listener日志解析利器的使用方法
這篇文章主要跟大家分享了關(guān)于Oracle listener日志解析利器的使用方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03
oracle SCN跟TIMESTAMP之間轉(zhuǎn)換
本文將詳細(xì)介紹oracle SCN跟TIMESTAMP之間轉(zhuǎn)換,需要的朋友可以參考下2012-11-11
Oracle數(shù)據(jù)庫(kù)丟失表排查思路實(shí)戰(zhàn)記錄
相信大家無論是開發(fā)、測(cè)試還是運(yùn)維過程中,都可能會(huì)因?yàn)檎`操作、連錯(cuò)數(shù)據(jù)庫(kù)、用錯(cuò)用戶、語句條件有誤等原因,導(dǎo)致錯(cuò)誤刪除、錯(cuò)誤更新等問題,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)丟失表排查思路的相關(guān)資料,需要的朋友可以參考下2022-06-06
解析如何查看Oracle數(shù)據(jù)庫(kù)中某張表的字段個(gè)數(shù)
本篇文章是對(duì)查看Oracle數(shù)據(jù)庫(kù)中某張表的字段個(gè)數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

