DB Link 数据复制及集成技术(一)

来源:互联网 发布:六度人脉关系理论编程 编辑:程序博客网 时间:2024/06/06 02:51

 Oracle在进行数据复制及集成的方法很多,若使用在线数据复制,则第一步必须是建立DB LINK,也就是建立数据库的通信链路

 

1、

    创建DB LINK的SQL语句如下:

 

   Create (schema) database link linkname connect to username identified by password

 

   using netname

 

 

   schema: 不指定时,默认为当前用户

 

   linkname: db link的名称

 

  username:远程数据库上的用户名,就是说,你想以远程数据库的哪个用户连接到远程数据库

 

  password:对应上面用户名的口令

 

  netname: 服务名,可以是本地已配好的net服务名,该服务名指向远程数据库服务器,也可以是如下方式

 

      DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = IP ADDRESS)(PORT = 1521))
   )
   (CONNECT_DATA =
   (SERVICE_NAME = NETSERVICENAME(指远程数据库上的))
   )

 

如创建一公共的DB LINK,公共DB LINK就是任何用户都可以使用的,否则就是私有的DB LINK;

 

   Create public database link linkname connect to scott identified by password

 

   using '

      DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521))
   )
   (CONNECT_DATA =
   (SERVICE_NAME = dbname)
   )'

 

该语句创建了一个名为linkname 的DB LINK,该LINK使用远程数据库上的SCOTT用户接入,远程数据库服务器的IP地址是10.10.10.10,NET服务名是dbname

 

 

当本地参数global_names设置为真时,则LINKNAME应该和要连接的远程数据库名相同(注意是全局名)

否则可以是任何合法名称

 

数据库全局名的形成:DB_NAME + db_domain+  = db_name.db_domain;

 

db_domain,db_name都是初始化参数,可在OEM(Oracle Enterprise Console)中看到

 

创建DBLINK时,ORACLE自动给该LINK加上GLOBAL_NAME

 

如上例,最后创建出的LINKNAME如下

 

LINKNAME.GLOBAL_NAME;

 

2、global_names参数设置

 

SQL>ALTER SYSTEM SET GLOBAL_NAMES = TRUE / FALSE;

 

3、GLOBAL_NAME的修改

 

ORACLE默认的GLOBAL_NAME很长,好象是RDBMS.ORACLE.US.COM?,可以修改该名字

 

SQL>UPDATE GLOBAL_NAME SET GLOBAL_NAME = 'YOUR GLOBAL_NAME';

 

 

 

 

原创粉丝点击