概念
dblink(Database Link)数据库链接顾名思义就是数据库的链接 ,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
语法-创建语句
创建dblink语法:
CREATE [SHARED] [PUBLIC] database link link_name
[CONNECT TO [user] [current_user] IDENTIFIED BY password]
[AUTHENTICATED BY user IDENTIFIED BY password]
[USING ‘connect_string’]
DBLINK的使用
select * from 表名@链接名
–公共同义词
CREATE public SYNONYM s2 FOR DEMO.stu
select * from s
–私有同义词
create SYNONYM ss for DEMO.STU
select * from ss
二.创建同义词:
1.同义词:Oracle同义词有两种类型,分别是Oracle公用同义词与Oracle私有同义词。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。
1)Oracle公用同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。
2)Oracle私有同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。
2.用法如下所示:
CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink ];
–专有(私有)同义词
CREATE SYNONYM SYSN_TEST FOR TEST;
–公共同义词
CREATE PUBLIC SYNONYM PUBLIC_TEST FOR TEST;
删除同义词
DROP [PUBLIC] SYNONYM [schema.] synonym_name [FORCE];
PUBLIC: 容许删除PUBLIC同义词, 如果使用了PUBLIC关键字,则可以省略schema。
FORCE:用来强制删除同义词,即使它在数据库中有其它的依赖。
Tip:实际使用db_link较多,因为同义词的作用范围相对于数据表。而db_link的作用范围相对于数据库
;