当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink。通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

创建dblink
create database link TestDblink
 connect to dbName identified by dbPassword
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.230.200)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = invdbs)))';
  • TestDblink : 表示dblink名字
  • dbName :表示 远程数据库的用户
  • dbPassword:表示 远程数据库的密码
  • HOST : 表示远程数据库IP
  • PORT : 表示远程数据库端口
  • SERVICE_NAME : 远程数据库的实例名

查询、删除及插入数据操作与本地数据库一致,只需”table@dblink名字”即可。

select * from tables@testdblink;
删除数据库连接
drop database link testdblink;
查询创建的dblink
select * from user_db_links; -- 用户创建的db_link
select * from all_db_links; -- 所有的db_link
select * from dba_db_links; -- dba的db_link
查看所有的数据库链接,登录管理员查看(待验证)
select owner,object_name from dba_objects where object_type='DATABASE LINK';
报错内容
dblink不存在

ORA-02019: connection description for remote database not found

解决方式: 创建dblink

当前dblink状态不是public也非当前用户所有,故无法使用该dblink链接

END

本文标题:Oracle创建DBLink连接其他远程数据库

本文作者:宇宙最帅的男人

本文链接:https://lolicp.com/sql_server/20211568.html

版权声明:转载或者引用本文内容请注明来源及原作者,本文著作权归 (lolicp.com) 所有。

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

最后修改:2021 年 06 月 15 日
如果觉得我的文章对你有用,请随意赞赏