oracle DBLink

现有两个oracle DB为A和B,为了能在A数据库中对B数据库进行操作,我们需要在A数据库中建立对B的DBLink。
    在创建DBLink之前,我们首先去检查下DB A的global_names的值(select name,value from v$parameter where name =‘global_names‘),当此值为true时表示DBLink作用于同名的DB,反之DBLink连接的两台DB可以不同名,一般情况我们的DB都不会是同名的,故我们需要此参数值为false,如为true,需要将其改成false(alter system set global_names=false;)。
    下面我们就可以创建DBLink了,执行以下语句:
create public database link A_TO_B
  connect to <用户名> identified by <密码>  
  using ‘(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = B)
    )
  )‘;
其中<用户名>和<密码>为DB B的数据库的访问的用户名和密码,using后面为DB B的tns的配置路径。若只DB A中的TNS文件中已经配置好了DB B的访问路径,则以上的创建语句也可简写成如下:
create public database link A_TO_B
  connect to <用户名> identified by <密码>  
  using ‘B‘;
DBLink创建好后,我们就可以在DB A中去对DB B进行操作了。比如我们登录到DB A中去查看DB B中的emp table的数据,我们可以这样写查询语句(select * from [url=mailto:emp@A_TO_B]emp@A_TO_B[/url])
(注:如果DB的版本为11g及其以上版本,创建DBLink时的用户名和密码则区分大小写,而且需要用双引号将其引起来)

注:sqlplus下登录远程服务器oracle的指令如下:sql>connect username/password@ipAddress/sid;

oracle DBLink,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。