1. 安装多次 发现在同一个机器上面总出问题,所以建议找一个没有安装oracle的机器上面进行安装gateways
2. 下载oracle gateways 并且解压缩, 下载地址详情见官网. 下载的安装文件: winx64_12201_gateways
安装.
3. 安装注意事项:
组件比较多 安装
设置数据库相关
执行安装完成.
4. 安装完成之后 修改主要的配置文件:
修改目录下下面的 initdg4msql.ora
文件内容自动生成
HS_FDS_CONNECT_INFO=[10.24.160.1]/MSSQLSERVER/CWBASEM871
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
一般要求在如下的目录下均有监听和tnsnames文件
C:\app\tg\Administrator\product\12.2.\tghome_1\network\admin
文件内容基本相同
本次举例
Listener.ora
# This is a sample listener.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent
LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=Win2008r2sp1)(PORT=1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=C:\app\tg\Administrator\product\12.2.0\tghome_1)
(PROGRAM=dg4msql)
)
)
#ADR_BASE_LISTENER = C:\app\tg\Administrator\product\12.2.0\tghome_1
#CONNECT_TIMEOUT_LISTENER = 0
tnsname.ora
# This is a sample tnsnames.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent
dg4msql =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=Win2008r2sp1)(PORT=1521))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)
5. 修改完配置文件,重启lsnrctl 命令为:
cmd-> lsnrctl
>stop
>start
在cmd命令行中
tnsping dg4msql
验证提示.
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=Win2008r2sp1)(PORT=)) (C
ONNECT_DATA=(SID=dg4msql)) (HS=OK))
OK ( 毫秒)
6. 在oracle服务器中创建配置
create database link zhaobsh connect to "lcm8719999" identified by "Test6530" using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.24.101.105)(PORT = ))
(CONNECT_DATA =
(SID = dg4msql)
)
(HS=OK)
)'
7. 查询验证
select * from zwkmye2007@zhaobsh
发现的主要事项:
1. initdg4msql.ora 必须是目录:
C:\app\tg\Administrator\product\12.2.\tghome_1\dg4msql\admin
下的, 而且 必须按照格式来. 这个链接方式可以 随便改 ,不需要重启lsnrctl 即可. 重新创建dblink 自动刷新 应该是走的一次磁盘io
2. dg 目录下的network 必须存在,并且有静态注册的 dg4msql 的sid 才可以,不然会报错, 放到刚才的那个目录下的文件没有用. 必须放在这个目录下
C:\app\tg\Administrator\product\12.2.\tghome_1\network\admin
3. 我发现11g和12c的 gateways 是可以互相联通的 不受版本限制. 但是某些表字段表特殊时会报错,如图示