Oracle11g连接SQLServer2008实战演练 完整版本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、下载透明网关
Oralce 11g下透明网管是一个单独的组件,需要单独下载安装,这里下载是64位的,请根据具体下载32位或64位,下载地址google搜索一下Oracle Database Gateways或者在oralce 官网的Oracle Database Software Downloads找。
2、安装
解压后,进入目录,点击setup.exe,启动安装界面,安装Oracle Transparent Gateway for Microsoft SQL Server;
下一步,输入SQL Server地址和SQL Server数据库名。
安装完后,会弹出配置监听界面,选择执行典型配置,下一步,完成。
(注意:文档中红色字体标识的路径如:D:\oracle\product\11.2.0\tg_1就是网关安装,要所有地方一致。
)
3、配置文件
3.1 修改initdg4msql.ora。
在安装完成之后会产生一个默认的参数文件,D:\oracle\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora,这里修改initdg4msql.ora文件的内容。
HS_FDS_CONNECT_INFO=192.168.0.21:1433//master
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
3.2 配置透明网关监听
(1)配置D:\oracle\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora (注意:没有listener.ora文件就新建一个,内容如下[这里端口是1523,目的是可能透明网关和Oralce在同一台机器上造成监听端口冲突]):
LISTENER =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL=TCP)(HOST=localhost)(PORT=1523))
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=D:\oracle\product\11.2.0\tg_1)
(PROGRAM=dg4msql)
)
)
#CONNECT_TIMEOUT_LISTENER = 0
(2)配置D:\oracle\product\11.2.0\tg_1\NETWORK\ADMIN\tnsnames.ora (注意:没有listener.ora文件就新建一个,内容如下):
dg4msql=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1523))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)
4、重启透明网关监听
5、测试连接
测试下ORACLE与SQLSERVER,是不是正常可以访问的。
创建数据库链接,DB21是链接名,sa是SQLSERVER数据库帐号,"12346"是数据库密码。
SQL> CREATE DATABASE LINK DB21 CONNECT TO SA IDENTIFIED BY "12346"
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1523))
)
(CONNECT_DATA =
(SID = dg4msql)
)
(HS = OK)
)';
或者(例如):CREATE PUBLIC DATABASE LINK ly2
CONNECT TO sa IDENTIFIED BY sly5800
USING 'dg4msql'
#UNIT 是SQLSERVER库的表。
SQL> SELECT * FROM UNIT@DB21;
6、总结
当从oracle数据库上发出这个sql时,实际上通过tnsname.ora配置的dg4msql信息转到透明网关上,当透明网关的监听监听到tnsname.ora的请求时,再次通过inittest.ora配置的HS_FDS_CONNECT_INFO信息转到sqlserver数据库上,最终把用户需要的数据返回。
如果这个sql有记录返回,说明透明网关没有问题。
配置透明网关需要配置三个文件:分别为initdg4msql.ora、listener.ora、tnsname.ora。
7、补充
如果要用oracle 创建触发器运用dblink对进行的跨区域操作注意需要在sqlserver中创建recover用户和HS_TRANSACTION_LOG表。
创建流程:1、先创建登录用户例如test
点击左侧常规在右侧根据上图来创建登录名和密码,强制实施密码策略等不要勾选。
服务器角色根据图勾选public 选项即可。
用户映射也如上图所示
2、创建所要操作数据库的用户
鼠标右击选择新建用户
新建用户弹出上图界面:输入用户名(如test),登录用户名点击选择框选择一开始创建的test用户,默认架构选择dbo ,之后点击确定按钮。
右键架构新建架构
在架构名那边输入要取的架构名:(例如test),架构拥有者点击搜索选择之前创建的用户test.
点击权限点击角色或者用户那行的按钮选择之前创建的用户并在test的权限中把授予和具有授予的权限都勾上即可。
建表语句:
CREATE TABLE[test].[HS_TRANSACTION_LOG](
[GLOBAL_TRAN_ID][char](64)NOT NULL,
[TRAN_COMMENT][char](255)NULL
)。