6C ch Commit hai l%n Phân gi i tên liên kt cs d li u

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao Xử lý giao tác trong hệ thống phân tán (Trang 44)

Ο ∃ΧΒ__!∋∃;! η&

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

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao Xử lý giao tác trong hệ thống phân tán (Trang 44)

Tải bản đầy đủ (PDF)

(60 trang)