如何创建dblink

上一篇 / 下一篇  2008-06-24 21:46:15 / 个人分类:Oracle

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP

+~)t]4ydQ(rmj0create database link cntr_dblink connect to ngenusr identified by ngenusr using 'ngendemo'
r-z+|nm4s0create synonym container forcontainer@cntr_dblink51Testing软件测试网4xDC MQO

51Testing软件测试网$GDw%K$r }OI

drop synonym container

}Iz3u$Z-b051Testing软件测试网^ew\r.} e y

drop database link cntr_dblink51Testing软件测试网,xzCd \

51Testing软件测试网8yfMo1~0I!Sy

 

6?l9r*Tsh051Testing软件测试网 f9u[5qvm

物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。    
wIP;bQr9tH0   51Testing软件测试网bjK f7s \%^
  数据库之间的链接建立在DATABASE   LINK上。要创建一个DATABASE   LINK,必须首先在建立链接的数据库上设置链接字符串,即配置一个远程数据库的本地网络服务名。    
-F~[MaLi0   
T7?3IR |:r5K1i7}ww |0  链接字符串的配置参见《客户端连接服务器》一节。    
U.r mV3F NGF*z0   51Testing软件测试网/a S-s)D3i5k4X2L
       51Testing软件测试网-U(Tk]G WpDf0H n
   
!K2QU-N YQ)S%Z0  创建数据库链接    
y;\X%DzOEg0   
#Lt5ap:Pt*?*?a7Y0       
&p\ ^P,QA4T/q0   51Testing软件测试网+`I*v3A6u$t%m?J
          创建数据库链接的语法如下:    51Testing软件测试网5Z N @#p:K9zL
   51Testing软件测试网*n2N`1myMp
  CREATE   [PUBLIC]   DATABASE   LINK   link    51Testing软件测试网+T ?GYqfL5qW
   
c6G0U~9t{)M0  CONNECT   TO   username   IDENTIFIED   BY   password    51Testing软件测试网V^_,NCxy5v6z
   
/p:]mA$d|gm0  USING   ‘connectstring’    51Testing软件测试网'}?y\:{(HJZ
   51Testing软件测试网 yG2|'^q.pMm
       
+wD-@'v` j#b H0   
h3Ep&pMt0  注意:创建数据库链接的帐号必须有CREATE   DATABASE   LINK或CREATE   PUBLIC   DATABASE   LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE   SESSION权限。这两种权限都包含在CONNECT角色中(CREATE   PUBLIC   DATABASE   LINK权限在DBA中)。    
n[0f(F0@CQ0   51Testing软件测试网 B!AFZxQ!~Jz H9D
  一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。    
&Y`#@A*s.I6D(NIJ0   51Testing软件测试网5BD.rBIc
  创建数据库链接时,还可以使用缺省登录方式,即不指定远程数据库的用户名和密码:    
%C\i%Q2XG0   
gd9]0j`D0  create   public   database   link   sbzw_link    
Yzz(R? t0_'i0   51Testing软件测试网%nQk:O N
  using   ‘sbzw’;    51Testing软件测试网,MkX h3a
   
[ `j,z v#Jz0  在不指定用户名和口令的情况下,ORACLE使用当前的用户名和口令登录到远程数据库。    51Testing软件测试网/DQ1Vr$@
   51Testing软件测试网/yi8I J*u.h&r
       51Testing软件测试网 aNm-ML;G| |-l^
   
C3]i[{1q0  USING后面指定的是链接字符串,也就是远程数据库的网络服务名,这个服务名保存在TNSNAMES.ORA文件中,在该文件中定义了协议、主机名、端口和数据库名。    51Testing软件测试网x)Q9sm/e4z5O
   
f_c6z(l!J\2rz;C0       
:\I`TW c v0   
3CX} @L@+|F?0  删除数据库链接的语句是:    51Testing软件测试网;L wc7c-};i T?RW
   51Testing软件测试网pH(N n2q,?O7G6m
  DROP   [PUBLIC]   DATABASE   LINK   sbzw_link    
G0m m.zg}yc0   51Testing软件测试网5A;TF ?edZ5YF
       
_-i Qd/gCt#v0   51Testing软件测试网 vF},xwae sg#a
  数据库链接的引用    51Testing软件测试网N g;A.q7ip
   51Testing软件测试网C"Z6f*IS'b0bAH
       
&DF `G.\D `0   51Testing软件测试网D#a L:X{F[vO
  一般情况下引用数据库链接,可以直接将其放到调用的表名或视图名称后面,中间使用一个   @   作为分割符:    51Testing软件测试网 B+s8OUm%kS$V
   51Testing软件测试网!a2g4H,Yeu1B
  SELECT   *   FROM   worker@sbzw_link    
7}M)\2c] L.d0   
7m"s ]9R[to$Z0       
(n7q)}HW&Hd U0   51Testing软件测试网?k|,H j7^+G0q_
  对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:    51Testing软件测试网/WI in2z.s9{X@0i
   51Testing软件测试网V"L6W^'?3[f!A
  CREATE   SYNONYM   worker_syn   FOR   worker@sbzw_link    
4Oga iP[ hQ0   51Testing软件测试网$a e~0Qv-R AH B
       
^8v"|"o%}J0   
#ekV)h\A8q0  还可以建立一个本地的远程视图,方便使用:    51Testing软件测试网7dnCf4R V
   51Testing软件测试网9JuPms5a
  CREATE   VIEW   worker   AS   SELECT   *   FROM   worker@sbzw_link   where…    51Testing软件测试网 c0F3Ql5e$o YE.U/U
   
x.O4_}C8T0  现在本视图可与本地数据库中的任何其它视图一样对待,也可以授权给其它用户,访问此视图,但该用户必须有访问数据库链接的权限。    
RiWW`{t0   
^!c Bu8x7d x] V0       51Testing软件测试网R rb1?oF%P$t-i
   
(hg``GM#} C1\G0  对于另外一种情况,所要访问的表不在数据库链接中指定的远程帐户下,但该帐户有访问该表的权限,那么我们在表名前要加上该表的用户名:    51Testing软件测试网K+LE1K K/i9u
   51Testing软件测试网Y@"DiM AiGSgW
  SELECT   *   FROM   camel.worker@sbzw_link  

{s-@5^ e6h Y0

TAG: Oracle

 

评分:0

我来说两句

Open Toolbar