Ubuntu下(xià)安裝Oracle Instant Client步驟
最近需要(yào)寫一個數據遷移腳本,將單一Oracle中的數據遷移到MySQL Sharding集(jí)群,剛好最近在學習python,就用它來練手。
很快搞定了MySQL,隻需要(yào)安裝一個MySQLdb的python模塊就可以(yǐ)了。但是對於Oracle客戶端,不隻需要安裝相應的python模(mó)塊(這(zhè)裏我用了Oracle官方的python模塊——cx_Oracle),還需要安裝Oracle Client,一般選擇Instant Client就足夠了,還需要配置(zhì)tnsnames.ora(當然也可以簡(jiǎn)單的通過host:port/schema訪問)。
下麵(miàn)是具(jù)體步驟。
首先確定版本。因為我們的Oracle數據是在是有點老,所以我(wǒ)選擇了一個比較老的(de)版本——Oracle Instant Client 10.2.0.4。一般從官方網站下載就可以了。下載地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html。這裏要嚴重BS Oracle,居然要先注冊才能下載,這也算了,關鍵是注冊的時候,密碼居然要求有(yǒu)數字有字(zì)母,字母還要有大小寫,還必須至少8位。逼迫我搞了一個比我銀行密碼還要安全的密碼(好吧,現在(zài)我已經忘記我填了什麽了。。)。下載的時候要特別注意(yì),一定要(yào)下載rpm包,zip不知(zhī)道是(shì)什(shí)麽。下basic就可以(yǐ)了。
forrest@Ubuntu:~/Sources$ wget http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
由於是rpm包,在Ubuntu下先將其轉成deb包(bāo):
forrest@Ubuntu:~/Sources$ sudo alien oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
得(dé)到(dào)oracle-instantclient-basic_10.2.0.4-2_amd64.deb。
可以安裝了(le),
forrest@Ubuntu:~/Sources$ sudo dpkg -i oracle-instantclient-basic_10.2.0.4-2_amd64.deb
這樣會安裝在默認的目錄下——/usr/lib/oracle/10.2.0.4/client64/
forrest@Ubuntu:/usr/lib/oracle/10.2.0.4/client64$ ls
bin lib
安裝完成之後,還需(xū)要暴露一些環境變量,否則會報錯:
* import cx_Oracle gave ImportError: libclntsh.so.10.1: cannot open shared object file: No such file or directory until I set LD_LIBRARY_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/
* conn = cx_Oracle.Connection('scott/tiger@xe') gave RuntimeError: Unable to acquire Oracle environment handle until I set ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
forrest@Ubuntu:~/Sources$ sudo vim ~/.profile
在最後添加如下語句:
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
注意到TNS_ADMIN所在目錄其(qí)實並不存(cún)在,是要自(zì)己創建的(這個(gè)也很惡心,我一開始(shǐ)以為還要安裝什麽東東。。)
$ sudo mkdir -p $ORACLE_HOME/network/admin
$ sudo cp tnsnames.ora $ORACLE_HOME/network/admin
如(rú)果你有安裝sqlplus,此時就可以用它來測試安裝是否正確了:
$ sqlplus 'username/password@SID'
不過(guò)linux下的sqlplus太爛,我沒打算安裝,所以留著吧,接下去安裝python模塊(kuài)——cx_Oracle——參考Install cx_Oracle in Ubuntu(http://leojay.blog.163.com/blog/static/1739841912009101165546640/)
關鍵詞:Ubuntu,Oracle
閱讀本文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0