配置透明网关主要涉及到5个文件,分别是:
(1)dg4msql\admin\initdg4msql.ora;
(2)newwork\admin\listener.ora;
(3)newwork\admin\tnsname.ora;
2、~\dbhome_1:
(1)newwork\admin\listener.ora;
(2)newwork\admin\tnsname.ora;
4.1 配置GateWays
4.1.1 initdg4msql.ora
文件目录:~\tg_1\dg4msql\admin\initdg4msql.ora;
HS_FDS_CONNECT_INFO=[1.1.11.9]//EISDOC_NC
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
配置后内容:
HS_FDS_CONNECT_INFO="1.1.11.9;DATABASE=EISDOC_NC"# 此处IP为连接指向的SQLSERVER服务器的IP地址或服务器名,,
# eisdoc_nc为连接指向的SQLSERVER的数据库名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=sa # SQL库登录账户
HS_FDS_RECOVERY_PWD=sa # SQL库登录密码
PS.透明网关的SID_NAME解析:系统生成的initdg4msql.ora文件其命名格式为“init+SID_NAME”。即SID_NAME为dg4msql。
4.1.2 listener.ora
文件目录:~\tg_1\dg4msql\admin\listener.ora
原始内容:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WWXT-SERVER)(PORT = 1523))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1523))
)
)
ADR_BASE_LISTENER = D:\product\11.2.0\tg_1
配置后内容:(新增方框内信息)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc )
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
# 此路径指向Oracle服务器安装目录
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = dg4msql)
# 此dg4msql为透明网关的SID_NAME
(ORACLE_HOME = D:\product\11.2.0\tg_1)
# 此路径为透明网关的安装路径
(PROGRAM = dg4msql)
# 此dg4msql固定不变
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WWXT-SERVER)(PORT = 1523))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1523))
)
)
PLSExtProc特别说明:
Oracle默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,
是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc。ADR_BASE_LISTENER = D:\product\11.2.0\tg_1
PS.SID_LIST_LISTENER和LISTENER:
1、SID_LIST_LISTENER部分和LISTENER部分的键入顺序:SID_LIST_LISTENER必须在 LISTENER之前。
2、LISTENER不需要做任何修改。
4.1.3 tnsname.ora
文件目录:~\tg_1\dg4msql\admin\tnsname.ora
原始内容:
FCDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.9.111)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = FCDB)
)
)
注:在配置tnsname.ora文件之前,需要将~\dbhome_1\newwork\admin目录下tnsname.ora的非注释内容拷贝到~\tg_1\dg4msql\admin目录下tnsname.ora文本中(此次测试~\dbhome_1\newwork\admin\tnsname.ora内无内容)。
配置后内容:(新增方框内信息)
DG4MSQL = # 此DG4MSQL为配置的数据库服务名,可自定义
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.9.111)(PORT = 1523))
# 1.1.9.111:安装配置透明网关的主机HOST地址
# 1523:安装GateWays透明网关时配置的端口
)
(CONNECT_DATA =
(SID = dg4msql)
# 此dg4msql为透明网关的SID_NAME
)
(HS = OK) # 这一句非常重要,必须要有,加了才支持异构的数据库
)
PS.FCDB消失:
在安装GateWays配置tnsnames信息时有叙述,初始配置的tnsnames信息可以任意输入,其目的就是为了生成tnsnames的配置文件。
4.1.4 重启透明网关监听
1、进入~\tg_1\bin目录,找到“LSNRCTL.EXE”应用程序,并执行。
2、停止服务:键入命令stop,停止监听。
3、启动服务:键入命令start,启动监听。如下显示正常。
4.2 配置Oracle
4.2.1 listener.ora
文件目录:~\dbhome_1\newwork\admin\listener.ora
更新内容与~\tg_1\newwork\admin\listener.ora中更新的部一致。
4.2.2 tnsname.ora
文件目录:~\dbhome_1\newwork\admin\tnsname.ora
将~\tg_1\newwork\admin目录下的tnsname.ora拷贝到~\dbhome _1\newwork\admin目录下,覆盖原来的tnsname.ora。
4.2.3 重启Oracle监听
1、进入~\dbhome_1\bin目录,找到“LSNRCTL.EXE”应用程序,并执行。
2、停止服务:键入命令stop,停止监听。如下显示正常。
3、启动服务:键入命令start,启动监听。如下显示正常。
4.3 验证所有监听服务
主要在Windows服务列表查看OracleOraGtw11g_home1TNSListener和OracleOraDb11g_home1TNSListener的运行状态。如果处于“正在运行”,则表示正常;反之异常。
5 验证测试
使用PL/SQL登录Oracle数据库,创建DataBase Links,创建成功后再进行测试。
5.1 创建DataBase Links
创建SQL语句:
create public database link EISDOC connect to sa identified by sa using 'DG4MSQL';
EISDOC:database link别名
sa:SQL Server用户登录名称
sa:SQL Server用户登录密码
DG4MSQL:透明网关创建数据库服务名。即~\tg_1\dg4msql\admin\tnsname.ora中配置的“DG4MSQL”。
执行结果,创建成功:
5.2 查询测试
查询SQL语句:SELECT COUNT(1) FROM OPERATION@EISDOC
OPERATION@EISDOC:SQL Server中的数据表名@Database Link别名
执行结果,查询成功:
6 创建失败集锦
1、各处该用的SID_NAME是否统一。
2、listener.ora中的各个路径是否正确。
3、listener.ora和tnsname.ora中的各个HOST和PORT是否正确。
4、如果是SQL Server 2005,则要检查远程连接是否已经更改过来,默认安装下的设置是没有打开的.通过进入环境设置界面,改成允许远程连接即可。
5、如果是SQL Server2000,则有可能没有安装sp3补丁,下载一个安装上就好。
6、如果是SQL Server2000,还有一个地方需要注意的就是,进入SQLSERVER的属性,将安全性配置成如下:
7、创建DataBase Links和配置~\tg_1\dg4msql\admin\initdg4msql.ora中的SQL Server用户登录名称和用户登录密码时,是否严格遵守英文字母的大小写。