oracle dblink 导数据库,Oracle DBLink跨数据库访问SQL server数据同步

第一步:需要去下载一个透明网管,相当于一个中间件(我们用的Oracle 11g,可能不同的数据库版本要安装不同的透明网管)

需要的朋友请到我的百度云盘上下载

链接:https://pan.baidu.com/s/1W6rEww1_NxxsMXYi0BOKPQ

提取码:sac2

第二步:安装透明网关

1、解压安装包后,点击setup.exe安装

b3b928604763efcfcdfb36fc3b6b3623.png

b9eb930d6c3bddf1924f973dbaab51e4.png

2、下一步(注:貌似一定要和Oracle数据库安装目录一致,第一次安装的时候,就和Oracle安装在不同地方了,最终百度很久发现,要和Oracle安装同一个位置)

f037829c54bb9ec73c6c5e506fa67046.png

3、选择组建,选择SQL Server

b74b009b67ef7f8cc22b2e2293ed5940.png

4、填写SQL SERVER的主机名和数据库名称

1c969203177c08429c7441df235cf479.png

5、开始安装

bb6d0914a7dc8f528aebcd361821afa2.png

6、安装完成后就退出,然后开始配置监听,下面是重点!!!!

第三步:透明网关配置

配置说明:

本地Oracle安装目录:D:\Oracle\product\11.2.0\dbhome_1

本地DBLink安装目录:D:\Oracle\product\11.2.0\dbhome_1

SQL Server:账号:sa;密码:password;IP地址:127.0.0.1

1、来到:D:\Oracle\product\11.2.0\dbhome_1\dg4msql\admin;打开initdg4msql.ora

51e15fabca1ca2d5ec33f86d3a150375.png

1 这个目录下可以看到以下initdg4msql.ora文件,上面在安装透明网关的时候有配置的要链接SQL SERVER数据的地址和数据库名称,在这里都可以体现:

b34de7f0a0761a42f0edeee5caf1fc65.png

配置文件:initdg4msql.ora

1 # This isa customized agent init file that contains the HS parameters2 # that are needed for the Database Gateway forMicrosoft SQL Server3

4 #5 # HS init parameters6 #7 HS_FDS_CONNECT_INFO=[127.0.0.1]:1433//DEMO 注:连接其他的SQL Server可修改此处

8 HS_FDS_TRACE_LEVEL=OFF9 HS_FDS_RECOVERY_ACCOUNT=RECOVER10 HS_FDS_RECOVERY_PWD=RECOVER

检查一下HS_FDS_CONNECT_INFO是否是我们想要链接的地址,格式为:目标数据库的IP地址:端口//数据库名。SQL SERVER的默认端口是1433。

30c1a3b77b84c2b6f63c8eb6e46bba7a.png

配置文件:listener.ora.sample(localhost是监听的IP地址,这里我们连的是本地,127.0.0.1也是可以的)

1 # This isa sample listener.ora that contains the NET8 parameters that are2 # needed to connect to an HS Agent3

4 LISTENER =

5 (ADDRESS_LIST=

6 (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))7 )8

9 SID_LIST_LISTENER=

10 (SID_LIST=

11 (SID_DESC=

12 (SID_NAME=dg4msql)13 (ORACLE_HOME=D:\Oracle\product\11.2.0\dbhome_1)14 (PROGRAM=dg4msql)15 )16 )17

18 #CONNECT_TIMEOUT_LISTENER = 0

7d844d56de873f31765cfecbaf4a77d4.png

配置文件:tnsnames.ora.sample

1 # This isa sample tnsnames.ora that contains the NET8 parameters that are2 # needed to connect to an HS Agent3

4 dg4msql =

5 (DESCRIPTION=

6 (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))7 (CONNECT_DATA=(SID=dg4msql))8 (HS=OK)9 )

2、配置透明网关的监听,来到:D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(开始配置这3个文件)

784613af0b8cdb0f07f9dc68e3ff8d2e.png

f7d9fbe2a9e2584c9d87eb07db9d2808.png

配置文件:listener.ora

1 # This isa sample listener.ora that contains the NET8 parameters that are2 # needed to connect to an HS Agent3 SID_LIST_LISTENER =

4 (SID_LIST =

5 (SID_DESC =

6 (SID_NAME =CLRExtProc)7 (ORACLE_HOME = D:\Oracle\product\11.2.0\dbhome_1)8 (PROGRAM =extproc)9 (ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")10 )11 (SID_DESC=

12 (SID_NAME=dg4msql)13 (ORACLE_HOME=D:\Oracle\product\11.2.0\dbhome_1)14 (PROGRAM=dg4msql)15 )16 )17

18 LISTENER =

19 (DESCRIPTION_LIST =

20 (DESCRIPTION =

21 (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))22 (ADDRESS = (PROTOCOL = TCP)(HOST = YRDLG5GS4G3ODYI)(PORT = 1521))23 (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))24 )25 )26

27 ADR_BASE_LISTENER =D:\Oracle28

29 #CONNECT_TIMEOUT_LISTENER = 0

1 这里需要注意的主要是一下几点:2 PROGRAM为dg4msql:因为实例的配置文件在dg4msql目录下,就是上面的initdg4msql.ora文件所在的目录3 SID_NAME为dg4msql:这个sid就是上面的文件名中的sid,initdg4msql.ora的sid为dg4msql4 ORACLE_HOME就是我们透明网关的安装目录5 ORACLE的监听端口是1521,我的oracle和透明网关是安装在同一台机器上的,所以透明网关的监听端口设置为1522。6 一个initSID.ora文件就对应一个SID_DESC,可以根据想要链接的数据库来配置。

455e1b446934a56de96dea121a75d4b6.png

配置文件:sqlnet.ora

1 # sqlnet.ora Network Configuration File: D:\Oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora2 # Generated by Oracle configuration tools.3

4 # This file is actually generated by netca. But ifcustomers choose to5 # install "Software Only", thisfile wont exist and without the native6 # authentication, they will not be able to connect to the database on NT.7

8 SQLNET.AUTHENTICATION_SERVICES=(NONE)9

10 NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

f7ae6c15ef07f596f179184a5e0914d6.png

配置文件:tnsnames.ora

1 # This isa sample tnsnames.ora that contains the NET8 parameters that are2 # needed to connect to an HS Agent3 ORCL =

4 (DESCRIPTION =

5 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))6 (CONNECT_DATA =

7 (SERVER =DEDICATED)8 (SERVICE_NAME =orcl)9 )10 )11

12 dg4msql =

13 (DESCRIPTION=

14 (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))15 (CONNECT_DATA=(SID=dg4msql))16 (HS=OK)17 )

配置完之后,一定不要忘记重启监听!!!!!!一定不要忘记重启监听!!!!!!一定不要忘记重启监听!!!!!!

1 命令:lsnrctl reload

c7b3c219e8787a6b08b68125ac7a4de9.png

查看监听状态:

1483519f726afb2f9facedd89180ab68.png

第四步:Oracle配置DBLink

1、先查看哪些用户可以使用DBLink,没有则创建权限

1 SELECT * FROM user_sys_privs where privilege like upper('%DATABASE LINK%')

51b11ecce7db3ad5513e3d7794505b0d.png

赋权限配置命令

1 如:grant create publicdatabase link to system ;2 格式:grant create public database link to 用户名 ;

2、建立DBLink(用户要一定要权限才可以继续往下执行哦!没有的往上看,给用户配置权限)

1 查询dblink:2 select * fromdba_db_links;3

4 删除dblink:5 DROP DATABASE LINK [name];

1 create database link DBTEST12 connect to SA identified by "password"

3 using 'dg4msql';4

5

6

7 格式:8 create database link DBLink名称9 connect to SQL Server账户 identified by "SQL Server密码"

10 using 'SID';

a05d23d69716c937513d7605d29f4bf8.png

6a459935f75e4395b6db3505a4ad197e.png

搞定!!!!

下面这个报错信息,QQ群问一个遍,很少人知道DBLink这玩意,百度上资料也很少,捣鼓一下午,终于搞定了

b6a6c26adcc67f224287d37e465caf62.png

出现这个问题是因为这6个文件导致的!!!!!!

722098d9e6f939ae76098894c454e231.png

e40e1084730a37f2a86a5c8de875ff57.png

捣鼓一下午,问题找到是因为这6个文件配置出问题了,这次就不再叙述了,修改那个配置文件了,配置文件因人而异,剩下的自己百度去查吧~~~~好了,捣鼓一天了,洗洗睡了,拜~~

整理的配置文档:

链接:https://pan.baidu.com/s/1Wdlo7j1NVmbmrvEwYNk1qw

提取码:6esm

原文出处:https://www.cnblogs.com/chenyanbin/p/11291752.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值