使用场景
当你需要跨本地数据库访问另外一个数据库表中的数据时,在本地数据库中创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
创建dblink
/*
emr_dblink : 表示dblink名字
db_name :表示 远程数据库的用户
db_pwd:表示 远程数据库的密码
HOST : 表示远程数据库IP
PORT : 表示远程数据库端口
SERVICE_NAME : 远程数据库的实例名
*/
create database link emr_dblink
connect to db_name identified by db_pwd
using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)';
删除dblink
drop database link emr_dblink;
DBLINK使用操作
增删改查数据和操作本地的数据库是一样的,表名需要写成“表名@dblink服务器”。
/*注:前提得赋予【增删改查】权限*/
insert into test_tab01@emr_dblink (id,name) values ('1','test');
delete from test_tab01@emr_dblink where
update test_tab01@emr_dblink set name='zs' where id='1';
select * from test_tab01@emr_dblink;