平時Oracle數據庫都安裝在本地或者WindowsServer上進行使用,但由於工做須要,領導要求在虛擬機中安裝Ubuntu來鏈接Windows本地安裝的數據庫,先將操做過程和遇到的問題進行梳理總結java
1.先下載oracle的linux版的客戶端鏈接程序包(下載需註冊Oracle帳戶,免費註冊下載)python
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 基本的動態庫(oci,bocci,jdbc-oci)
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 客戶端sqlplus安裝包linux
(至於sdk,jdbc,devel根據需求按安裝)sql
2.安裝下載的rpm包(在這裏踩不少坑,很無語啊!!!)數據庫
坑1.正常使用rpm命令進行安裝vim
rpm -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpmbash
直接報錯:oracle
error:Failed dependencies:測試
libaio is needed by rpm -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpmspa
直譯:安裝rpm -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm須要libaio的依賴,就是缺乏libaio依賴,沒法安裝
一波操做走你:
坑1.1 沒有libaio依賴,那就裝一唄,
命令:sudo apt-get install libaio
直接報錯: Unable to locate package libaio
坑1.2 沒法定位libaio的程序包,百度一下:須要換一個repository,源很差,更換完源,須要sudo apt-get update
update完以後,再進行安裝sudo apt-get install libaio依然報錯:E: Unable to locate package libaio
(期間在/etc/apt/source.list 添加過ununtu官方源,aliyun的源,中國科技大的源,163的源)
!!!!深呼吸,電腦沒錯,再次嘗試rmp安裝:rpm -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
理所固然報錯:但此次完整的信息都讀了一遍:
報錯信息:
rpm:RPM should not be used directly install RPM packages.use Alien instead!
rpm:However assuming you know what are you doing .....
error:Failed dependencies:
libaio is needed by rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
百度:alien:「alien」能夠在rpm\dpkg\slackware tgz\deb\slp 格式見進行轉換
開始進入正軌:
sudo apt-get install alien 正常
dkpg -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 正常
dkpg -i oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 正常
3. 默認安裝路徑爲(/usr/lib/oracle/11.2/client64)
新建配置文件文件夾:
mkdir -p /usr/lib/oracle/11.2/client64/network/admin
更改文件的權限
chown -R python:python /usr/lib/oracle/11.2/client64/network/admin
4.添加鏈接數據庫所須要的TNS配置文件
cd /usr/lib/oracle/11.2/client64/network/admin/
vim tnsnames.ora(根據本身所要鏈接的oracle進行配置)
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.80.18)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.168.80.6) ) )
5.配置環境變量
vim /home/python/.bashrc
添加以下內容
export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG='simplified chinese_china'.ZHS16GBK export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:$PATH
生效環境變量:source /home/python/.bashrc
6.測試:
echo $ORACLE_HOEM 正常
sqlplus sgcc/root@ORCL 正常