Transparent Gateway的使用方法
前言
使用Transparent Gateway(透明网关),建立ORACLE与SQLServer的连接。
实现功能:在ORACLE中查询SQLServer数据库的内容。
注:网上有ORACLE和SQLServer不在同一服务器中的安装步骤。本文是ORACLE、SQLServer、透明网关都在同一服务器的场景。
一、环境信息
SQLServer2008(Window server 2008 R2)
标题 | 内容 |
---|---|
IP地址 | 162.16.161.98 |
Oracle11g(Window server 2008 R2)
标题 | 内容 |
---|---|
IP地址 | 162.16.161.98 |
Oracle端口 | 1521 |
Oracle gateway (Window server 2008 R2)
标题 | 内容 |
---|---|
IP地址 | 162.16.161.98 |
Gateway根目录 | E:\app\Administrator\product\11.1.0\tg_2 |
Gateway端口 | 1522(默认是1521,因为本机Oracle数据库已使用此端口,所以需要改一下) |
SID | Demo0707 |
二、Transparent Gateway安装
启动安装程序:
指定安装目录:
选择组件:
填写SQL Server数据库详细信息:
主机名填写SQL Server数据库IP地址,若SQL Server数据库和透明网关安装在同一台服务器上,可以填【.】。
数据库名称填写需要连接的SQL Server数据库名称。
注:【本页可以不填,之后在配置文件进行配置】
点击安装:
安装完Gateway后,会自动弹出配置监听界面。我们不配置监听,点击取消后安装完毕。
三、修改配置文件
指明要访问的MSSQL数据库(修改initdg4msql.ora)
在网关安装目录(E:\app\Administrator\product\11.1.0\tg_2\dg4msql\admin)
找到initdg4msql.ora文件。
该文件是Gateway的初始参数文件,描述的是连接哪个SQL Server数据库。该文件的格式是init【SID】.ora,SID可以根据需要自定义。
系统默认的SID为dg4msql(Oracle Database Gateway for MS SQL Server)。
这里我们将SID改为Demo0707,则修改后的文件名为initDemo0707.ora。
我们将文件内容修改为:
HS_FDS_CONNECT_INFO=[162.16.161.98]//Demo0707
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
注意:HS_FDS_CONNECT_INFO为之前安装网关时配置的SQL Server数据库信息,若之前没有填写配置信息,此时需要手动配置。
格式为:
HS_FDS_CONNECT_INFO =
[数据库IP地址,端口号(默认1433)]/实例名称(可空)/ 数据库名称
配置监听器,处理oracle的查询请求(修改listener.ora)
配置监听器,处理oracle的查询请求(修改listener.ora)
在网关安装目录下(E:\app\Administrator\product\11.1.0\tg_2\NETWORK\ADMIN)
找到listener.ora文件。
该文件是监听器配置文件。修改为:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Demo0707)
(PROGRAM = dg4msql)
(SID_NAME = Demo0707)
(ORACLE_HOME = E:\app\Administrator\product\11.1.0\tg_2)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 162.16.161.98)(PORT = 1522))
)
)
参数说明
1.PROGRAM:
因为实例配置文件在E:\app\Administrator\product\11.1.0\tg_2\dg4msql\admin\initdg4msql.ora,所以PROGRAM不能改变。
2.SID_NAME:
就是我们前面init.ora文件名里指定的SID。
3.GLOBAL_DBNAME:
和SID_NAME保持一致即可。
4.ORACLE_HOME:
透明网关安装路径。
5.LISTENER段:
(ADDRESS = (PROTOCOL = TCP)(HOST = 162.16.161.98)(PORT = 1522))
此处配置安装网关时未配置的监听端口和协议。
这里使用TCP协议,1522端口。(默认是1521,因为本机Oracle数据库已使用此端口,所以需要改一下)。
Oracle服务器配置tns文件
打开Oracle的tnsnames.ora文件
E:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora
增加:
Demo0707=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = 162.16.161.98)(PORT =1522)))(CONNECT_DATA =(SID=Demo0707))(HS=OK))
四、启动监听器
通过命令行启动
开始菜单>运行>cmd,输入
C:\Users\Administrator>lsnrctl start
通过可执行文件启动
透明网关根目录BIN文件夹内,执行LSNRCTL.exe。
执行start命令,出现如下界面,说明成功启动:
五、在ORACLE数据库中建立连接
打开PL/SQL或其他工具,连接ORACLE数据库后,执行:
create public database link dbkink connect to "SQL用户名" identified by "密码" using 'Demo0707';
参数说明:
1.dbkink:我们建立的与SQL Server数据库的连接名称。
2.Demo0707:我们之前配置的SID。
测试连接是否建立:
执行select 1 from dual@dbkink
若执行成功则说明连接已经建立。
六、出现的问题及解决方法
监听器启动失败
可能的原因是listener.ora配置文件格式有问题。查看是否有多余的空格,或左右括号数量。
最稳妥的方法是取消换行,分别把LISTENER段和SID_LIST_LISTENER段写在一行里,去除多余的空格。
监听器启动了但测试连接时报错
ORACLE数据库和透明网关配置在一台机器上时可能出现这个问题。
原因是命令行启动监听器时,lsnrctl命令的系统路径为ORACLE安装目录下的。导致我们配置的网关监听器设置没有生效。
解决方法是:使用4.2中的方法,执行网关目录下的LSNRCTL.exe文件,启动监听器。
Transparent Gateway的使用方法的更多相关文章
- Activity透明/半透明效果的设置transparent(两种实现方法)
两种方法实现Activity透明/半透明效果的设置,代码思路很有调理,感兴趣的朋友可以参考下,希望本文可以帮助到你 方法一:res/values文件夹下建立styles.xml: 复制代码代码如下 ...
- discuz用户登录不响应,提示nginx gateway timeout解决方法
在使用nginx+php-cgi搭建discuz论坛过程中,出现论坛登录不响应,一直提示nginx gateway timeout504网关超时,单单采用php方式登录无问题.但因需要使用nginx把 ...
- Linux的Transparent Hugepage与关闭方法
Transparent HugePages是在运行时动态分配内存的,而标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变. 因为Transparent HugePages是在运 ...
- Nginx错误提示:504 Gateway Time-out解决方法
朋友说504 Gateway Time-out的错误提示与nginx本身是没有任何关系的我们可以通过fastcgi配置参数的调整进行解 决. 修改 php-fpm 配置文件: 1.把 max_chil ...
- nginx+php测试时显示 502 bad gateway的解决方法
http://www.apelearn.com/study_v2/chapter18.html 由于阿铭老师的PHP版本是 5.3的 我装了 5.5 测试出现了 502 错误 查看日志 借助 ...
- Nginx 502 Bad Gateway 错误的解决方法
502 bad gateway 的解决方法 通用配置 proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; # ...
- paho_c_pub 使用方法
Latest Paho Status (2) 摘自:http://modelbasedtesting.co.uk/ I last wrote about the state of Paho in Oc ...
- 解决 504 Gateway Time-out和502 Bad Gateway(nginx)
504 Gateway Time-out 问题所在: 所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI. 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓 ...
- 【AS3】Flash与后台数据交换四种方法整理
随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法.1.URLLoader(URLStream)2.FlashRemoting3.XMLSo ...
随机推荐
- C#常用的算法
一.二分法 注:一定是有序的数组,才可以使用这种算法,如果数组没有排序则先进行排序后再调用此方法. 二分顾名思义,就是将一组数据对半分开(比如左右两部分,下面用左右数组表示),从中间位置开始查找, 如 ...
- js 点击input焦点不弹出键盘 PDA扫描枪
直接贴代码 1.利用input readonly属性 当input有readonly属性的时候,即使获取焦点,也不会吊起小键盘 扫码枪输入的间隔大概在15-60毫秒,然后手动输入的100-200毫秒之 ...
- 死磕以太坊源码分析之txpool
死磕以太坊源码分析之txpool 请结合以下代码阅读:https://github.com/blockchainGuide/ 写文章不易,也希望大家多多指出问题,交个朋友,混个圈子哦 交易池概念原理 ...
- 技术基础 | 用JSON在抖音上发布动态——使用Stargate即可轻松实现
Cassandra是世界上经受住最多实战考验的数据库,通过其快速且易于使用的数据API,让你的程序开发升级. 本文将介绍什么是Stargate以及Stargate的最新进展,如果您想快速浏览相关代码和 ...
- 蚂蚁开源的 SOFABoot,和 Spring Boot 有啥关系?
一.SOFABoot 是什么鬼? 说到 SOFABoot,不得不先说下 SOFARPC 框架,SOFARPC 也是大名远扬,最早起源于阿里淘宝 HSF 框架,现在是蚂蚁金服开源的一款高性能.高可扩展性 ...
- Adnroid 源码学习笔记:Handler 线程间通讯
常见的使用Handler线程间通讯: 主线程: Handler handler = new Handler() { @Override public void handleMessage(Messag ...
- Sharding jdbc 强制路由策略(HintShardingStrategy)使用记录
背景 随着项目运行时间逐渐增加,数据库中的数据也越来越多,虽然加索引,优化查询,但是数据量太大,还是会影响查询效率,也给数据库增加了负载. 再加上冷数据基本不使用的场景,决定采用分表来处理数据,从而来 ...
- 1.第一个QT程序
第一个QT程序 应用程序类QApplication 窗口类MyWidget 进入事件循环 a.exec() 头文件 mywidget.h QApplication 文件Demo_pro 我怎么知道我用 ...
- lock与synchronized 的区别【网上收集】
1. 区别 类别 synchronized Lock 存在层次 Java的关键字,在jvm层面上 是一个接口 锁的释放 1.以获取锁的线程执行完同步代码,释放锁 2.线程执行发生异常,jvm会让线程释 ...
- Docker进行MySQL主从复制操作
Docker的相关操作 与 Docker下MySQL容器的安装 https://www.cnblogs.com/yumq/p/14253360.html 本次实验我是在单机状态下进行mysql的主从复 ...