Locations of visitors to this page

Saturday, September 27, 2008

install Oracle Instant Client - 安装Oracle Instant Client即时客户端软件

---------- Forwarded message ----------
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-

Thursday, September 25, 2008

modify user profile in one-line shell script - 用shell脚本简单修改用户配置文件

---------- Forwarded message ----------
From: XIE WEN-MFK346 <wenxie at motorola.com>
Date: 2008/9/25
Subject: 如何使用unix命令修改配置文件
To: xiewenxiewen at gmail.com

比如说,有一个配置文件内容是这样的:


现在我想修改几个参数,ORACLE_HOME改成$ORACLE_BASE/product/9.2,ORACLE_SID改成s3,TZ改成"Asia/Singapore"


只用一条命令就可以做到:
cat <<'EOF' |sed 's:^\(.*\)=\(.*\):s|^\1=.*|\0|g:g'|sed -i -f - .screen3profile
ORACLE_HOME=$ORACLE_BASE/product/9.2
ORACLE_SID=s3
TZ="Asia/Singapore"
EOF


哦耶,再也不用费事调用vi修改文件了,真厉害呀我



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-
Website Analytics

Followers