Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 1
MC LC
MC LC 1
LI M U 3
PHN 1: KIN TRÚC C S D LIU PHÂN TÁN 4
1
H c s d liu phân tán ng nht 4
2
H c s d liu phân tán không ng nht 7
3
Kin trúc c s d liu Khách/Ch 9
PHN 2: LIÊN KT C S D LIU 12
1
Liên kt d liu là gì? 12
2
Liên kt c s d liu chia s là gì? 14
3
Ti sao s dng liên kt c s d liu? 15
4
Tên c s d liu toàn cc trong liên kt c s d liu 16
5
Tên liên kt c s d liu 18
6
Các loi liên kt c s d liu 19
7
Ngi dùng liên kt c s d liu 20
8
To liên kt c s d liu 25
9
i tng lc và liên kt c s d liu 26
10
Hn ch ca liên kt c s d liu 29
PHN 3: QUN TR C S D LIU PHÂN TÁN 30
1
Vùng t tr 30
2
Bo m t c s d liu phân tán 31
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 2
3
Ki!m toán liên kt c s d liu 38
4
Công c qun tr 39
PHN 4: X∀ LÝ GIAO TÁC TRONG H TH#NG PHÂN TÁN 41
1
Câu lnh SQL t∃ xa 41
2
Câu lnh SQL phân tán 41
3
Chia s SQL t∃ xa và phân tán 42
4
Giao tác t∃ xa 43
5
Giao tác phân tán 43
6
C ch Commit hai l%n 44
7
Phân gii tên liên kt c s d liu 44
8
Phân gii tên i tng lc 47
9
Phân gii tên toàn cc cho View, Synonym và Th tc 51
PHN 5: PHÁT TRI&N ∋NG DNG C S D LIU PHÂN TÁN 55
1
S trong sut trên h c s d liu phân tán 55
2
G(i th tc t∃ xa (RPCs) 57
3
Ti u truy vn phân tán 58
KT LU)N 59
TÀI LIU THAM KHO 60
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 3
LI M U
B∗c sang th k+ 21, nhân loi ã chuy!n t∃ xã h,i công nghip sang xã h,i
thông tin. V∗i mng Internet tc , cao ngày càng c m r,ng trên toàn th
gi∗i, v∗i vic −ng dng Công ngh thông tin ngày càng sâu hn trong nhi.u l/nh
vc, nhu c%u và kh n0ng kt ni, chia s thông tin ca con ngi ang tr nên
l∗n hn bao gi ht. Cu,c cách mng Internet ã gây ra m,t thách th−c l∗n trong
vic lu tr và x lý thông tin sao cho hiu qu da trên tài nguyên s1n có. H c
s d liu phân tán ra i nh2m gii quyt vn . trên.
H c s d liu phân tán c phát tri!n da trên c s d liu truy.n
thng và mng máy tính tc , cao. C s d liu phân tán gm nhi.u c s d
liu tích hp li v∗i nhau thông qua mng máy tính ! trao 3i d liu, thông
tin… C s d liu c t3 ch−c và lu tr nhng v trí khác nhau trong mng
máy tính và chng trình −ng dng làm vic trên c s truy c p d liu nhng
i!m khác nhau ó.
Thông qua bài thu hoch này, em mun tìm hi!u chi tit c ch hot ,ng
ca c s d liu phân tán c th! trên h qun tr c s d liu Oracle 9i.
Tuy ã có nhi.u c g4ng nhng do hn ch v. kinh nghim, kin th−c, thi
gian và ngun tài liu tham kho nên các vn . tìm hi!u trong bài ti!u lu n ch4c
ch4n còn nhi.u thiu sót. Kính mong Th%y xem xét và góp ý thêm.
Em xin chân thành cám n Thy!
Trng Lê Minh Ngc
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 4
H c s d liu phân tán cho phép các −ng dng truy c p d liu trên
c s d liu cc b, và t∃ xa. Trong h c s d liu phân tán ng
nht, m5i c s d liu là m,t c s d liu Oracle. Trong h c s d liu
phân tán không ng nht, ít nht m,t trong các c s d liu là c s d
liu Oracle. C s d liu phân tán s dng kin trúc Khách/Ch ! x lý các
thông tin yêu c%u.
!∀#∃%&∋(&)∗&+&∃,∋
H c s d liu phân tán ng nht là m,t mng l∗i ca hai ho6c nhi.u
c s d liu Oracle c trú trên m,t ho6c nhi.u máy. Hình sau minh h(a m,t
h thng phân tán kt ni 3 c s d liu: hq , mfg , và sales. M,t −ng dng
ng thi có th! truy c p ho6c sa 3i d liu trong m,t s c s d liu trong
m,t môi trng phân tán duy nht. Ví d, m,t truy vn t∃ m,t khách hàng
Manufacturing trên c s d liu cc b, mfg có th! ly d liu t∃ bng
products trên c s d liu cc b, và bng dept trên c s d liu t∃ xa hq.
i v∗i −ng dng khách hàng, v trí và n.n tng ca c s d liu là trong
sut. Bn c7ng có th! to ra các synonym cho các i tng t∃ xa trong h
thng phân tán ! ngi dùng có th! truy c p chúng v∗i cú pháp tng t nh
các i tng cc b,. Ví d, nu bn kt ni v∗i c s d liu mfg nhng
mun truy c p d liu trên c s d liu hq, to ra m,t synonym trên mfg cho
bng dept xa cho phép bn s dng truy vn sau:
SELECT * FROM dept;
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 5
B2ng cách này, h thng phân tán cho phép truy c p d liu t∃ xa ging
nh truy c p d liu cc b,. Ngi s dng trên mfg không c%n phi bit d
liu h( truy c p ang n2m trên c s d liu t∃ xa.
H c s d liu phân tán Oracle có th! hot ,ng v∗i các phiên bn c s
d liu Oracle khác nhau. Tt c các phiên bn h5 tr ca Oracle có th! tham
gia trong m,t h c s d liu phân tán. Tuy nhiên, các −ng dng làm vic v∗i
các c s d liu phân tán phi hi!u các ch−c n0ng ó là có s1n ti m5i nút
trong h thng.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 6
− !∀#∃%&∋(&./01 2#∃%&∋(&
C s d liu phân tán và x lý phân tán liên quan ch6t ch8, nhng có ý
ngh/a riêng bit. C th! nh sau:
•
C s d liu phân tán
M,t t p hp các c s d liu trong m,t h thng phân tán khin cho
−ng dng hi!u nh là m,t ngun d liu duy nht.
•
X lý phân tán
Các hot ,ng xy ra khi m,t −ng dng phân phi các nhim v ca
mình gia các máy tính khác nhau trong m,t mng. Ví d, m,t −ng
dng c s d liu thng phân phi nhim v trình di9n front-end cho
các máy khách và cho phép m,t máy ch c s d liu back-end qun
lý truy c p chia s c s d liu. Do ó, h thng x lý −ng dng c s
d liu phân tán thng c g(i là h −ng dng c s d liu
khách/ch.
H c s d liu phân tán Oracle s dng kin trúc x lý phân tán. Ví d,
máy ch c s d liu Oracle óng vai trò nh m,t máy khách khi nó yêu c%u
d liu do máy ch c s d liu Oracle khác qun lý.
−3 !∀#∃%&∋(&./ !∀&∃%&45&
H c s d liu và c s d liu nhân bn có liên quan, nhng khác
bit. Trong c s d liu phân tán nguyên thy (không nhân bn), h thng
qun lý m,t bn sao duy nht ca tt c các d liu và các i tng c s d
liu. Các −ng dng c s d liu phân tán s dng các giao tác phân tán !
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 7
truy c p vào c d liu cc b, và t∃ xa và sa 3i các c s d liu toàn cc
trong thi gian thc.
Nhân bn . c p n các hot ,ng sao chép và duy trì các i tng c
s d liu trong nhi.u c s d liu thu,c v. m,t h phân tán. Trong khi nhân
bn da trên công ngh c s d liu phân tán, c s d liu nhân bn cung
cp các li ích mà không th! có trong môi trng c s d liu phân tán
nguyên thy.
Thông thng, nhân bn c s dng ! ci thin hiu sut c s d liu
cc b, và bo m tính s1n sàng ca các −ng. Ví d, −ng dng thng truy
c p vào c s d liu cc b, hn là m,t máy ch t∃ xa ! gim thi!u lu
lng truy c p mng và t c hiu sut ti a. Hn na, −ng dng có th!
tip tc hot ,ng nu máy ch cc b, g6p s c, nhng các máy ch khác v∗i
d liu nhân bn v:n có th! truy c p.
3 !∀#∃%&∋(&6∃7&+)∗&+&∃,∋
Trong h c s d liu phân tán không ng nht, ít nht m,t trong các c
s d liu là h thng non-Oracle. i v∗i −ng dng, h c s d liu phân
tán không ng nht xut hin nh là m,t c s d liu Oracle cc b, và duy
nht. Máy ch c s d liu Oracle cc b, che giu s phân b không ng
nht ca d liu.
Các máy ch c s d liu Oracle truy c p h thng non-Oracle s dng
dch v không ng nht ca Oracle kt hp v∗i m,t agent. Nu truy c p d
liu non-Oracle b2ng Oracle Transparent Gateway, thì agent là m,t −ng dng
h thng c th!. Ví d, nu a c s d liu Sybase vào h phân tán Oracle,
thì c%n phi có m,t c3ng Sybase trong sut ! c s d liu Oracle trong h
thng có th! giao tip v∗i nó.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 8
Ngoài ra, có th! s dng kt ni thông thng ! truy c p d liu non-
Oracle mi9n là h thng non-Oracle h5 tr các giao th−c ODBC hay OLE DB.
3− 8∃.96∃7&+)∗&+&∃,∋
Dch v không ng nht (Heterogeneous Services - HS) là m,t thành
ph%n tích hp trong các máy ch c s d liu Oracle và −ng dng công ngh
ca sn ph;m Oracle Transparent Gateway. HS cung cp các kin trúc thông
thng và c ch qun lý cho các sn ph;m Oracle gateway và các thit b
truy c p không ng nht. Ngoài ra, nó cung cp ch−c n0ng tng thích
ngc cho ngi s dng ca h%u ht các phiên bn Oracle Transparent
Gateway tr∗c ó.
3−3 :;&#;:<&∋=;∋<>;?≅+<&∋
i v∗i m5i h thng non-Oracle mà bn truy c p, dch v không ng
nht có th! s dng transparent gateway agent ! giao tip v∗i h thng non-
Oracle. Agent 6c trng cho h thng non-Oracle, vì v y m5i ki!u h thng
òi h<i m,t agent khác nhau.
Transparent gateway agent to i.u kin giao tip gia c s d liu
Oracle và non-Oracle và s dng các thành ph%n ca dch v ng nht trong
các máy ch c s d liu Oracle. Agent thc thi câu lnh SQL và yêu c%u
giao tác ti h thng non-Oracle thay cho các máy ch c s d liu Oracle.
3−Α =<&<:!Β&&<∋!.!∋?
Generic connectivity cho phép kt ni n d liu lu tr non-Oracle b2ng
cách s dng Heterogeneous Services ODBC agent ho6c Heterogeneous
Services OLE DB agent - c hai có trong sn ph;m Oracle nh m,t tính n0ng
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 9
tiêu chu;n. Bt k= data source tng thích v∗i các tiêu chu;n ODBC ho6c
OLE DB có th! c truy c p b2ng cách s dng generic connectivity agent.
Li th ca generic connectivity là không yêu c%u mua và cu hình agent
riêng bit. S dng ODBC hay OLE DB driver có th! giao tip v∗i agent. Tuy
nhiên, m,t s tính n0ng truy c p d liu ch> có s1n v∗i các transparent
gateway agent.
Α !Χ&∋:∆ !∀∃(∃Ε∃Φ
Máy ch c s d liu là ph%n m.m Oracle qun lý c s d liu, và
khách hàng là −ng dng yêu c%u thông tin t∃ máy ch. M5i máy tính trong
m,t mng là m,t nút có th! lu tr m,t ho6c nhi.u c s d liu. M5i nút
trong m,t h c s d liu phân tán có th! hot ,ng nh m,t khách hàng,
máy ch, ho6c c hai tùy trng hp.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 10
Khách hàng có th! kt ni trc tip ho6c gián tip n máy ch c s d
liu. Kt ni trc tip xy ra khi khách hàng kt ni n máy ch và truy c p
thông tin t∃ c s d liu ch−a trên máy ch ó. Ví d, nu bn kt ni v∗i c
s d liu hq và truy c p vào bng dept trên c s d liu này nh trong hình
trên, bn có th! truy vn nh sau:
SELECT * FROM dept;
Truy vn này là trc tip bi vì bn không truy c p vào i tng trên c
s d liu t∃ xa.
Ngc li, kt ni gián tip xy ra khi khách hàng kt ni n máy ch và
sau ó truy c p thông tin ch−a trong c s d liu trên máy ch khác. Ví d,
nu bn kt ni v∗i các c s d liu hq nhng truy c p bng emp trên c s
d liu sales t∃ xa nh trong hình trên, bn có th! truy vn nh sau:
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 11
SELECT * FROM emp@sales;
Truy vn này là gián tip vì các i tng bn ang truy c p không phi là
trên c s d liu mà bn ang kt ni trc tip.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 12
3Γ
Khái nim trung tâm trong h c s d liu phân tán là liên kt c s d
liu. Liên kt c s d liu là kt ni gia hai máy ch c s d liu v t lý
cho phép khách hàng truy c p chúng nh c s d liu lu n lý.
!Η&6Χ∋ !∀ /+Ιϑ
Liên kt c s d liu là con tr< xác nh ng liên lc m,t chi.u t∃ máy
ch c s d liu Oracle n máy ch c s d liu khác. Con tr< liên kt
c nh ngh/a nh là m,t mc trong bng t∃ i!n d liu. ! truy c p vào
liên kt, bn phi kt ni v∗i c s d liu cc b, có ch−a các mc t∃ i!n d
liu.
Kt ni liên kt c s d liu là m,t chi.u ngh/a là khách hàng kt ni v∗i
c s d cc b, A có th! s dng liên kt c lu tr trong c s d liu A
! truy c p thông tin trong c s d liu t∃ xa B, nhng ngi dùng kt ni
v∗i c s d liu B không th! s dng liên kt ó ! truy c p d liu trong c
s d liu A. Nu ngi dùng cc b, trên c s d liu B mun truy c p d
liu trên c s d liu A, h( phi nh ngh/a m,t liên kt c lu tr trong t∃
i!n d liu ca c s d liu B.
Kt ni liên kt c s d liu cho phép ngi dùng cc b, truy c p d liu
trên c s d liu t∃ xa. ! kt ni này xy ra, m5i c s d liu trong h
thng phân tán phi có m,t tên c s d liu toàn cc duy nht trong
mng. Tên c s d liu toàn cc xác nh duy nht máy ch c s d liu
trong h thng phân tán.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 13
Hình sau cho thy ngi dùng scott truy c p vào bng emp trên c s d
liu t∃ xa v∗i tên toàn cc hq.acme.com:
Liên kt c s d liu có th! là riêng t ho6c công khai. Nu liên kt c s
d liu là riêng t thì ch> có ngi dùng to ra liên kt m∗i có quy.n truy c p,
nu liên kt c s d liu là công khai thì tt c ngi dùng c s d liu .u
có th! truy c p.
S khác bit ch yu gia các liên kt c s d liu là cách các kt ni
n c s d liu t∃ xa thc hin. Ngi dùng truy c p vào c s d liu t∃ xa
thông qua các ki!u liên kt sau:
Kiu liên kt Mô t
Liên kt ngi
dùng kt ni
Ngi dùng kt ni bi chính h( ngh/a là h( phi có m,t tài khon trên c s d liu t∃
xa v∗i tên ngi dùng ging nh tài khon ca h( trên c s d liu cc b,.
Liên kt ngi
Ngi dùng kt ni b2ng cách s dng tên ngi dùng và m t kh;u c tham chiu
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 14
Kiu liên kt Mô t
dùng c nh
trong liên kt. Ví d, nu Jane s dng liên kt ngi dùng c nh kt ni n c s
d
liu hq v∗i tên ngi dùng và m t kh;u scott / tiger, thì Jane có tt c các 6c quy.n
trong hq cp cho scott, và tt c các vai trò m6c nh scott ã c cp trong c s d
liu hq.
Liên kt ngi
dùng hin hành
Ngi dùng kt ni nh là ngi dùng toàn cc. Ngi dùng cc b, có th! kt ni nh
là m,t ngi dùng toàn cc trong bi cnh ca m,t th tc c lu mà không c%n lu
tr m t kh;u ngi dùng toàn cc trong nh ngh/a liên kt. Ví d, Jane có th! truy c p
vào th tc do Scott vit, truy c p vào tài khon ca Scott và lc ca Scott trên c
s d liu hq. Liên kt ngi dùng hin hành là m,t khía cnh ca Oracle Advanced
Security.
To liên kt c s d liu b2ng cách s dng câu lnh CREATE
DATABASE LINK. Sau khi liên kt c to ra, bn có th! s dng nó !
xác nh các i tng lc trong câu lnh SQL.
3 !Η&6Χ∋ !∀∃!;Κ /+Ιϑ
Liên kt c s d liu chia s là m,t liên kt gia tin trình máy ch cc
b, và c s d liu t∃ xa. Liên kt c chia s vì nhi.u tin trình khách hàng
có th! s dng liên kt này ng thi.
Khi c s d liu cc b, kt ni v∗i c s d liu t∃ xa thông qua liên kt
c s d liu, m,t trong hai c s d liu có th! chy ch , máy ch
chuyên dng ho6c chia s. Bng sau minh h(a các kh n0ng này:
Ch c s d liu cc b Ch c s d liu t xa
Chuyên dng Chuyên dng
Chuyên dng Chia s máy ch
Chia s máy ch Chuyên dng
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 15
Ch c s d liu cc b Ch c s d liu t xa
Chia s máy ch Chia s máy ch
Liên kt c s d liu chia s có th! tn ti trong bt k= hình th−c
trên. Liên kt chia s khác v∗i liên kt c s d liu tiêu chu;n trong các
trng hp sau ây:
•
Ngi dùng khác nhau truy c p vào cùng i tng lc thông qua
liên kt c s d liu có th! chia s kt ni mng.
•
Khi ngi dùng c%n thit l p kt ni n máy ch t∃ xa t∃ tin trình
máy ch c th!, tin trình có th! tái s dng các kt ni ã c thit
l p n máy ch t∃ xa. Vic tái s dng kt ni có th! xy ra nu kt
ni c thit l p trên cùng tin trình máy ch v∗i cùng liên kt c s
d liu. Trên liên kt c s d liu không chia s, kt ni không c
chia s qua nhi.u phiên.
•
Khi bn s dng liên kt c s d liu chia s trong cu hình máy ch
chia s, kt ni mng c thành l p trc tip ngoài tin trình máy ch
chia s trong máy ch cc b,. i v∗i liên kt c s d liu không chia
s trên máy ch chia s cc b,, kt ni này c thành l p thông qua
i.u phi cc b,.
Α Λ!;Β19&+ !Η&6Χ∋ !∀ϑ
?u i!m l∗n nht ca liên kt c s d liu là cho phép ngi dùng truy
c p các i tng ca ngi dùng khác trong c s d liu t∃ xa ! h( có các
6c quy.n ca ngi s hu i tng. Nói cách khác, ngi dùng cc b, có
th! truy c p vào liên kt n c s d liu t∃ xa mà không c%n phi là m,t
ngi s dng trên c s d liu t∃ xa.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 16
Ví d, gi s các nhân viên gi báo cáo chi phí n Accounts Payable
(A/P), và tip tc gi s ngi dùng s dng −ng dng A/P ! ly thông tin v.
nhân viên t∃ c s d liu hq . Ngi dùng A/P có th! kt ni v∗i c s d
liu hq và thc hin m,t th tc c lu trong c s d liu t∃ xa hq ! ly
thông tin mong mun. Ngi s dng A/P không c%n phi là ngi dùng ca
c s d liu hq ! làm công vic ca mình, h( ch> có th! truy c p vào thông
tin hq m,t cách có ki!m soát bi th tc.
Liên kt c s d liu cho phép bn cp quy.n truy c p hn ch vào c s
d liu t∃ xa cho ngi dùng cc b,. B2ng cách s dng liên kt ngi dùng
hin hành, bn có th! to ngi dùng toàn cc có thông tin m t kh;u c che
du kh<i administrator và non-administrator. Ví d, ngi dùng A/P có th!
truy c p c s d liu hq nh scott , nhng không ging nh liên kt ngi
dùng c nh, thông tin ca scott không c lu vào ni mà ngi dùng c
s d liu có th! nhìn thy chúng.
B2ng cách s dng liên kt ngi dùng c nh, bn có th! to ngi dùng
không toàn cc có thông tin m t kh;u c lu tr d∗i hình th−c không c
mã hóa trong bng t∃ i!n d liu LINK$. Liên kt ngi dùng c nh to ra
d9 dàng và yêu c%u chi phí thp vì không c%n SSL, nhng có nguy c bo m t
t∃ vic lu tr thông tin m t kh;u trong t∃ i!n d liu.
Μ Η& !∀∋Β/&9∋:Β&+ !Η&6Χ∋ !∀
! hi!u cách hot ,ng ca liên kt c s d liu, tr∗c tiên bn phi hi!u
tên c s d liu toàn cc là gì. M5i c s d liu trong c s d liu phân tán
c xác nh duy nht bi tên c s d liu toàn cc ca mình. Oracle to
tên c s d liu toàn cc ca c s d liu b2ng cách thêm vào tên mi.n
mng ca c s d liu ch> nh bi tham s khi to DB_DOMAIN to ra c
s d liu, v∗i tên c s d liu ch> nh bi tham s khi to DB_NAME.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 17
Ví d, hình sau minh h(a s4p xp phân cp ca c s d liu trên mng.
Tên ca c s d liu c hình thành b2ng cách b4t %u t∃ lá ca cây và
theo m,t ng d:n n gc. Ví d, c s d liu mfg trong division3 ca chi
nhánh acme_tools ca mi.n com. Tên c s d liu toàn cc cho mfg c
to ra b2ng cách ni các nút trong cây nh sau:
•
mfg.division3.acme_tools.com
Trong khi các c s d liu có th! chia s cùng m,t tên riêng, nhng m5i
c s d liu phi có m,t tên c s d liu toàn cc duy nht. Ví d, mi.n
mng us.americas.acme_auto.com và uk.europe.acme_auto.com .u ch−a c
s d liu sales riêng bit. H thng 6t tên c s d liu toàn cc phân bit
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 18
c s d liu sales trong khu vc americas v∗i c s d liu sales trong khu
vc europe nh sau:
•
sales.us.americas.acme_auto.com
•
sales.uk.europe.acme_auto.com
Ν Η& !Η&6Χ∋ !∀
Thông thng, liên kt c s d liu có cùng tên v∗i tên c s d liu
toàn cc ca c s d liu t∃ xa mà nó tham chiu. Ví d, nu tên c s d
liu toàn cc ca c s d liu là sales.us.oracle.com thì liên kt c s d liu
c7ng c g(i là sales.us.oracle.com.
Khi bn thit l p tham s khi to GLOBAL_NAMES là TRUE, Oracle
m bo r2ng tên ca liên kt c s d liu ging nh tên c s d liu toàn
cc ca c s d liu t∃ xa. Ví d, nu tên c s d liu toàn cc ca
hq là hq.acme.com, và GLOBAL_NAMES là TRUE, thì tên liên kt phi
c g(i là hq.acme.com. Lu ý r2ng Oracle ki!m tra tên mi.n ca tên c s
d liu toàn c%u khi c lu tr trong t∃ i!n d liu, ch− không phi
DB_DOMAIN thit l p trong t p tin tham s khi to.
Nu bn thit l p tham s khi to GLOBAL_NAMES là FALSE, thì bn
không c%n s dng tên toàn cc. Bn có th! 6t tên tùy ý cho liên kt c s d
liu. Ví d, bn có th! 6t tên liên kt c s d liu n hq.acme.com là foo.
Sau khi bn cho phép 6t tên toàn cc, liên kt c s d liu là trong sut i
v∗i ngi dùng c s d liu phân tán vì tên ca liên kt c s d liu ging
nh tên toàn cc ca c s d liu mà liên kt tr< n. Ví d câu lnh sau to
ra liên kt c s d liu trong c s d liu a phng n c s d liu t∃
xa sales:
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 19
CREATE PUBLIC DATABASE LINK sales.division3.acme.com
USING 'sales1';
Ο ( ΒΛ! !Η&6Χ∋ !∀
Oracle cho phép bn to liên kt c s d liu riêng t, công
khai, và toàn cc. Các liên kt này khác nhau theo cách ngi dùng c
phép truy c p vào c s d liu t∃ xa:
Loi Ch s hu Mô t
Cá nhân Ngi dùng to ra liên kt. Xem
d liu s hu thông qua:
•
DBA_DB_LINKS
•
ALL_DB_LINKS
•
USER_DB_LINKS
To liên kt trong lc c th! ca c s d
liu cc b,. Ch> có ch s hu ca liên kt c s
d liu riêng t ho6c các chng trình con
PL/SQL trong lc có th! s dng liên kt
này ! truy c p vào các i tng c s d liu
trong c s d liu t∃ xa tng −ng.
Công khai
Ngi s dng g(i là
PUBLIC. Xem d liu s hu
thông qua:
•
DBA_DB_LINKS
•
ALL_DB_LINKS
•
USER_DB_LINKS
To liên kt c s d liu m r,ng. Tt c ngi
dùng và các chng trình con PL/SQL trong c
s d liu có th! s dng liên kt ! truy c p v
ào
các i tng c s d liu trong c s d liu
t∃ xa tng −ng.
Toàn cc Ngi s dng g(i là
PUBLIC. Xem d liu s hu
thông qua:
•
DBA_DB_LINKS
To liên kt mng m r,ng. Khi mng Oracle s
dng Oracle Names, các name server trong h
thng t ,ng to ra và qun lý các liên kt c
s d liu toàn cc cho m5i c s d liu Oracle
trong mng. Ngi dùng và các chng trình
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 20
Loi Ch s hu Mô t
•
ALL_DB_LINKS
•
USER_DB_LINKS
con PL/SQL trong c s d liu bt k= có th! s
dng liên kt toàn cc ! truy c p các i tng
trong c s d liu t∃ xa tng −ng.
Xác nh loi liên kt c s d liu ! s dng trong c s d liu phân
tán ph thu,c vào các yêu c%u c th! ca các −ng dng s dng h thng. Hãy
xem xét các tính n0ng này khi thc hin la ch(n:
Loi liên kt Tính nng
Liên kt c s d
liu riêng t
Liên kt này an toàn hn so v∗i liên kt công khai ho6c liên kt toàn cc, vì ch> có
ch s hu ca liên kt riêng t ho6c chng trình con trong cùng lc m∗i có th!
s dng liên kt ! truy c p vào c s d liu t∃ xa.
Liên kt c s d
liu công khai
Khi nhi.u ngi dùng yêu c%u ng d:n truy c p vào c s
d liu Oracle t∃ xa, bn
có th! to ra m,t liên kt c s d liu công khai duy nht cho tt c ngi dùng
trong c s d liu.
Liên kt c s d
liu toàn cc
Khi mng Oracle s dng Oracle Names, ngi qun tr có th! d9 dàng qun lý liên
kt c s d liu toàn cc cho tt c c s d liu trong h thng. Qun lý liên kt c
s d liu c t p trung và n gin hóa.
Π +ΘΡ!Σ&+ !Η&6Χ∋ !∀
Khi to liên kt, bn xác nh ngi dùng nào c%n kt ni v∗i c s d
liu t∃ xa ! truy c p d liu. Bng sau gii thích s khác bit gia các loi
ngi dùng tham gia trong liên kt c s d liu:
Loi ngi
s dng
Ý ngha Cú pháp to mu liên kt
Ngi dùng Ngi dùng cc b, truy c p vào liên kt c s d CREATE PUBLIC
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 21
Loi ngi
s dng
Ý ngha Cú pháp to mu liên kt
kt ni liu trong mà không c;n ch> nh username và
password. Nu SYSTEM truy c p liên kt công
khai trong truy vn thì ngi dùng kt ni
là SYSTEM , và Oracle kt ni v∗i lc
SYSTEM trong c s d liu t∃ xa.
Lu ý: Ngi dùng kt ni không phi là ngi
dùng to liên kt, nhng là ngi dùng bt k= truy
c p vào liên kt.
DATABASE LINK hq
USING 'hq';
Ngi dùng
hin hành
Ngi dùng toàn cc trong liên kt c s d liu
CURRENT_USER. Ngi dùng toàn cc phi
c ch−ng thc bi ch−ng ch> X.509 (doanh
nghip s dng ch−ng thc SSL) ho6c m t kh;u
(m t kh;u xác thc ngi dùng doanh nghip), và
là m,t ngi dùng trên c hai c s d liu trong
liên kt. Liên kt ngi dùng hin hành là m,t
ph%n ca tùy ch(n bo m t nâng cao Oracle.
CREATE PUBLIC
DATABASE LINK hq
CONNECT TO
CURRENT_USER using
'hq';
Ngi dùng
c nh
Tên và m t kh;u ca ngi dùng là m,t ph%n ca
nh ngh/a liên kt. Nu liên kt gm ngi dùng
c nh thì tên và m t kh;u ca ngi dùng c nh
c s dng ! kt ni v∗i c s d liu t∃ xa.
CREATE PUBLIC
DATABASE LINK hq
CONNECT TO jane
IDENTIFIED BY doe
USING 'hq';
Π− !Η&6Χ∋ !∀&+ΘΡ!Σ&+6Χ∋&Τ!
Liên kt ngi dùng kt ni không có chu5i kt ni liên kt v∗i
chúng. Li th ca liên kt ngi dùng kt ni là ngi dùng tham chiu liên
kt kt ni c s d liu t∃ xa nh là cùng m,t ngi dùng. Hn na, vì
không có chu5i kt ni kt hp v∗i liên kt nên không có m t kh;u c lu
tr d∗i dng v0n bn trong t∃ i!n d liu.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 22
Liên kt ngi dùng kt ni có m,t s nhc i!m. Vì các liên kt này
yêu c%u ngi dùng phi có tài khon và quy.n hn trên c s d liu t∃ xa
mà h( ang c g4ng ! kt ni, h( yêu c%u quy.n qun tr cho các qun tr
viên. Ngoài ra, vic cp quy.n cho ngi dùng nhi.u hn h( c%n vi phm
nguyên t4c bo m t c bn ca quy.n hn ti thi!u: ngi dùng ch> nên c
cp quy.n mà h( c%n ! thc hin công vic ca mình.
Kh n0ng s dng liên kt c s d liu ngi dùng kt ni ph thu,c vào
m,t s yu t, ch yu là ngi dùng c ch−ng thc bi Oracle b2ng cách
s dng m t kh;u, ho6c ch−ng thc bên ngoài bi h i.u hành ho6c dch v
ch−ng thc mng. Nu ngi dùng c ch−ng thc bên ngoài, thì kh n0ng
s dng liên kt ngi dùng kt ni c7ng ph thu,c vào vic c s d liu t∃
xa chp nh n ch−ng thc ngi dùng t∃ xa c thit l p bi tham s khi to
REMOTE_OS_AUTHENT.
Tham s REMOTE_OS_AUTHENT hot ,ng nh sau:
Nu REMOTE_OS_AUTHENT là Thì
TRUE i v∗i c s d liu t∃ xa Ngi dùng ch−ng thc bên ngoài có th! kt ni n c s
d
liu t∃ xa b2ng cách s dng liên kt c s d liu ngi
dùng kt ni.
FALSE i v∗i c s d liu t∃ xa Ngi dùng ch−ng thc bên ngoài không th! kt ni v∗i c
s d liu t∃ xa b2ng cách s dng liên kt c s d liu
ngi dùng kt ni, tr∃ khi m,t giao th−c an toàn thc ho6c
dch v ch−ng thc mng h5 tr tùy ch(n bo m t nâng cao
ca Oracle c s dng.
Π−3 !Η&6Χ∋ !∀&+ΘΡ!Σ&+Τ)8&∃
Li ích ca liên kt ngi dùng c nh là nó kt ni ngi dùng trong c
s d liu chính n c s d liu t∃ xa v∗i phm vi bo m t ca ngi dùng
c ch> nh trong chu5i kt ni. Ví d, ngi dùng joe có th! to liên kt c
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 23
s d liu công khai trong lc ca joe xác nh ngi dùng c
nh scott v∗i m t kh;u tiger. Nu jane dùng liên kt ngi dùng c nh trong
truy vn thì jane là ngi dùng trên c s d liu cc b,, nhng cô y kt ni
v∗i c s d liu t∃ xa nh scott/tiger.
Liên kt ngi dùng c nh có username và m t kh;u kt hp v∗i chu5i
kt ni. Username và m t kh;u c lu tr d∗i hình th−c không c mã
hóa trong t∃ i!n d liu trong bng LINK$.
i v∗i ví d v. vn . bo m t, gi s jane không có quy.n s dng liên
kt riêng t kt ni v∗i c s d liu hq nh scott/tiger , nhng có quy.n
SELECT ANY TABLE trên c s d liu v∗i tham s khi to
O7_DICTIONARY_ACCESSIBILITY c thit l p là TRUE . Cô có th!
ch(n t∃ LINK$ và (c chu5i kt ni n hq là scott/tiger . Nu jane có tài
khon trên máy ch ca hq, thì cô có th! kt ni t∗i máy ch và sau ó kt ni
v∗i hq nh scott b2ng cách s dng m t kh;u tiger. Cô s8 có tt c 6c quy.n
ca scott nu cô kt ni cc b, và bt k= audit record s8 c ghi li nh th!
cô là scott.
Π−Α !Η&6Χ∋ !∀&+ΘΡ!Σ&+∃!&∃/&∃
Liên kt c s d liu ngi dùng hin hành li dng ngi dùng toàn
cc. Ngi dng toàn cc phi c ch−ng thc bi ch−ng nh n X.509 ho6c
m t kh;u, và là m,t ngi dùng trên c hai c s d liu trong liên kt.
Ngi dùng g(i liên kt CURRENT_USER không c%n phi là ngi dùng
toàn cc. Ví d, nu jane c ch−ng thc (không phi là ngi dùng toàn
cc) b2ng m t kh;u v∗i c s d liu Accounts Payable, cô có th! truy c p
vào th tc c lu ! ly d liu t∃ c s d liu hq . Th tc dùng liên kt
c s d liu ngi dùng hin hành kt ni cô n hq nh là ngi dùng toàn
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 24
cc scott. Ngi dùng scott là ngi dùng toàn cc và c ch−ng thc thông
qua ch−ng nh n SSL, nhng jane thì không.
Lu ý r2ng liên kt c s d liu ngi dùng hin hành có nhng h qu
sau:
•
Nu liên kt c s d liu ngi dùng hin hành không c truy c p
t∃ bên trong i tng lu tr, thì ngi dùng hin hành ging nh
ngi dùng kt ni truy c p vào liên kt. Ví d, nu scott thc hin câu
lnh SELECT thông qua liên kt ngi dùng hin hành thì ngi dùng
hin hành là scott.
•
Khi thc thi i tng lu tr nh th tc, view, ho6c trigger truy c p
liên kt d liu, ngi dùng hin hành là ngi dùng s hu i tng
lu tr và không phi là ngi dùng g(i i tng. Ví d, nu jane g(i
th tc scott.p (to bi scott ), và liên kt ngi dùng hin hành xut
hin trong th tc c g(i, thì scott là ngi s dng hin hành ca
liên kt.
•
Nu i tng c lu tr là m,t hàm, th tc, ho6c package, thì ID
y quy.n c dùng ! kt ni nh là ngi dùng t∃ xa. Ví d, nu
ngi dùng jane g(i th tcscott.p (to bi scott ), và liên kt xut hin
trong th tc scott.p , thì jane là ngi dùng hin hành.
•
Bn không th! kt ni n c s d liu nh là ngi dùng doanh
nghip và dùng liên kt ngi dùng hin hành trong th tc c lu
tn ti trong lc toàn cc. Ví d, nu ngi dùng jane truy c p th
tc c lu trong lc chia s guest trong c s d liu hq , cô
không th! s dng liên kt ngi dùng hin hành trong lc này !
0ng nh p vào c s d liu t∃ xa.
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 25
Υ ΛΒ !Η&6Χ∋ !∀
To liên kt c s d liu b2ng cách s dng câu lnh CREATE
DATABASE LINK . Bng sau a ra ví d câu lnh SQL to liên kt c s
d liu trong c s d liu cc b, n c s d liu t∃ xa
sales.us.americas.acme_auto.com:
Câu lnh SQL
Kt ni n c s d
liu
Kt ni nh là Loi liên kt
CREATE DATABASE LINK
sales.us.americas.acme_auto.com USING
'sales_us';
sales dùng net service
name là sales_us net
Ngi dùng kt
ni
Ngi dùng
kt ni cá
nhân
CREATE DATABASE LINK foo
CONNECT TO CURRENT_USER USING
'am_sls';
sales dùng net service
name là am_sls
Ngi dùng toàn
cc hin hành
Ngi dùng
hin hành
riêng t
CREATE DATABASE LINK
sales.us.americas.acme_auto.com
CONNECT TO scott IDENTIFIED BY tiger
USING 'sales_us';
sales dùng net service
name là sales_us
scott dùng m t
kh;u tiger
Ngi dùng
c nh riêng
t
CREATE PUBLIC DATABASE LINK sales
CONNECT TO scott IDENTIFIED BY tiger
USING 'rev';
sales dùng net service
name là rev
scott dùng m t
kh;u tiger
Ngi dùng
c nh công
khai
CREATE SHARED PUBLIC DATABASE
LINK sales.us.americas.acme_auto.com
CONNECT TO scott IDENTIFIED BY tiger
AUTHENTICATED BY anupam
IDENTIFIED BY bhide USING 'sales';
sales dùng net service
name là sales
scott dùng m t
kh;u tiger, ch−ng
thc
nh anupam dùng
m t kh;u bhide
Ngi dùng
c nh công
khai chia s