Centos7下安裝OCI環境
前言
前段時間,專案需要對Oracle資料庫進行訪問,由於後端採用C/C++開發,因此選用了OCI介面進行訪問,下面將介紹如何安裝環境
環境
CentOs7
安裝前準備
1、oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64 .rpm
2、oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
3、oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
4、automake-1.11.1.tar.gz
5、autoconf-2.68.tar.gz
6、ocilib-4.1.0-gnu.tar.gz
安裝步驟:許可權請調至root
1、依次執行下列命令
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64 .rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
chmod + /etc/profile
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:/usr/local/lib
export ORACLE_SID=viot
export PATH=$PATH:$ORACLE_HOME/bin
source /etc/profile
cd /usr/lib/oracle/11.2/client64/bin
2、保證本機IP能PING通ORACLE伺服器IP,執行下列命令
./sqlplus TESTUSER0725/[email protected]:1521/orcl
提示:
TESTUSER3G6L為資料庫的使用者名稱
123456為密碼
172.16.1.33為ORACLE資料庫IP
1521為埠
Orcl為SID
3、執行下列命令檢視automake版本資訊
INSTA
如果版本號不為1.11.1則進行安裝automake11.1.1,執行下列命令
tar -xzvf automake-1.11.1.tar.gz
cd automake-1.11.1
./configure
make
make install
如果提示:
configure: error: Autoconf 2.60 or better is required.
Please make sure it is installed and in your PATH.
則進行安裝autoconf-2.68.tar.gz 依次執行下列命令
tar -xzvf autoconf-2.68.tar.gz
cd autoconf-2.68
./configure
make
make install
4 安裝配置OCI
tar -xzvf ocilib-4.1.0-gnu.tar.gz
cd ocilib-4.1.0
./configure --with-oracle-lib-path=/usr/lib/oracle/11.2/client64/lib --with-oracle-headers-path=/usr/include/oracle/11.2/client64
make
make install
5 配置環境變數
echo "/usr/local/lib">>/etc/ld.so.conf
echo /usr/lib/oracle/11.2/client64/lib>>/etc/ld.so.conf
ldconfig
6:gcc main.c -locilib -o client –w
問題及解決方案:
1:LINUX系統下使用OCI介面查詢中文顯示為‘?’的問題
解決方法:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
source /etc/profile
2: 若Linux重啟後出現亂碼或者服務執行失敗,提示.so尋找不到的的問題
解決方法:
vi /etc/profile
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:/usr/local/lib
export ORACLE_SID=viot
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8