Oracle client客户端简易安装网上文档一

时间:2023-03-09 01:47:21
Oracle client客户端简易安装网上文档一

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

这是需要执行sqlldr命令时要做的工作,将服务器端的配置文件,复制到客户端中。

Linux下精简版的oracle客户端配置使用sql load(sqlldr)

Linux下安装了精简版的oracle客户端(参考博文《Linux下Oracle client客户端简便安装》),却只可使用sqlplus,后需要使用sql load,需要对客户端进行简单的升级。

解决方案:将服务端sqlldr命令及相关文件拷贝到客户端电脑下
[root@server ~]scp $ORACLE_HOME/bin/sqlldr root@ip_client:$ORACLE_HOME/bin/sqlldr
[root@server ~]scp $ORACLE_HOME/network/mesg/* root@ip_client:$ORACLE_HOME/network/mesg/
[root@server ~]scp $ORACLE_HOME/rdbms/mesg/ulus.msb root@ip_client:$ORACLE_HOME/rdbms/mesg/ulus.msb
[root@server ~]scp $ORACLE_HOME/lib/libclntsh.so root@ip_client:$ORACLE_HOME/lib/libclntsh.so
将文件复制结束后进行权限赋予。

--赋予sqlplus,sqlldr执行权限

cd $ORACLE_HOME

chmod u+x sqlplus sqlldr

如果出现   Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL[etl@m1 instantclient_10_2]$^C错误

找到这些文件后,把这些文件拷贝到Instant Client的安装目录下(/usr/local/instantclient_10_2)下相应的目录:/usr/local/instantclient_10_2/rdbms/mesg 以及 /usr/local/instantclient_10_2/network/mesg下。OK,现在可以使用SQL*LOADER了。

此时你需要从数据库服务器的安装目录的rdbms/mesg下拷贝expus.msb、impus.msb过来,问题即可解决。

Oracle client客户端简易安装网上文档一

另外如果执行导入数据时报如下错误

[root@server ~]sqlldr username/password@orcl_sid control='/opt/oracle/sqlload.ctl'

sqlldr: symbol lookup error: sqlldr: undefined symbol: sldext

则可能是由于
$ORACLE_HOME/network/mesg/tnsus.msb和 $ORACLE_HOME/rdbms/mesg/ulus.msb
这两个文件的版本与本地的client的版本不一致的原因,导致sqlldr在control=这一段报错
解决方法可参照上面,从server端scp 一份$ORACLE_HOME/lib/libclntsh.so到client的$ORACLE_HOME/lib/目录下