当用户要跨本地数据库,访问另一个数据库表中的数据时,本地数据库中必须建立了远程数据库的dblink,经过dblink本地数据库能够像访问本地数据库同样访问远程数据库表中的数据。下面讲介绍我以前项目中如何在本地数据库中建立dblink。sql
本地数据库创建数据库连接"DBLINK_OUT"数据库
CREATE DATABASE LINK "DBLINK_OUT"
CONNECT TO "REMOTE_DB" IDENTIFIED BY VALUES 'REMOTE_DB_PASS'
USING '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.43)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)'服务器
远程数据库创建数据库连接"DBLINK_IN"class
CREATE DATABASE LINK "DBLINK_IN"
CONNECT TO "LOCAL_DB" IDENTIFIED BY VALUES 'LOCAL_DB_PASS'
USING '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.142)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)'test
查询、删除和插入数据和操做本地的数据库是同样的,只不过表名须要写成“表名@dblink服务器”而已。登录
例如:若是想在本地数据库中经过dblink访问远程数据库'orcl'中REMOTE_DB.tb_test表,sql语句以下所示:object
select * from REMOTE_DB.tb_test@DBLINK_OUT;select
DBLINK其余相关的知识:sql语句
一、查看全部的数据库连接,登陆管理员查看数据
select owner,object_name from dba_objects where object_type='DATABASE LINK';
2.删除数据库链接
drop database link DBLINK_OUT;