数据库链接(Database Link)告诉Oracle如何从一个库到达另一个数据库,当需要访问另一个Oracle服务器时,可以使用Database Link,DBLink是非常实用的快捷方式之一。
创建DBLink的语法为
create public database link <DBLink名称> connect to <被连接库的用户名> identified by <被连接库的密码> using '<Oracle客户端工具建立的指向被连接库服务名>';
一般情况下是实用ip地址来链接另一个Oracle服务器。如:
create database link SINGLELINELINK connect to SINGLELINETEST identified by singlelinetest using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.150.181.83)(PORT = 1521)) ) (CONNECT_DATA = --(SID = ORCL)或者 (SERVICE_NAME=ORCL) ) )';
?基本操作:
创建DBLINK:
使用pl/sql developer建:找到Database Links,右键新建
????????????????????????? 名称:dblink名? 连接到用户名:目标数据库登录名 密码:目标数据库密码
??????????????????????????数据库:目标数据库服务名
查询表:
select * from 用户名.表 @DBLINK名称 where 条件;
?
查询函数:
select? 用户名.函数名@DBLINK名称(参数) from dual;
?
在本地函数中调用dblink函数:
Result:=用户名.函数名@DBLINK名称(参数);
?
复制dblink中的表结构与数据:
CREATE TABLE?表名 AS SELECT * FROM?用户名.表名@DBLINK名称?where 条件
索引这些可以使用手工建:在pl/sql developer的SQL窗口中选中表名再查看表结构
备注:
如果机子上同时安装Oracle的数据库与客户端,要用数据库建需连接dblink的数据库的服务
在过程中创建表时要先给权限execUTE immediate 'Grant Create any table to 用户名';
从dblink的从张表中取数只需在每个表名后加@dblink名称