ITPub博客

首页 > 数据库 > Oracle > DB_LINK和public DB_LINK

DB_LINK和public DB_LINK

原创 Oracle 作者:lusklusklusk 时间:2016-05-06 16:44:20 0 删除 编辑

Create [public] database link dblinkname

connect to user

identified by "123456"

using '192.168.91.3:1521/rwang';/或using ‘tnsname中的名称’

 

CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了)

CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用,如果dblink中的连接用户有select any table权限,那么所有用户都可以访问dblink的任何表)

 

 

Select dblink的表后需要commit或rollback

 

删除dblink不能直接删除delete dba_db_links,会报错ORA-01752:不能从没有一个键值保存表的视图中删除

 

删除dblink:

DROP DATABASE LINK XX

DROP PUBLIC DATABASE LINK XX。

 

如果创建全局dblink,有CREATE PUBLIC DATABASE LINK权限即可,并非一定要sys或system用户

 

 

 

Create public database link DB51_TEST4_PUBLIC

connect to TEST4

identified by "123456"

using 'DB51';

如上我们建立一个dblink使用了test4去访问tns中名称为db51的db服务器,则我们可以访问test4用户下面的所有对象

select * from XX@DB51_TEST4_PUBLIC(XX前面没有加schema默认就是TEST4)或

select * from test4.XX@DB51_TEST4_PUBLIC

 

如果DB51的sys给test4授权grant select on TEST2.TABLE1 to test4

则我们可以通过dblink访问db51下面TEST2.TABLE1

select * from TEST2.TABLE1@DB51_TEST4_PUBLIC

如果db51的sys给test4授予了grant select any table to test4,那可以通过dblink访问db51下面的所有表了

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-2094982/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1174913