打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Oracle 创建DBLink

需求

两台数据库服务器(本地)(远程192.168.1.59),本地用户orcl需要访问到远程服务器下mars的数据,这时就需要创建DBLink。

方案

①先确定用户是否有创建DBLink的权限:

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

如果没有,则需要使用 sysdba 角色给用户赋权:

grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to orcl;  
  • 1

这里有两个需要注意的问题:
1. dblink有三种权限:
CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了)
CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用)
DROP PUBLIC DATABASE LINK(删除dblink)
2. 最后的orcl是本地数据库的用户名。
②以用户orcl登录数据库,创建DBLink

create public database link etl59     connect to mars identified by mars的密码   using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.59)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = xxxx)))';
eg:create public database link wjwdb_d_dim  connect to d_dim identified by d_dim  using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 59.225.200.70 )(PORT = 1521)) )  (CONNECT_DATA = (SERVICE_NAME = wjwdb) ) )';

  • 1
  • 2
  • 3

说明:etl59为你创建的dblink的名字;mars为远程数据库用户的用户名;后边是mars对应的密码;Host=后边是服务器的地址;SERVICE_NAME=后边是远程数据库的名称。

操作

①使用DBLink

select * from T_CLOB@ETL59
  • 1

查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成表名@dblink的名字
②删除DBLink

drop  public database link  etl59
  • 1
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle不同数据库访问DBLink
Database Link详解
Oracle dblink详解(转)
Oracle如何实现跨数据库查询
分布式数据库组件——Database Link
oracle新手入门指导之八—数据库远程访问小知识[天源迪科论坛]
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服