如何创建dblink

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

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

,@+w/l9`.K$X C$f0create database link cntr_dblink connect to ngenusr identified by ngenusr using 'ngendemo'51Testing软件测试网7{v't$A:kPj&Yw
create synonym container forcontainer@cntr_dblink51Testing软件测试网OZ$~Jod h

51Testing软件测试网'wt\}r

drop synonym container51Testing软件测试网#G_qog.e r

51Testing软件测试网RV)I1qh

drop database link cntr_dblink

_J(v%vLP}i!t0

?@J;Zlp0 51Testing软件测试网C-gW,X,K%\Rd

*I%SU)_a0m0物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。    
:P$L^5Yv)qW)z0   
j&{kXR {c?3x0  数据库之间的链接建立在DATABASE   LINK上。要创建一个DATABASE   LINK,必须首先在建立链接的数据库上设置链接字符串,即配置一个远程数据库的本地网络服务名。    
Z S_x.Fi)Q2[7l0   
/OQ;Fd+|3G7H&wz2r0  链接字符串的配置参见《客户端连接服务器》一节。    51Testing软件测试网E \@9A/[P#}q
   
p1I%WW4D5{$Z,mu]0       51Testing软件测试网h9Q&H EoU_ L8aw0w
   
%Xh P|wmKp3|9]F0  创建数据库链接    51Testing软件测试网W8x*IIc'eSzS
   51Testing软件测试网+a wQ AZb$EL
       51Testing软件测试网1vmY8ec
   
3v-s0Xu~0          创建数据库链接的语法如下:    
Yc/Q"?Lm j0   51Testing软件测试网BJ/p g'D%P*R"W K*E
  CREATE   [PUBLIC]   DATABASE   LINK   link    
[_ x?Jk*l9? p~1Tf0   
||xl_w7Y j0  CONNECT   TO   username   IDENTIFIED   BY   password    
EOl^D0   
7?6r/tT+f,^D p%\0  USING   ‘connectstring’    51Testing软件测试网-Dk c0x9_ V-B]Z m]6B
   51Testing软件测试网,yJ2EQ {
       51Testing软件测试网 h4SZ*C*_h j&UB
   51Testing软件测试网/wc/Cf9MI._#W
  注意:创建数据库链接的帐号必须有CREATE   DATABASE   LINK或CREATE   PUBLIC   DATABASE   LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE   SESSION权限。这两种权限都包含在CONNECT角色中(CREATE   PUBLIC   DATABASE   LINK权限在DBA中)。    
1M2B3Xl1gn V-o0   51Testing软件测试网f#Z+A+EQ zu
  一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。    51Testing软件测试网yeP9U1? RwRC.O
   51Testing软件测试网wiq/Oy
  创建数据库链接时,还可以使用缺省登录方式,即不指定远程数据库的用户名和密码:    51Testing软件测试网 W9FOTIA-_2V
   51Testing软件测试网4s1c{)eTa2f
  create   public   database   link   sbzw_link    
%C;D;U{0s0ZoR0   
n5k[u5tE0  using   ‘sbzw’;    
L%X&T1lk0   51Testing软件测试网[| E s5[!A
  在不指定用户名和口令的情况下,ORACLE使用当前的用户名和口令登录到远程数据库。    51Testing软件测试网8n |0O p jg}
   
uK.Vx#sw+G0       
Q8RTK0Kh%?7\7tv0   
`+E&p*DJ`1L$q8@u0  USING后面指定的是链接字符串,也就是远程数据库的网络服务名,这个服务名保存在TNSNAMES.ORA文件中,在该文件中定义了协议、主机名、端口和数据库名。    51Testing软件测试网 UQy.l4r1C7u
   
Rw6}Y?GVZ0       51Testing软件测试网y;f$O[w|+E
   
2]j$eb1\3y k_0  删除数据库链接的语句是:    
Mw!Sb m,Y'Bg0H O0   51Testing软件测试网lf$po\0tV)b8`
  DROP   [PUBLIC]   DATABASE   LINK   sbzw_link    51Testing软件测试网]uf@6xA
   51Testing软件测试网 l(Z+sf*kw'~+G
       
PJ/y*_m vs0   51Testing软件测试网7t{Ao0eQ@ lc4bw
  数据库链接的引用    51Testing软件测试网D v/a*[%M.V j
   51Testing软件测试网XSL }bE0lR
       51Testing软件测试网!W;nvYqRpI5g c
   
:On'UN L:B8H0  一般情况下引用数据库链接,可以直接将其放到调用的表名或视图名称后面,中间使用一个   @   作为分割符:    51Testing软件测试网FY I OW
   
P1k0}-n0O0  SELECT   *   FROM   worker@sbzw_link    51Testing软件测试网R6H/ftt{
   51Testing软件测试网1v](CJh\5q4q
       
w}_N(_ c0   
Su%\-h}J;P0  对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:    
gEZr_ K&@$~v/a0   
-Evd9E \?uP&z']0  CREATE   SYNONYM   worker_syn   FOR   worker@sbzw_link    51Testing软件测试网0T[f,Ftu*g] }
   
|5~2j'z Sb0       51Testing软件测试网'__3s J(Z.U_
   
7SHr}8O"f"x0  还可以建立一个本地的远程视图,方便使用:    51Testing软件测试网svi1TUfX!?;`
   
PT6TYM_0  CREATE   VIEW   worker   AS   SELECT   *   FROM   worker@sbzw_link   where…    
$\H)Y'w5K-R/?0   51Testing软件测试网*dA-@8e&r+q
  现在本视图可与本地数据库中的任何其它视图一样对待,也可以授权给其它用户,访问此视图,但该用户必须有访问数据库链接的权限。    51Testing软件测试网%vQ\i2E9Z w6v$j
   
r;Y-["oW0       
8w3h:Y3?9}0   
1rN` |z k3z x0  对于另外一种情况,所要访问的表不在数据库链接中指定的远程帐户下,但该帐户有访问该表的权限,那么我们在表名前要加上该表的用户名:    
7`Q HUh2PT,`0   
6|$hd/H,b4p0  SELECT   *   FROM   camel.worker@sbzw_link  

E%U*`JI4s5QXb'N~0

TAG: Oracle

 

评分:0

我来说两句

Open Toolbar