- 远程连接其他数据库的 db_link 方法

Oracle数据库中创建数据库链接(DBLink)允许您从一个数据库访问另一个数据库中的数据。
请注意,在执行这些操作之前,确保您拥有足够的权限,并且已经配置了适当的网络连接设置。

以从源数据库A建立dblink到目标数据库B为例,展示全步骤。
源数据库A用户名:user1;密码:123;
目标数据库B用户名:user2;密码:1234。

1. 查看用户user1是否有dblink的权限

select * from user_sys_privs where privilege like upper('%DATABASE LINK%'); 

 


2 .给用户user1赋权限

如果用户user1没有dblink的权限,需要给用户赋权限;如果用户user1有dblink的权限,不需要给用户赋权限;
grant create public database link to user1;   -- 需登录管理员账户授权


3 .建立从源数据库A到目标数据库B的dblink(使用user1用户)

create /* public */ database link link_name
  connect to remote_username identified by remote_password
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.0)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';

例如:
create public  database link db_user2
  connect to user2 identified by "1234"
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.0)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';

PUBLIC关键字(可选)表示此DBLink可供所有用户使用,否则仅创建者可以使用。
link_name 是您为DBLink指定的名称。
remote_username 是要连接到的远程数据库上的用户名。
remote_password 是该用户的密码。
192.168.0.0 是主机ip地址
orcl 是数据库名称
1521 是oracle数据库端口号


4. 验证DBLINK 查询

SELECT * FROM EMP@db_user2;

5. 删除DBLINK 连接,需先要解除使用
 

ALTER SESSION CLOSE DATABASE LINK link_name;
DROP /* public */ database LINK link_name;
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐