-------------------------------------------------------------------------
Oracle完整客戶端安裝文檔
-------------------------------------------------------------------------
1、在某數據庫服務器壓縮oracle軟件,假設$ORACLE_BASE=/opt/oracle/app/oracle/
# tar czvf /opt/oracle/app/Oracle_client.tar.gz /opt/oracle/app/oracle
# chmod 777 /tmp/Oracle_client.tar.gz
2、在需要安裝oracle客戶端上的主機上操作
1)從Oracle服務器上拷貝oracle打包軟件
$ scp oracle@dbServerIP:/opt/oracle/app/Oracle_client.tar.gz /opt/oracle
$ cd /opt/oracle;tar xzvf Oracle_client.tar.gz
2)配置環境變量
vi /home/oracle/.profile
export ORACLE_BASE=/opt/oracle/oracle
export ORACLE_HOME=/opt/oracle/oracle/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
source ~/.profile
3)配置tnsnames.ora
--$ORACLE_HOME/network/admin/tnsnames.ora
testRAC =
(DESCRIPTION =
(FAILOVER = ON)
(LOAD_BALANCE = yes)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.72.10)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.72.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = racdb)
)
)
4)測試
tnsping AEPFDB
sqlplus /nolog --如果命令執行但無任何輸出,可能為環境變量配置錯誤。
conn system/xxxx@testRAC
select INST_ID,INSTANCE_NUMBER,INSTANCE_NAME,HOST_NAME from gv$instance;
注:如果sqlplus 連接報錯“ORA-21561: OID generation failed”,則是因為/ect/hosts配置錯誤,或者是/etc/hosts配置文件與hostname不一致,或者是/etc/hosts中文件沒有配置(192.168.230.89 NDT),或者沒有配置(127.0.0.1 localhost)。
-------------------------------------------------------------------------
Oracle client客戶端簡易安裝文檔一
-------------------------------------------------------------------------
一、下載軟件包(http://www.oracle.com/technology/tech/oci/instantclient/index.html)
instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sdk-linux.x64-11.2.0.4.0.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0.zip
二、安裝部署過程:
1、添加oracle用戶
# groupadd oinstall
# useradd -m -g oinstall oracle
# echo 'Test@2017' | passwd --stdin oracle
2、創建oracle目錄
# mkdir -p /opt/oracle
# chown -R oracle:oinstall /opt/oracle
# chmod -R 775 /opt/oracle
3、解壓
# su - oracle
---scp -r oracle@192.168.223.52:/opt/oracle/instantclient*.zip /opt/oracle
$ cd /opt/oracle
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip
unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip
unzip instantclient-sqlplus-linux.x64-11.2.0.4.0.zip
4、設置環境變量
export ORACLE_HOME=/opt/oracle/instantclient_11_2
export LD_LIBRARY_PATH=$ORACLE_HOME:${LD_LIBRARY_PATH}
export PATH=$ORACLE_HOME:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
5、tnsnames.ora配置:
mkdir -p /opt/oracle/instantclient_11_2/network/admin
cd /opt/oracle/instantclient_11_2/network/admin
cat > tnsnames.ora << EOF
testdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.78.17)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDB)
(INSTANCE_NAME = testdb1)
)
)
EOF
6、測試
sqlplus system/xxx@testdb
-------------------------------------------------------------------------
Oracle client客戶端簡易安裝安裝文檔二
-------------------------------------------------------------------------
一、從OTN下載oracle客戶端安裝軟件的壓縮包:http://www.oracle.com/technology/tech/oci/instantclient/index.html,根據平台與版本下載
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip:基本包,提供了OCI,OCCI和JDBC-OCI應用程序的支持
oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip:附加的頭文件和makefile文件,部分需要編譯的模板需要,比如編譯php的oci8,和python 的cx_Oracle
oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip:可選安裝,測試,管理等
二、安裝部署過程:
1、建立oracle用戶和組:
# groupadd oinstall
# useradd -m -g oinstall oracle
# echo 'HwOc@2015' | passwd --stdin oracle
2、建立一個Oracle 基本目錄
# mkdir -p /opt/oracle
# chown -R oracle:oinstall /opt/oracle
# chmod -R 775 /opt/oracle
3、將壓縮包解壓到對應的目錄
# su - oracle
$ cd /opt/oracle
$ unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
$ unzip oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
$ unzip oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip
4、設置 ORACLE_HOME和LD_LIBRARY_PATH環境變量,配置TNS_ADMIN變量
注:如果使用sqlplus的話,也設置下PATH環境變量
export ORACLE_HOME=/opt/oracle
export LD_LIBRARY_PATH=/opt/oracle/lib
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/lib:$PATH
#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export SQLPATH=/opt/oracle
#export NLS_LANG=american_america.utf8
#export NLS_LANG='simplified chinese_china'.ZHS16GBK
#export NLS_LANG=american_america.ZHS16GBK
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
5、tnsnames.ora配置:
test =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = *SID*)
)
)
6、sqlplus連接數據庫:
sqlplus user/passwd@IP/SID或sqlplus user/passwd@test
注:如果出現:sqlplus: error while loading shared libraries: /usr/local/oracle/libnnz11.so: cannot restore segment prot after reloc: Permission denied
最簡單的解決方法莫過於將SElinux設置位PERMISSIVE狀態:
# getenforce --Enforcing
# setenforce 0
# getenforce --Permissive
# sqlplus user/passwd@test
7、測試eams項目數據庫訪問組件dboci(對oci的c++封裝)
先建立一個libclntsh.so.11.1的鏈接:
[oracle@localhost oracle]# ln -s libclntsh.so.11.1 libclntsh.so
#include "dboci.h"
#include <iostream>
int main(void)
{
CDbOci oci;
int iret = oci.Open("xfdb", "xfdb", "HBDB");
if (iret < 1)
return 0; //
char*** result = NULL;
int num = oci.Query("select sysdate from dual", &result, 1);
if (num > 0)
{
for (int i=0; i < num; i++)
{
std::cout <<result[i][0] <<std::endl;
}
oci.FreeExecSqlBuf(&result, num, 1);
}
oci.Close();
return 1;
}
scons腳本:
env = Environment()
env.Append(CCFLAGS='-g')
src_files = Split('DBconnect.cpp ../dboci/source/dboci.cpp')
include = Split('/usr/local/oracle/sdk/include ../dboci/include')
lib_path = Split('/usr/local/oracle')
lib_files = Split('clntsh nnz11')
env.Program(target='dbconnect',source = src_files, LIBS=lib_files, LIBPATH=lib_path,CPPPATH=include)
-------------------------------------------------------------------------
Oracle client客戶端簡易安裝網上文檔三
-------------------------------------------------------------------------
一、rpm格式包安裝配置
1、下載以rpm后綴名的包,以11.2.0.4.0 版本為例,其中基礎包basic、sql*plus、devel包建議默認下載,其他包視情況而定:
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基礎包,為了運行OCI、OCCI、JDBC-OCI 這幾個應用程序;
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --補充包/文件,是為了運行sql*plus的即時客戶端;
oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm --補充包/文件,為運行ODBC環境附加庫;
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm --補充JDBC下的XA、國際標准、行集操作;
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含頭文件和示例文件,為開發Oracle應用程序的即時客戶端;
2、使用rpm -ivh [包名] 進行安裝,
如:rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
安裝的文件默認放在兩個位置:
頭文件:/usr/include/oracle/11.2/client64/ 下,如果在使用時報錯找不到頭文件,記得看路徑是否是這個。
包文件:/usr/lib/oracle/11.2/client64/ 下,包含{bin、lib}兩個文件夾;
3、創建文件夾: #mkdir -p /usr/lib/oracle/11.2/client64/network/admin/
4、創建監聽文件,並添加內容 #vim /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = *SID*)
)
)
5、配置環境變量 #vim ~/.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
6、使配置完的環境變量生效 #source ~/.bashrc
7、連接數據庫測試
#sqlplus username/passwd@TEST
二、zip格式包安裝配置(只以basic包做為示例)
1、下載包:oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
2、將包文件解壓到指定目錄下:
#unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
解壓后的文件存放路徑可以自行設定,但是與后面環境變量設定有關,本文設定/home/orcl/ 下。
頭文件目錄:/home/orcl/sdk/include/
庫文件目錄:/home/orcl/instantclient_11_2/
3、創建 network/admin/ 目錄:mkdir -p /home/orcl/instantclient_11_2/network/admin/
4、創建監聽文件 tnsnames.ora
#vim /home/orcl/instantclient_11_2/network/admin/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.232.131)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
5、配置環境變量 #vim ~/.bashrc
export ORACLE_HOME=/home/orcl/instantclient_11_2
export TNS_ADMIN=$ORACLE_HOME/network/adminexport
export NLS_LANG='simplified chinese_china'.ZHS16GBKexport
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
6、配置完成后,將環境變量生效 #source ~/.bashrc
7、測試連接