Tuxedo使用Non-XA模式连接Oracle数据库
实验的网络拓扑图:
软件安装环境:3台主机都安装Cent OS 5.3操作系统,第1台主机作为Tuxedo的客户端,只安装Tuxedo客户端(IP:192.168.1.61);第2台主机作为Tuxedo服务器安装Tuxedo Server,还要连接Oracle服务器,还安装了Oracle Client 11gR2(IP:192.168.1.66);第三台主机作为Oracle数据库服务器,只安装Oracle11gR2(IP:192.168.1.81)。
实验目的:了解Tuxedo使用Non-XA方式连接Oracle数据库。通过客户端发送一个请求到Tuxedo服务器,再由Tuxedo服务器连接Oracle服务器,把客户端发送的信息写入数据库表。 实验步骤:1.安装Tuxedo的演示程序SimpApp (使用主机1和主机2) 2.作一个Pro/C的Demo,来连接Oracle数据库(使用主机2和主机3) 3.把第1步和第2步合并到一起,完成该实验 4.测试并排错
安装前准备:
要使Tuxedo服务器,能连接到Oracle服务器。Oracle服务器的实例名称为stone,在Tuxedo服务器上安装Oracle客户端后,建立一个服务,使其能够连接到Oracle数据库服务器。
在Tuxedo Server(主机2)上,先建立网络服务,再连接到Oracle数据库服务器,使用hr用户,并建立一个测试表:
◆网络服务的名称为stone,结果为$ORACLE_HOME/network/admin目录下的tnsnames.ora文件 [oracle@myapache ~]$cd /u01/app/oracle/product/11.2.0/client_1/network/admin/ [oracle@myapache admin]$ls
samples shrept.lst sqlnet10031011AM2455.bak sqlnet.ora tnsnames.ora [oracle@myapache admin]$vi tnsnames.ora # tnsnames.ora Network Configuration File:
/u01/app/oracle/product/11.2.0/client_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. STONE = (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.81)(PORT = 1521)) )
(CONNECT_DATA = (SERVICE_NAME = stone) ) )
◆建立测试表
[oracle@myapache ~]$sqlplus hr/hr@stone
SQL*Plus: Release11.2.0.1.0 Production on Wed Mar 10 21:17:22 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database11gEnterpriseEdition Release11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>create table t_test1( 2 zj number, 3 name varchar2(20) 4 ); Table created.
SQL>insert into t_test1 values(1, 'aaa'); 1 row created.
SQL>commit; Commit complete.
SQL>select * from t_test1; ZJ NAME ---------- -------------------- 1 aaa SQL>
◆在主机2上还要把Oracle用户的环境变量设置好,使其能正确编译pro/c程序 [oracle@myapache ~]$ vi .bash_profile
设置好以下环境变量
# User specific environment and startup programs
ORACLE_HOME=/u01/app/oracle/product/11.2.0/client_1 export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH
PATH=$PATH:$ORACLE_HOME/bin export PATH
stty erase ^H (完)
测试一下Pro/C是否正确 [oracle@myapache ~]$proc
Pro*C/C++: Release11.2.0.1.0 - Production on Thu Mar 11 01:16:42 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
System default option values taken from:
/u01/app/oracle/product/11.2.0/client_1/precomp/admin/pcscfg.cfg
(下面内容从略)
一、安装Tuxedo的演示程序SimpApp,并完成Tuxedo客户端访问服务器的配置
1.在主机2上安装Tuxedo10gR3 Server
建议采用字符安装界面,在安装过程中选择安装上Sample,以便运行SimpApp例子 [root@myapache ~]#cd /home/OraFile/
[root@myapache OraFile]#unzip tuxedo10gR3_32_Linux_01_x86.zip [root@myapache OraFile]#chmod +x tuxedo10gR3_32_Linux_01_x86.bin [root@myapache OraFile]#./tuxedo10gR3_32_Linux_01_x86.bin -i console Extracting the JRE from the installer archive... Unpacking the JRE...
Extracting the installation resources from the installer archive... Configuring the installer for this system's environment...
Launching installer... (比较重要的地方) Choose Oracle Home ------------------
1- Create new Oracle Home
Enter a number:1
Specify a new Oracle Home directory:/bea