1.前提条件
1. 准备工作
软件名称 |
操作系统 |
IP地址 |
端口 |
用户 |
密码 |
版本 |
状态 |
Oracle数据库 |
Windows |
localhost |
1521 |
scott |
scott |
win32 Oracle11g R2 |
已安装 |
Oracle 透明网关 |
Windows |
localhost |
win32_11gR2_gateways |
未安装 |
|||
MSSQL数据库 |
Windows |
10.22.1.125 |
1433 |
sa |
123 |
win64 MS SQL 2008 |
已安装 |
注:本例访问的是MSSQL的MSDB数据库 |
2. Oracle数据库配置概要
配置文件 |
简介 |
位置 |
tnsnames.ora |
配置实例 |
$dbhome_1\NETWORK\ADMIN |
listener.ora |
侦听实例,参数PROGRAM是配置目录,不能改变 |
$dbhome_1\NETWORK\ADMIN |
3. Oracle透明网关配置概要
配置文件 |
简介 |
位置 |
Init*.ora |
*表示定义的SID的值,例如tnsnames.ora文件里的参数SID和listener.ora文件里的参数SID_NAME都要用到 |
$dbhome_1\dg4msql\admin |
2.下载透明网关
注:本文档以oracle gateway11g R2(oracle透明网关为例编写)
官网下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html
然后找到Gateways点击下载
3.解压安装透明网关
1. 解压后得到下图这个目录,双击setup.exe应用程序进行安装;
vcD4KPHA+Mi4gICAgICAgxvS2r9auuvO9+Mjru7bTrdKzw+ajrLXju/ehsM/C0ruyvaGxvfjQ0LCy17CjuzwvcD4KPHA+16Kjur2o0unNrLv6sLLXsKOs0rK+zcrHy7XNuMP3zfi52NKqsLLXsNTa0tG+rbCy17DBy09yYWNsZcr9vt2/4rXE1ve7+snPPC9wPgo8cD48aW1nIHNyYz0
3. 选择产品安装目录(重点);
上图可以透明网关本身也存在监听,而Oracle本身也有监听,为了不必要的麻烦,可以把Gateway的监听涵盖到Oracle监听中,作法:
选择之后路径变成了,Oracle数据库产品安装的路径
4. 继续安装,单击“下一步”;
选择你要安装的组件,来确定你要访问的异构数据库,这里是以MSSQL为例
点击“下一步”,继续
5. 填写MSSQL安装详细资料或者安装完成之后到$dbhome_1\dg4msql\nitdg4msql.ora配置文件里配置,点击“下一步”继续;
单击安装
等待安装
6. 安装完成,点击“退出”,到此OracleGateway11g R2已经安装完成,打开Oracle产品安装主页,我们可以看到多了一个dg4msql文件夹,这就是MSSQL的Gateway
4.配置TNSNAMES
文件位置:$dbhome_1\NETWORK\ADMIN\tnsnames.ora
配置:
5.配置监听器
1. 方式一(文件配置):
文件位置:$dbhome_1\NETWORK\ADMIN\listener.ora
配置:
2. 方式二(图形化工具配置):
打开图形工具
操作步骤
最后,文件>保存网络配置,监听器就配置好了。
6.配置Gateway
在dg4msql\admin目录下有一个initdg4msql.ora的文件。
该文件的格式是init*.ora,这里的SID在后面需要用到,系统默认的是dg4msql,一般情况这样就可以了。
如果改名,在之后使用这个修改后地名字即可,配合使用MSDB,则文件名变成initMSDB.ora。
该文件是Gateway的初始参数文件,描述连接的是哪个SQL Server数据库。
HS_FDS_CONNECT_INFO=10.22.1.125:1433//MSDB
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
注:HS_FDS_CONNECT_INFO=主机名:端口//数据库
7.重启Oracle服务
操作:计算机->管理(右键)->服务和应用程序->服务->找到Oracle服务(监听服务)进行重启操作
8.配置测试
开始->附件->命令提示符,输入命令:tnsping 实例名,例如:本例 -- tnsping dg4msql
9.创建DBLink
创建DBLink条件:
1. 看拥有DBLink处理权限;
登录sys用户,可以查看
2. 赋予创建权限,一般情况下赋予DROPPUBLIC DATABASE LINK、CREATE PUBLICDATABASE LINK就可以了;
grant DROP PUBLIC DATABASELINK,CREATE PUBLIC DATABASE LINK to scott;
我们再切换到scott用户查看拥有DBLink的处理权限
3. 创建DBLink
方式一(语句创建,推荐使用语句创建,这样能对大小写有严格要求的数据库来说,是件好事):
Create public database link MSSQLconnect to "sa" identified by "123" using "dg4msql‘;
注:由于MSSQL要区分用户名和密码的大小写,所以要用双引号将用户名和密码包含起来,using使用的是你创建的数据库,这里创建的是,例:orcl。
方式二(图形化工具创建):
填写好之后,点击“Apply”完成操作
10.数据库测试连接
语法:Select * from 表名@DBLink名称;
用例:
SQL Server 上随便查询一张数据表:
然后再到PL/SQL通过Gateway查询SQL Server上的数据表:
11.附件一