日期:2014-05-16  浏览次数:20489 次

Oracle创建DataBase Link 基本语法

数据库链接(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名称