Oracle DB_LINK小结

DBLINK简述

A database link is a schema object in one database that enables you to access objects on another database. The other database need not be an Oracle Database System.

语法/写法

CREATE [ SHARED ] [ PUBLIC ] DATABASE LINK dblink
[ CONNECT TO
{ CURRENT_USER
|
user IDENTIFIED BY password [ dblink_authentication ]
}
| dblink_authentication
]...
[ USING
connect_string ] ;

关键字

  • PUBLIC,如果省略它默认创建的DB_LINK是private的不能被其它用户共享仅能自己使用。
  • SHARED,此关键字代表将创建的DB_LINK全局共享(与session相关),使用此关键字要求必须要有db_link_authentication(见示例2)
  • CONNECT TO,指定连接到远程数据库的连接标记
  • CURRENT_USER,使用当前用户信息建立与远程数据库的信息,这块要保证当前用户在远端数据库中存在并且合法。
  • USING,指定远端数据库地址信息(示例)

示例1
CREATE DATABASE LINK DB_LINK_NAME

CONNECT TO REMOTE_USER_CODE IDENTIFIED BY USER_PASSWORD

USING '192.168.0.8:1521/SID';

示例2

CREATE SHARED DATABASE_LINK DB_LINK_NAME

CONNECT TO REMOTE_USER_CODE_1 IDENTIFIED BY USER_PASSWORD_1

AUTHENTICATED BY REMOTE_USER_CODE_2 IDENTIFIED BY USER_PASSWORD_2

USING '192.168.0.8:1521/SID'

示例2_1

CREATE SHARED DATABASE_LINK DB_LINK_NAME

AUTHENTICATED BY REMOTE_USER_CODE_2 IDENTIFIED BY USER_PASSWORD_2

USING '192.168.0.8:1521/SID'

注意,示例2中出现两个REMOTE_USER_CODE分别是REMOTE_USER_CODE_1\REMOTE_USER_CODE_2,因为指定了SHARED关键字必须要求有AUTHENTICATION而这时CONNECT TO可以省略(如示例2_1)。

用法

  1. SELECT COUNT(*) FROM USER_TABLES@DB_LINK_NAME;
  2. UPDATE SYS_USER@DB_LINK_NAME SET USER_NAME = '001' WHERE AGE>50
  3. INSERT INTO SYS_USER@DB_LINK_NAME(USER_ID,USER_NAME,AGE) VALUES(001,'001', 51)
  4. DELETE FROM USER_TABLES@ WHERE USER_ID = '001'

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值