From: XIE WEN-MFK346 <wenxie at motorola.com>
Date: 2008/9/27
Subject: 安装instant client
To: xiewenxiewen at gmail.com
以10.2.0.4 for linux 64位为例,介绍安装过程
1. 前往oracle otn网站 下载for linux 64的instant client软件,10.2.0.4版本的。下载需要otn帐号
有很多包,描述如下:
下载basic和sqlplus的zip包即可
2.用任一用户登录到linux系统
进到任一目录下,用unzip命令解压instant client安装包
解压后自动创建了目录instantclient_10_2,所有文件都在这目录下
3.编写环境变量配置文件
cat >~/.icprofile <<'EOF'
ORACLE_HOME=$HOME/instantclient_10_2
TNS_ADMIN=$ORACLE_HOME
PATH=$ORACLE_HOME:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:/usr/sbin:/sbin:/usr/local/sbin
LD_LIBRARY_PATH=$ORACLE_HOME
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
CLASSPATH=.:$ORACLE_HOME/ojdbc14.jar
SQLPATH=$ORACLE_HOME
export ORACLE_HOME ORACLE_HOME TNS_ADMIN PATH LD_LIBRARY_PATH NLS_LANG CLASSPATH SQLPATH
EOF
其实,只要设置一个LD_LIBRARY_PATH就能用sqlplus了,其它环境变量请按实际情况编写
调用配置文件,使环境变量生效
. ~/.icprofile
也可以放在~/.bash_profile或/etc/profile里,用户每次登录会自动调用
测试sqlplus连接数据库
sqlplus -S a/a@mgt:/test <
select * from dual;
exit
EOF
连接成功
5.上面用的是10g新增的easy connect连接数据库的,还可以编写tnsnames.ora用传统tnsname解析方式连接
在环境变量TNS_ADMIN指定的那个目录下编写tnsnames.ora文件
cat />>$TNS_ADMIN/tnsnames.ora <
test =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS =
(PROTOCOL = TCP)(HOST = MGT)(PORT = 1521)))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test))
)
EOF
sqlplus测试连接
sqlplus -S a/a@test <
select * from dual;
exit
EOF
到这步instant client就算安装完了
6.文件说明
图1 BASIC_README BASIC说明 classes12.jar 给jdk1.2或1.3用的jdbc库 genezi 不知道干嘛用的 glogin.sql sqlplus环境配置文件 libclntsh.so.10.1 Client code library libnnz10.so Security library libocci.so.10.1 Oracle C++ Call Interface Library(OCCI Library) libociei.so OCI Instant Client data shared library libocijdbc10.so JDBC OCI Library libsqlplusic.so Sqlplus data shared Library libsqlplus.so Sqlplus Library ojdbc14.jar 给jdk1.4或以上版本用的jdbc库 sqlplus Sqlplus可执行程序 SQLPLUS_README SQLPLUS说明
如何给instant client增加tnsping,sqlldr等实用工具
1.从相同版本的服务器上复制可执行程序
cd $ORACLE_HOME/bin
scp tnsping sqlldr s3op2@Perf-app-1:instantclient_10_2/
要相同版本的,如果instant client是10.2.0.4的,那么要从10.2.0.4的服务器上复制文件
不同版本的没试过,不知道行不行
2.在instant client端运行程序, 比如tnsping
报错,说找不到product=network, facility=TNS的信息文件
运行sqlldr,也报出类似的错:
少product=RDBMS, facility=UL信息文件
3.从服务器上复制缺少的信息文件
进入$ORACLE_HOME目录,找到缺少的msb文件,拷到instant client上
cd $ORACLE_HOME
ls -l network/mesg/tns*.msb rdbms/mesg/ul*.msb
后缀是us,说明是英语的
cd $ORACLE_HOME
mkdir -p {network,rdbms}/mesg
scp oracle@mgt:app/oracle/product/10.2/network/mesg/tnsus.msb network/mesg
scp oracle@mgt:app/oracle/product/10.2/rdbms/mesg/ulus.msb rdbms/mesg
4.运行tnsping,sqlldr
怎么又成功了
5.安装imp,expdp,tkprof等工具也一样,用strace查看程序需要哪些msb文件,用ldd查看要用哪些共享库,少什么文件就拷哪些
外部链接
Instant Client
Instant Client FAQ
SQL*Plus Instant Client
Build Your Own Instant Client
Client / Server / Interoperability Support Between Different Oracle Versions (metalink account needed)
Xie Wen (谢文)
Network & Operations,
Multimedia Applications & Services (MDB)
MOTOROLA Inc.
NO.104 mail box, 8th floor, Motorola Tower,
No. 1 Wang Jing East Road, Chao Yang District,
Beijing 100102 P. R. China
e-mail wenxie at motorola.com
-fin-