linux上安装oracle客户端

  • Oracle完整客户端安装文档

-------------------------------------------------------------------------
1、在某数据库服务器压缩oracle软件,

假设$RACLE_BASE=/home/oracle/app/oracle

cd /home/oracle/app/

tar czvf Oracle_client.tar.gz /home/oracle/app/oracle

chmod 777 Oracle_client.tar.gz

 

 

2、在需要安装oracle客户端上的主机上操作

1)从Oracle服务器上拷贝oracle打包软件

 scp root@10.112.24.25:/home/oracle/app/Oracle_client.tar.gz /opt/oracle/
 cd /opt/oracle;

tar xzvf Oracle_client.tar.gz

把解压后的文件,copy到相应目录下,确保文件的路径如下,方便后面的环境变量设置

 

 2)配置环境变量

把下面添加到 /etc/profile 的最后

export ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}

export TNS_ADMIN=$ORACLE_HOME/network/admin

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin

 

 让它生效:source ~/.profile

3)配置tnsnames.ora

复制代码
[root@zabbix-db-test admin]# cat tnsnames.ora
LISTENER_XBPRDCDB =
  (ADDRESS = (PROTOCOL = TCP)(HOST = esbdbuat)(PORT = 1521))

# CDB
esbuatdb =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = esbdbuat)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = esbuatdb)
    )
  )

# PDB
XBUATPDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = esbdbuat)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XBUATPDB)
    )
  )


[root@zabbix-db-test admin]# pwd
/home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin
复制代码

4)验证

复制代码
[root@zabbix-db-test admin]# tnsping XBUATPDB

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 30-NOV-2022 17:56:09

Copyright (c) 1997, 2016, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = esbdbuat)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XBUATPDB)))
OK (10010 msec)
[root@zabbix-db-test admin]# sqlplus zabbix/zabbix@XBUATPDB

SQL*Plus: Release 12.2.0.1.0 Production on Wed Nov 30 17:56:33 2022

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Last Successful login time: Wed Nov 30 2022 17:23:29 +08:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL>
复制代码

-------------------------------------------------------------------------

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、测试连接

posted @   chunchun868  阅读(4718)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示