共計 4625 個字符,預計需要花費 12 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
怎么在 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 位,系統版本是 CentOS8,然而服務器 oracle 數據庫是 32 位的,所以我首先想到安裝 32 位的 oracle 客戶端
進入 oracle 官網下載
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(聽別人說這個包也可以不下,我懶,不試)
rpm 格式包詳解
oracle-instantclient19.5-basic-19.5.0.0.0-1.i386.rpm
–基礎包,為了運行 OCI、OCCI、JDBC-OCI 這幾個應用程序;oracle-instantclient19.5-sqlplus-19.5.0.0.0-1.i386.rpm
–補充包 / 文件,是為了運行 sql*plus 的即時客戶端;oracle-instantclient19.5-devel-19.5.0.0.0-1.i386.rpm
–包含頭文件和示例文件,為開發 Oracle 應用程序的即時客戶端;oracle-instantclient19.5-odbc-19.5.0.0.0-1.i386.rpm
–補充包 / 文件,為運行 ODBC 環境附加庫;oracle-instantclient19.5-jdbc-19.5.0.0.0-1.i386.rpm
–補充 JDBC 下的 XA、國際標準、行集操作;
依次安裝
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
安裝的文件默認放在兩個位置:
頭文件:/usr/include/oracle/19.5/client/ 下,如果在使用時報錯找不到頭文件,記得看路徑是否是這個。
包文件:/usr/lib/oracle/19.5/client/ 下,包含 {bin、lib} 兩個文件夾;
創建監聽文件,并添加內容
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 服務器,所以是直接復制服務器下的 tnsnames.ora 文件放到 admin 下就可以了
配置環境變量 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
即可使配置即時生效
之后連接數據庫測試
sqlplus /nolog
尷尬,提示:
bash: /bin/sqlplus: 沒有此一檔案或目錄
排查原因,這位老哥讓我死心了:ubuntu 14.04 oracle 11g 64 位數據庫安裝圖文教程
老老實實卸載重裝 64 位嗷 T_T
oracle64 位客戶端安裝
先看看安裝了哪些
rpm -qa | grep oracle
發現 3 個待宰羔羊
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
考慮到三者之間可能會有依賴關系,rpm - e 不夠強力,所以直接加上–nodeps,簡單粗暴
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 官網下載
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
創建監聽文件,并添加內容,這邊 19.5 后面的 client 多了個 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 服務器,所以是直接復制服務器下的 tnsnames.ora 文件來用就可以了
配置環境變量 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
即可使配置即時生效
之后連接數據庫測試
sqlplus /nolog
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
咋又報錯了,我容易嗎我,555~
可以看到,這個錯誤的關鍵字是 libnsl.so.1,biying 一下~
原來是缺少庫文件
這里安裝庫包
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
到這里證明已經安裝成功,遠程連接可用如下形式:
sqlplus scott/123456:192.168.111.111:1521/orcl
按理來說目前我是可以連接 oracle 數據庫了,但是,沒有那么簡單。。。。輸入連接命令后提示:
ERROR:
ORA-12170: TNS:Connect timeout occurred
照例,biying 一下~
這位老哥說的不錯,ORA-12170:TNS connect timeout occurred
果然,ping 不通服務器。
下面就是聯系網管打一頓了
~————————————-
ping 通網絡后,連接如下
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
關于怎么在 CentOS8 系統中安裝 oracle 客戶端問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。
向 AI 問一下細節