#1#环境如下
DS Server
[root@159V87 ~]# uname -a
Linux 159V87.localdomain 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@159V87 ~]# more /proc/cpuinfo | grep "model name"
model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
[root@159V87 ~]# free -m (DS安装需要4G内存之上, 虚拟机安装好之后可以调整为3G+)
total used free shared buffers cached
Mem: 2960 464 2496 0 107 253
-/+ buffers/cache: 103 2857
Swap: 1019 0 1019
[root@159V87 ~]# getconf LONG_BIT
64
[root@159V87 ~]# more /etc/redhat-release
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
[root@159V87 ~]# uname -r
2.6.18-238.el5
[root@159V87 ~]# hostname
159V87.localdomain
[root@159V87 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:BF:EE:3B
inet addr:192.168.18.159 Bcast:192.168.18.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:161 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17537 (17.1 KiB) TX bytes:21803 (21.2 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:26 errors:0 dropped:0 overruns:0 frame:0
TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1844 (1.8 KiB) TX bytes:1844 (1.8 KiB)
[root@159V87 ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=159V87.localdomain
[root@159V87 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 19G 13G 4.3G 76% /
/dev/sda1 289M 17M 258M 6% /boot
tmpfs 1.5G 0 1.5G 0% /dev/shm
/dev/sda4 9.9G 5.8G 3.7G 62% /opt3
#2#Oracle 客户端轻量安装
0) Oracle 轻量级客户端包.
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
1) 下载如下并安装.
rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
/usr/lib/oracle/11.2/client64
2) 创建本地客户端连接用户
创建环境变量用户, 设置如下环境变量.
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba-m oracle -p 111111
mkdir-p /home/oracle/
chown-R oracle:oinstall /home/oracle/
chmod 755 /home/oracle/
[oracle@159V87 ~]$ more .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
ORACLE_BASE=/usr/lib/oracle/11.2; export ORACLE_BASE
ORACLE_HOME=/usr/lib/oracle/11.2/client64; export ORACLE_HOME
PATH=$PATH:/usr/lib/oracle/11.2/client64/bin; export PATH
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib; export LD_LIBRARY_PATH
umask 022
[oracle@159V87 ~]$
3) 设置远程连接的数据源.
在ORACLE_HOME目录下创建以下目录network/admin,并创建文件 tnsnames.ora ,内容如下:
mkdir -p /usr/lib/oracle/11.2/client64/network/admin
# tnsnames.ora Network Configuration File:
edwdev1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.225.71)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = edwdev1)
)
)
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.179)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
4) 确保本地用户oracle 可以连接到远程数据源并尝试查询.
sqlplus hr/tiger@XE
select * from dual;
select sysdate from dual;
select table_name from user_tables;
select userenv('language') nls_lang from dual;
#3#安装配置DataStage V8.7
1) V8.7 和V9.1安装类似.安装请参考如下文库文档,
http://wenku.baidu.com/view/ea9c5a54312b3169a451a450.html
2) 配置DataStage 连接Oracle数据源
通过oracle客户端直连远程数据库.
a) 在dsenv文件里面配置相应的参数
[root@159V87 DSEngine]# ls -lt /opt/ibm/InformationServer/Server/DSEngine/dsenv
-rwxr--r-- 1 dsadm dstage 2844 Sep 22 01:13 /opt/ibm/InformationServer/Server/DSEngine/dsenv
[root@159V87 DSEngine]# pwd
/opt/ibm/InformationServer/Server/DSEngine
[root@159V87 DSEngine]#
添加如下环境变量(根据自己机器环境变量路径情况调整)
#added by daolin for dsenv
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network/admin
export LD_LIBRARY_PATH=$APT_ORCHHOME/lib:$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/home/db2inst1/sqllib/lib64
export PATH=$PATH:$ORACLE_HOME/bin:$APT_ORCHHOME/bin
export ORACLE_BASE=/usr/lib/oracle/11.2/
export LIBPATH=$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib:$LIBPATH
export DB2INSTANCE=db2inst1
[root@159V87 DSEngine]#
[root@159V87 DSEngine]#
b) 查找缺失的libccora11g.so的具体位置
[root@159V87 DSEngine]# find /opt -name libccora*
/opt/ibm/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/libccora10g.so
/opt/ibm/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/libccora11g.so
/opt/ibm/InformationServer/Server/DSComponents/bin/libccora10g.so
/opt/ibm/InformationServer/Server/DSComponents/bin/libccora11g.so
[root@159V87 DSEngine]#
c) 在lib文件里面建立连接文件
在Oracle 客户端的动态连接库/usr/lib/oracle/11.2/client64/lib 里面
我们缺少的是 libccora11g.so libccora10g.so 添加如下软连接.
[root@is-server DSEngine]# cd $ORACLE_HOME/lib
[root@is-server lib]# ln -s /opt/IBM/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/libccora11g.so libccora11g.so
[root@is-server lib]# ln -s /opt/IBM/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/libccora10g.so libccora10g.so
在oracle11g 轻量级客户端instantclient11.2安装之后, 缺少libclntsh.so.10.1 这个链接库,
在后续DS客户端连接中会报类似如下的错误信息.
ERROR LOADING CONNECTOR LIBRARY LIBCCORA10G.SO. LIBCLNTSH.SO.10.1 CAN NOT OPEN SHARED BOJECT FILE: NO SUCH FILE OR DIECTORY
用libclntsh.so.11.1建立一个10的软连接,问题解决。
UNIX and Linux Systems using Oracle Instant Client 11.2
The Build Forge application has a dependency on library libclntsh.so.10.1, which is part of the version 10.2 client.
During installation, the installer checks for this file in ORACLE_HOME.
If the file does not exist, the installer assumes that you are using the version 11.2 client and attempts to create a symbolic link from libclntsh.so.10.1 to the corresponding version 11.2 library, libclntsh.so.11.1.
ln -s libclntsh.so.11.1 libclntsh.so.10.1
最后会有三个软连接生产如下.
[root@159V87 lib]# pwd
/usr/lib/oracle/11.2/client64/lib
[root@159V87 lib]# ls -lt
total 181420
lrwxrwxrwx 1 root root 17 Sep 22 18:18 libclntsh.so.10.1 -> libclntsh.so.11.1
lrwxrwxrwx 1 root root 99 Sep 17 19:18 libccora10g.so -> /opt/ibm/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/libccora10g.so
lrwxrwxrwx 1 root root 99 Sep 17 19:18 libccora11g.so -> /opt/ibm/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/libccora11g.so
-rw-r--r-- 1 root root 342 Sep 4 2010 glogin.sql
-rw-r--r-- 1 root root 1503279 Sep 4 2010 libsqlplusic.so
-rw-r--r-- 1 root root 1471902 Sep 4 2010 libsqlplus.so
-rw-r--r-- 1 root root 164756 Sep 4 2010 libocijdbc11.so
-rw-r--r-- 1 root root 2152051 Sep 4 2010 ojdbc6.jar
-rw-r--r-- 1 root root 66783 Sep 4 2010 xstreams.jar
-rw-r--r-- 1 root root 52439406 Sep 4 2010 libclntsh.so.11.1
-rw-r--r-- 1 root root 1972824 Sep 4 2010 libocci.so.11.1
-rw-r--r-- 1 root root 2030135 Sep 4 2010 ojdbc5.jar
-rw-r--r-- 1 root root 7898628 Sep 4 2010 libnnz11.so
-rw-r--r-- 1 root root 115820762 Sep 4 2010 libociei.so
[root@159V87 lib]#
d) 然后执行install.liborchoracle
找到install.liborchoracle
[root@159V87 lib]# find /opt -name install.liborchoracle
/opt/ibm/InformationServer/Server/StagingArea/Installed/PxOracle/install/install.liborchoracle
/opt/ibm/InformationServer/Server/DSComponents/install/install.liborchoracle
[root@159V87 lib]#
设置需要的环境变量:
!! 请注意安装路径的大小写 IBM
[root@is-server lib]# export DSHOME=/opt/ibm/InformationServer/Server/DSEngine
[root@is-server lib]# export APT_ORCHHOME=/opt/ibm/InformationServer/Server/PXEngine
更改对应的设置
[root@159V87 install]# ls -lt
total 8
-rwxr-xr-x 1 dsadm dstage 4123 Sep 17 18:32 install.liborchoracle
[root@159V87 install]# pwd
/opt/ibm/InformationServer/Server/StagingArea/Installed/PxOracle/install
[root@159V87 install]#
找到
install_driver() {
case $version in
9 ) VER='9i';;
10 ) VER='10g';;
0 ) return;;
esac
改成
install_driver() {
case $version in
9 ) VER='9i';;
# 10 ) VER='10g';;
10|11 ) VER='10g';;
0 ) return;;
esac
然后执行install.liborchoracle
[root@is-server install]#/opt/IBM/InformationServer/Server/StagingArea/Installed/PxOracle/install/install.liborchoracle
Installing Oracle driver.
Please choose the Oracle Driver version you want to install
from the following menu:
9 -> support for Oracel 9i
10 -> supprt for Oracle 10g
0 -> exit.
Enter version: [0]: > 10 --选择10进行安装
{10}
Installing driver for Oracle Version 10g
Oracle driver installation is completed.
e) 测试下动态链接库
[oracle@159V87 lib]$ pwd
/usr/lib/oracle/11.2/client64/lib
[oracle@159V87 lib]$
[oracle@159V87 lib]$ ldd libccora10g.so
ldd: warning: you do not have execution permission for `./libccora10g.so'
linux-vdso.so.1 => (0x00007fff599a7000)
libicuio.so.32 => not found
libicuuc.so.32 => not found
libicui18n.so.32 => not found
libfcl.so => not found
libclntsh.so.10.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.10.1 (0x00002b086112f000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b086396f000)
libm.so.6 => /lib64/libm.so.6 (0x00002b0863c6f000)
libc.so.6 => /lib64/libc.so.6 (0x00002b0863ef3000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b086424b000)
libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00002b0864459000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b0864822000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b0864a26000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b0864c41000)
libaio.so.1 => /usr/lib64/libaio.so.1 (0x00002b0864e5a000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c47a00000)
[oracle@159V87 lib]$ ldd libccora11g.so
ldd: warning: you do not have execution permission for `./libccora11g.so'
linux-vdso.so.1 => (0x00007fffc9dfc000)
libicuio.so.32 => not found
libicuuc.so.32 => not found
libicui18n.so.32 => not found
libfcl.so => not found
libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00002b525cac8000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b525f308000)
libm.so.6 => /lib64/libm.so.6 (0x00002b525f608000)
libc.so.6 => /lib64/libc.so.6 (0x00002b525f88c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b525fbe4000)
libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00002b525fdf2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b52601bb000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b52603bf000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b52605da000)
libaio.so.1 => /usr/lib64/libaio.so.1 (0x00002b52607f3000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c47a00000)
[oracle@159V87 lib]$
f) 通过ODBC来访问数据源.
我们需要在 /data/IBM/InformationServer/Server/DSEngine/.odbc.ini 文件中设置 olapdb DSN 相关信息
vi /opt/IBM/InformationServer/Server/DSEngine/.odbc.ini
#added by daolin for sysbase testing. 19th sept.
[ODBC Data Sources]
CBMAIN=DataDirect Sybase Wire Protocol Driver
[CBMAIN]
Driver=/opt/IBM/InformationServer/Server/branded_odbc/lib/VMase25.so
Description=DataDirect Sybase Wire Protocol Driver
ApplicationName=
ApplicationUsingThreads=1
ArraySize=50
Charset=
CursorCacheSize=1
Database=CBMAIN
DefaultLongDataBuffLen=1024
EnableDescribeParam=0
EnableQuotedIdentifiers=0
InitializationString=
Language=
LogonID=sa
NetworkAddress=192.168.221.79,7100
OptimizePrepare=1
PacketSize=0
Password=qz7100
RaiseErrorPositionBehavior=0
SelectMethod=0
WorkStationID=
另外,我们 需要在 dstage1 项目的 uvodbc.config 文件中指定我们所创建的 olapdb DSN 相关信息
# vi /opt/IBM/InformationServer/Server/Projects/dstage1/uvodbc.config
[ODBC DATA SOURCES]
<xmeta>
DBMSTYPE = ODBC
<CBMAIN>
DBMSTYPE = ODBC
Server JOB可以跑 ODBC连接过来的sybase.
Parallel JOB, Sysbase建议通过安装sysbase客户端直连, 效率更高.
#4#重启DS 服务. 脚本如下
[root@159V87 etc]# more ds.stop.sh
#!/bin/sh
/opt/ibm/InformationServer/Server/DSEngine/dsenv
/opt/ibm/InformationServer/Server/DSEngine/bin/uv -admin -stop
/opt/ibm/InformationServer/ASBNode/bin/NodeAgents.sh stop
/opt/ibm/WebSphere/AppServer/bin/stopServer.sh server1 -username wasadmin -password love4now
echo "Shutting down db2inst1 "
su - db2inst1 -c /home/db2inst1/sqllib/adm/db2stop force ; sleep 5
echo `whoami`;
echo "IS,was,db2 stopped"
[root@159V87 etc]# more ds.start.sh
#!/bin/sh
set -x
echo "starting db2inst1 "
su - db2inst1 -c /home/db2inst1/sqllib/bin/ipclean db2inst1;
su - db2inst1 -c /home/db2inst1/sqllib/adm/db2start ; sleep 5
echo `whoami`;
/opt/ibm/WebSphere/AppServer/bin/startServer.sh server1 -username wasadmin -password love4now
/opt/ibm/InformationServer/Server/DSEngine/dsenv
/opt/ibm/InformationServer/ASBNode/bin/NodeAgents.sh start
/opt/ibm/InformationServer/Server/DSEngine/bin/uv -admin -start
echo "all started"
[root@159V87 etc]# pwd
/etc
[root@159V87 etc]#
#5#启动DS Client端连接到server
我们就可以在DataStage的Designer client里面连接Oracle数据库.
#6#备注
Updated by Frank Zhao at 23th Sept 2013
If any problem, please send me a email to daolin2005@gamil.com, tks a lot. !
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论2 条评论
2015-06-25 10:59
2014-02-26 17:36