2013年3月21日 星期四

[linux] 安裝oracle client & sqlplus & 設定PHP連結oracle


1. 安裝alien
sudo apt-get install alien

2. 下載rpm
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.i386.rpm
oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm

3. 安裝rpm

sudo alien -i oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.i386.rpm
sudo alien -i oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm

程式會安裝到 /usr/lib/oracle/11.2/client

4. 執行 sqlplus 時若說沒有 libsqlplus.so,新增 oracle.conf 到 /etc/ld.so.conf.d/
sudo vim /etc/ld.so.conf.d/oracle.conf
內容:
/usr/lib/oracle/11.2/client/lib

5. 執行 ldconfig
sudo ldconfig

6. 若 sqlplus 說沒有 libaio1,就安裝
sudo apt-get install libaio1

7. 建立/etc/tnsnames.ora
sudo vim /etc/tnsnames.ora
內容:

[DBNAME] =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = [IP ADDRESS])(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = [dbname])
    )
  )

8. 連結資料庫
sqlplus USERNAME@DBNAME

=======================設定讓PHP可連結Oracle=======================

9. 下載
instantclient-basic-linux-11.2.0.3.0.zip
instantclient-sdk-linux-11.2.0.3.0.zip
oci8-1.4.9.tgz

10. 新增目錄
mkdir -p /opt/oracle/instantclient
並將兩個zip移到該目錄,並解壓縮

11.
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig
手工增加link
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

12. 解壓縮oci8-1.4.9.tgz
13. 到oci8-1.4.9資料夾下,執行以下指令
./configure --with-oci8=share,instantclient,/opt/oracle/instantclient
make
make install

14. 修改/etc/php5/apache2/php.ini
增加extension=oci8.so

15. 重啟

16. 連結網頁,用測試有沒有出現oci8

17. 連結網頁,用已下指令測試有沒有成功


$c=OCILogon(“USERNAME“,"密碼“,"DBNAME");

if($c!=false)//判斷是否連結成功
echo “連結成功!";
else
echo “連結失敗!";
?>

沒有留言:

張貼留言