两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。
6iCFv7Ip9JMF^6R0例如:数据库服务器A,数据库服务器B,数据库客户端C;通过客户端C连到A,在A上操作访问B。
Q
Vt"p6P!j!F#H0 51Testing软件测试网|
i~9|1s4{(G
1、在数据库客户端C的tnsnames中配置数据库服务器A的服务
x(qgn @0 51Testing软件测试网0Ucy qQ(~\r
LMISDX_LOCAL=
*}P'J&AhVa?Z0 (DEscrīptION =51Testing软件测试网V'h0{%My^4i{t[
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
?bd3A|0 (CONNECT_DATA =51Testing软件测试网;j7P3kZW:|0Pg0f
(SERVER = DEDICATED)51Testing软件测试网Rp*gq6V(a:T
(SERVICE_NAME = LMISdx)
)DK:Q9q2ET%P0 )51Testing软件测试网1Osq,z
rb
)
J:[0E[wP$C0
Xj%~'N
Y7Yf0 2、这样就可以通过客户端访问到数据库A的用户
L&H${L"Q2dZ\0
Z;f.}8L%Yk/Yg0 3、在数据库服务器A的tnsnames中配置数据库服务器B的服务51Testing软件测试网2f0O,vt,l
-?8A)tt w W2VN7D2B0 LMISSD=51Testing软件测试网.gg%B+_y
(DEscrīptION =
Q)U`HqI-Fm0 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))51Testing软件测试网6Pm/V9j$o/["?
(CONNECT_DATA =51Testing软件测试网'c5xL/~A
(SERVER = DEDICATED)
,nd#R^gYA0 (SERVICE_NAME = LMIS)
|-X~1j3J|#P7N|5SG0 )51Testing软件测试网yK:^#p!R%Gjo
)51Testing软件测试网7C\0k$R/[o^ Z1Op
51Testing软件测试网muT-{&rpwS+?
4.通过客户端C访问到数据库A的用户,在A上创建数据库链接51Testing软件测试网K)jCa+r{P
FE%h`3W2P
c)Lw0 51Testing软件测试网`D]^w
51Testing软件测试网X&g#[0I;k
jv)r*J5@mB
-- Create database link51Testing软件测试网 ^/c*n+z*G"@
createpublicdatabaselinkLMIS_SDTEST51Testing软件测试网/h1jMJ)Q.[;a^"f)C|
connecttoLMIS_SDTESTidentifiedby***
L])G.TY.R-i0 using'LMISSD';51Testing软件测试网7jKG%y'V$e1K
51Testing软件测试网}\%T2|b4~^
Create DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;51Testing软件测试网3ZS iZf$Ot^
51Testing软件测试网(H
a-uO(Kmf$?
5、查询远端数据库里的表(通过客户端C登陆到数据库服务器A访问数据库B)
~)}*Km PQ3ZUV051Testing软件测试网]-I@#Y C4yfk N8Z
Select …… FROM 表名@数据库链接名;
v:S}VX%`0 SELECT*FROMSPKFK@LMIS_SDTEST
M#X9_2W"CBE`2wR0
#xW%UGA!y0 注意:创建是很简单,但是在使用中后台却出现锁,查看这个锁的方法可以去console中看到或者查询数据库。每次使用dblink查询的时候,均会与远程数据库创建一个连接,dblink应该不会自动释放这个连接,如果是大量使用dblink查询,会造成web项目的连接数不够,导致系统无法正常运行,导致系统无正常运行。51Testing软件测试网/{/gw$Hx@@!M"r