Ο ∃ΧΒ__!∋∃;! η&
Trong c s d liu phân tán, Oracle phi phi hp i.u khi!n giao tác v∗i các 6c i!m ging nhau qua mng và duy trì s toàn v≅n d liu, ngay c khi xy ra s c mng ho6c h thng.
C ch commit hai l∀n ca Oracle m bo tt c máy ch c s d liu tham gia vào giao tác phân tán ho6c commit ho6c rollback tt c các câu lnh trong giao tác. C ch commit 2 l%n c7ng bo v các hot ,ng ng%m DML thc hin bi ràng bu,c toàn v≅n, g(i th tc t∃ xa, và trigger.
Π ∃%&+!5!∋Η& !Η&6Χ∋ !∀
Tên i tng toàn cc là m,t i tng c xác nh b2ng cách s dng liên kt c s d liu. Các thành ph%n thit yu ca tên i tng toàn cc là:
• Tên i tng
• Tên c s d liu
• Tên mi.n
Bng sau minh h(a các thành ph%n ca tên i tng c s d liu toàn cc:
Câu lnh i tng C s d liu Tên mi#n
SELECT * FROM joan.dept@sales.acme.com dept sales acme.com SELECT * FROM emp@mktg.us.acme.com emp mktg us.acme.com
Bt c− khi nào câu lnh SQL bao gm m,t tham chiu n tên i tng toàn cc, Oracle tìm kim liên kt c s d liu v∗i tên phù hp v∗i tên c s d liu quy nh trong tên i tng toàn cc. Ví d, nu bn thc hin lnh sau:
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 45
Oracle tìm kim liên kt c s d liu c là orders.us.acme.com. Oracle thc hin hành ,ng này ! xác nh ng d:n n c s d liu t∃ xa. Oracle luôn tìm kim liên kt c s d liu phù hp theo th− t sau:
1. C s d liu riêng t liên kt vào lc ca ngi dùng ã thc hin lnh SQL.
2. C s d liu công khai liên kt vào c s d liu a phng. 3. C s d liu toàn cc liên kt
Π− ∃%&+!5!∋Η& !∀∋Β/&9)η?)Φ
Gi s bn thc hin câu lnh SQL sau, trong ó xác nh tên c s d liu toàn cc %y :
SELECT FROM emp@prod1.us.oracle.com;
Trong trng hp này, tên c s d liu (prod1) và tên mi.n (us.oracle.com) c quy nh c th!, vì v y Oracle tìm kim liên kt c s d liu riêng t, công khai, và toàn cc. Oracle ch> tìm kim các liên kt phù hp v∗i quy nh tên c s d liu toàn cc.
Π−3 ∃%&+!5!∋Η& !∀∋Β/&9_κ∋#∃η&
Nu bt k= thành ph%n nào ca tên mi.n c ch> nh, Oracle cho r2ng tên c s d liu toàn cc %y c ch> nh. Nu câu lnh SQL ch> nh tên c s d liu toàn cc m,t ph%n, Oracle g4n thêm giá tr trong tham s khi to DB_DOMAIN n giá tr trong tham s khi to db_name ! xây dng m,t tên %y . Ví d, gi s bn thc hin câu lnh sau:
CONNECT scott/tiger@locdb
SELECT * FROM scott.emp@orders;
Nu tên mi.n mng cho locdb là us.acme.com, thì Oracle g4n thêm tên mi.n này vào orders ! xây dng tên c s d liu toàn cc %y orders.us.acme.com. Oracle ch> tìm kim các liên kt c s d liu phù hp
Tiu lun môn hc: C s d liu nâng cao
HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 46
v∗i tên toàn cc c xây dng. Nu không tìm thy liên kt phù hp, Oracle s8 tr v. m,t l5i và các câu lnh SQL không th! thc hin.
Π−Α ∃%&+!5!∋Η&6∃!6∃7&+∃ω:ξ∋Η& !∀∋Β/&9
Nu tên i tng toàn c%u tham chiu m,t i tng trong c s d liu cc b, và tên liên kt c s d liu không ch> rõ b2ng ký hiu @, thì Oracle s8 t ,ng phát hin các i tng là cc b, và không tìm kim ho6c s dng liên kt c s d liu ! gii quyt các tham chiu i tng. Ví d, gi s bn thc hin lnh sau:
CONNECT scott/tiger@locdb SELECT * from scott.emp;
Vì lnh th− hai không ch> nh tên c s d liu toàn cc b2ng cách s dng chu5i kt ni liên kt c s d liu, Oracle không tìm kim liên kt c s d liu.
Π−Μ +⊥&+∋Ι_6!Χ_#∃%&+!5!∋Η&
Oracle không nht thit phi ng∃ng tìm kim liên kt c s d liu phù hp khi nó tìm thy liên kt phù hp %u tiên. Oracle phi tìm kim liên kt c s d liu riêng t, công khai, và mng phù hp cho n khi nó xác nh m,t con ng hoàn ch>nh n c s d liu t∃ xa (c hai tài khon t∃ xa và tên dch v).
Kt qu phù hp %u tiên xác nh lc t∃ xa minh h(a trong bng sau:
Nu bn ... thì Oracle ... Nh trong ví d ...
Không ch>nh mnh .
CONNECT
S dng liên kt c s d liu ngi dùng kt ni
CREATE DATABASE LINK k1 USING 'prod'
Ch>nh mnh .
CONNECT TO ...
S dng liên kt c s d liu ngi dùng cnh
CREATE DATABASE LINK k2 CONNECT TO scott
Tiu lun môn hc: C s d liu nâng cao