1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu sự phân tán cơ sở dữ liệu trong oracle 9i

53 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 862,62 KB

Cấu trúc

  • CHƯƠNG 1 CỞ SỞ DỮ LIỆU PHÂN TÁN (6)
    • 1. CÁC KHÁI NIỆM CƠ BẢN (6)
      • 1.1. Cơ sở dữ liệu phân tán (6)
      • 1.2. Hệ quản trị CSDL phân tán (7)
      • 1.3. Ưu điểm của các hệ cơ sở dữ liệu phân tán (10)
    • 2. KIẾN TRÚC CƠ SỞ DỮ LIỆU PHÂN TÁN (11)
      • 1.1. Kiến trúc (11)
      • 2.2. Các mức trong suốt (13)
    • 3. CÁC KIỂU PHÂN ĐOẠN DỮ LIỆU (14)
      • 3.1. Phân đoạn ngang (14)
      • 3.2. Phân đoạn dọc (14)
      • 3.3. Phân đoạn ngang suy diễn (14)
      • 3.4. Phân đoạn hỗn hợp (15)
  • CHƯƠNG 2 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (16)
    • 1. ORACLE INSTANCE (16)
      • 1.1. System Global Area - SGA (16)
        • 1.1.1. Shared pool (17)
        • 1.1.2. Data buffer cache (18)
        • 1.1.3. Redo log buffer (18)
      • 1.2. Background process (19)
        • 1.2.1. Database Writer (DBW0) (19)
        • 1.2.2. Log Writer (20)
        • 1.2.3. System Monitor (SMON) (20)
        • 1.2.4. Process Monitor (PMON) (20)
        • 1.2.5. Checkpoint Process (CKPT) (21)
    • 2. ORACLE DATABASE (21)
      • 2.1. Cấu trúc vật lý database (22)
        • 2.1.1. Datafiles (22)
        • 2.1.2. Redo Log Files (23)
        • 2.1.3. Control Files (24)
      • 2.2. Cấu trúc logic databse (24)
        • 2.2.1. Tablespaces (24)
        • 2.2.2. Schema và Schema Objects (25)
        • 2.2.3. Data Blocks, Extents, and Segments (25)
        • 2.2.4. Các cấu trúc vật lý khác (27)
    • 3. KẾT NỐI TỚI ORACLE SERVER (27)
      • 3.1. Mô hình kết nối (27)
      • 3.2. Một số khái niệm cơ bản liên quan đến kết nối (27)
      • 3.3. Kết nối tới database (28)
      • 3.4. Ví dụ thực hiện kết nối tới database (28)
  • CHƯƠNG 3 CƠ SỞ DỮ LIỆU PHÂN TÁN ORACLE (30)
    • 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN (30)
      • 1.1. Hệ thống cơ sở dữ liệu thuần nhất (30)
        • 1.1.1. Distributed Database - Distributed processing (30)
        • 1.1.2. Pure Distributed DB - Replicated DB (31)
      • 1.2. Hệ thống cơ sở dữ liệu không đồng nhất (31)
    • 2. QUẢN TRỊ ORACLE DISTRIBUTED DATABASE (31)
      • 2.1. Oracle Advanced Queuing (32)
        • 2.1.1. Advanced Queuing (32)
        • 2.1.2. Advanced Queuing trong môi trường ứng dụng tích hợp (33)
        • 2.1.3. Sự cần thiết của hệ thống Queuing (33)
      • 2.2. Replication (34)
        • 2.2.1. Replication và việc sử dụng (34)
        • 2.2.2. Giữa Oracle và non - Oracle (36)
        • 2.2.3. Sự khác biệt giữa Basic Replicate và Advanced Replicate (36)
        • 3.2.4. Snapshot và materialized view (36)
        • 2.2.5. Thực hiện basic snapshot replication (36)
        • 2.2.6. Các kiểu đối tƣợng có thể và không thể replicated (0)
        • 2.3.1. Khái niệm về Database Links (38)
        • 2.3.2. Nguyên nhân sử dụng Database links (39)
        • 2.3.3. Global Database Name trong Database links (39)
        • 2.3.4. Types of Database Links (39)
        • 2.3.5. Names for Database Links (39)
        • 2.3.6. Users of Database Links (40)
        • 2.3.7. Schema Objects và Database Links (41)
        • 2.3.8. Hạn chế của Database Link (41)
  • CHƯƠNG IV CÀI ĐẶT THỬ NGHIỆM (42)
    • 1. ĐẶT VẤN ĐỀ (42)
      • 1.1. Bài toán (42)
      • 1.2. Yêu cầu thử nghiệm (43)
    • 2. CẤU HÌNH HỆ THỐNG (43)
      • 2.1. Cấu hình Server side cho phép kết nối (43)
      • 2.2. Cấu hình client side để kết nối (44)
        • 2.2.1. Database Service (44)
        • 2.2.2. Naming Methods (44)
        • 2.2.3 Connect string (46)
      • 2.3. Cấu hình TNSNAME (46)
    • 3. CÀI ĐẶT CHƯƠNG TRÌNH (46)
      • 3.1. Tạo kết nối cơ sở dữ liệu (46)
        • 3.1.1. Tạo Snapshot (46)
        • 3.1.2. Tạo datalink (47)
      • 3.2. Các modul chương trình (48)
        • 3.2.1 Chương trình quản lí hồ sơ sinh viên (48)
        • 3.2.2 Chương trình quản lí điểm sinh viên (50)
  • KẾT LUẬN (52)
  • TÀI LIỆU THAM KHẢO (53)

Nội dung

CỞ SỞ DỮ LIỆU PHÂN TÁN

CÁC KHÁI NIỆM CƠ BẢN

1.1 Cơ sở dữ liệu phân tán

Khác với các hệ thống cơ sở dữ liệu tập trung, nơi dữ liệu được quản lý tại một vị trí duy nhất, hệ thống cơ sở dữ liệu phân tán cho phép người dùng truy cập dữ liệu không chỉ tại chỗ mà còn từ xa.

Cơ sở dữ liệu phân tán là một tập hợp dữ liệu liên quan về mặt logic, được chia sẻ và phân bố vật lý trên một mạng máy tính.

Để đáp ứng yêu cầu của doanh nghiệp và tổ chức, việc tổ chức hoạt động kinh doanh hiệu quả và nắm bắt thông tin nhanh chóng là rất quan trọng, đặc biệt khi các cơ sở của công ty nằm ở những địa điểm xa nhau Do đó, xây dựng một hệ thống làm việc dựa trên cơ sở dữ liệu phân tán là lựa chọn phù hợp với xu hướng hiện nay Hệ thống này không chỉ đáp ứng được nhu cầu của tổ chức mà còn khắc phục những hạn chế của cơ sở dữ liệu tập trung, phù hợp với xu hướng phát triển tự nhiên của các tổ chức, công ty và doanh nghiệp theo hướng không tập trung.

Cơ sở dữ liệu phân tán là một tập hợp dữ liệu logic thuộc về cùng một hệ thống, nhưng được phân bố rộng rãi trên nhiều điểm trong mạng máy tính.

Sự phát triển của mạng máy tính đã mở ra cơ hội cho phương thức làm việc phân tán, cho phép tạo lập hệ thống cơ sở dữ liệu (CSDL) phân tán về mặt vật lý, phản ánh cấu trúc tổ chức với các phòng ban, chi nhánh và dự án ở nhiều vị trí khác nhau Các hệ CSDL phân tán cung cấp khả năng truy cập dữ liệu từ tất cả các đơn vị, đồng thời lưu trữ dữ liệu tại đơn vị sử dụng nhiều nhất, từ đó nâng cao hiệu quả truy cập dữ liệu.

Người dùng truy cập vào CSDL phân tán thông qua các chương trình ứng

 Chương trình không yêu cầu dữ liệu từ nơi khác

 Chương trình có yêu cầu dữ liệu từ nơi khác

Cần phân biệt rõ giữa cơ sở dữ liệu phân tán và xử lý phân tán Cơ sở dữ liệu phân tán là khi dữ liệu được phân bổ và lưu trữ tại nhiều trạm khác nhau trên mạng Ngược lại, nếu dữ liệu được lưu trữ tại một trạm duy nhất nhưng người dùng từ các trạm khác vẫn có thể truy cập, thì đó được gọi là hệ thống cơ sở dữ liệu tập trung với xử lý phân tán.

Mô hình CSDL phân tán

1.2 Hệ quản trị CSDL phân tán

Hệ quản trị cơ sở dữ liệu phân tán là phần mềm cho phép quản lý cơ sở dữ liệu phân tán, giúp người dùng không nhận ra sự phân tán của dữ liệu.

Hệ quản trị cơ sở dữ liệu phân tán cung cấp các công cụ để tạo lập và quản lý cơ sở dữ liệu phân tán Hệ thống này được phát triển theo mô hình thương mại bởi các nhà cung cấp hệ cơ sở dữ liệu tập trung Để mở rộng khả năng, hệ cơ sở dữ liệu tập trung có thể được bổ sung thông qua việc cung cấp thêm đường truyền và điều khiển giữa các hệ cơ sở dữ liệu tập trung được cài đặt tại các điểm khác nhau trên mạng máy tính.

Những dịch vụ hệ quản trị cơ sở dữ liệu cung cấp:

 Cách thức truy cập dữ liệu từ xa: bằng chương trình ứng dụng

Lựa chọn cấp độ trong suốt phân tán phù hợp là yếu tố quan trọng giúp mở rộng hệ thống linh hoạt trong từng hoàn cảnh Cần cân nhắc giữa cấp độ trong suốt phân tán và việc phân chia công việc để quản trị hệ thống trở nên đơn giản hơn.

Quản trị và điều khiển cơ sở dữ liệu bao gồm các công cụ quản lý, thông tin về thao tác trên cơ sở dữ liệu và cái nhìn tổng quan về tệp dữ liệu được phân bố trong hệ thống.

 Điều khiển tương tranh và điều khiển phục hồi dữ liệu của giao tác phân tán

Những phần mềm cần thiết cho việc xây dựng cơ sở dữ liệu phân tán là:

 Phần quản lý cơ sở dữ liệu.(DB)

 Phần truyền thông dữ liệu.(DC)

 Từ điển dữ liệu đƣợc mở rộng để thể hiện thông tin về phân tán dữ liệu trong mạng máy tính.(DD)

 Phần cơ sở dữ liệu phân tán.(DDB)

Mô hình các thành phần của hệ quản trị cơ sở dữ liệu phát triển theo kiểu thương mại (Truy cập từ xa trực tiếp)

Cách thức truy nhập cơ sở dữ liệu từ xa qua chương trình ứng dụng theo

Cơ sở dữ liệu địa phương 1

Cơ sở dữ liệu địa phương 2

Hệ quản trị cơ sở dữ liệu1

Hệ quản trị cơ sở dữ liệu2

Phương thức truy cập dữ liệu

Mô hình truy cập từ xa qua phương thức cơ sở của hệ quản trị cơ sở dữ liệu (trực tiếp)

Chương trình ứng dụng yêu cầu truy cập cơ sở dữ liệu từ xa, và hệ quản trị cơ sở dữ liệu sẽ tự động xác định vị trí dữ liệu để thực hiện yêu cầu Kết quả sẽ được trả về cho chương trình ứng dụng Phương thức truy cập cơ sở dữ liệu và kết quả nhận được đóng vai trò là đơn vị chuyển đổi giữa các hệ quản trị cơ sở dữ liệu Việc truy cập từ xa này giúp xây dựng một cấp độ trong suốt của phân tán thông qua việc tạo tên tệp để đánh địa chỉ chính xác cho các điểm lưu trữ dữ liệu ở xa.

Mô hình mô tả cách thức truy cập phức tạp hơn

Hệ quản trị cơ sở dữ liệu 1

Hệ quản trị cơ sở dữ liệu 2 Chương trình phụ

Theo mô hình truy cập gián tiếp, ứng dụng gửi yêu cầu thông qua một chương trình phụ nằm ở vị trí khác Chương trình phụ này, do lập trình viên viết, có nhiệm vụ truy cập từ xa vào cơ sở dữ liệu và trả về kết quả cho ứng dụng.

Hệ quản trị cơ sở dữ liệu phân tán cung cấp cả hai kiểu truy cập bởi vì mỗi cách truy cập đều có ƣu điểm riêng của nó

Mô hình hệ quản trị CSDL phân tán

1.3 Ƣu điểm của các hệ cơ sở dữ liệu phân tán

So với các hệ cơ sở dữ liệu tập trung, các hệ cơ sở dữ liệu phân tán có một số ƣu điểm sau đây:

 Cấu trúc phân tán dữ liệu thích hợp cho bản chất phân tán của nhiều người dùng;

 Dữ liệu đƣợc chia sẻ trên mạng nhƣng vẫn cho phép quản trị dữ liệu địa phương (dữ liệu đặt tại mỗi trạm);

Dữ liệu được đảm bảo tính tin cậy cao nhờ khả năng khôi phục khi một trạm gặp sự cố, vì bản sao của dữ liệu có thể được lưu trữ tại một trạm khác.

 Cho phép mở rộng các tổ chức một cách linh hoạt Có thể thêm nút mới

KIẾN TRÚC CƠ SỞ DỮ LIỆU PHÂN TÁN

Trong hệ cơ sở dữ liệu phân tán, các nhà thiết kế đã phát triển phần mềm đáp ứng nhu cầu người dùng dựa trên dữ liệu có sẵn Cấu trúc chung của cơ sở dữ liệu phân tán được trình bày trong hình ảnh, tuy nhiên, kiến trúc này không đại diện cho tất cả các hệ thống cơ sở dữ liệu phân tán Các mức độ của cơ sở dữ liệu phân tán được trình bày dưới dạng khái niệm, nhằm giúp người đọc dễ dàng hiểu rõ hơn về tổ chức và cấu trúc của các cơ sở dữ liệu phân tán nói chung.

Mức trên cùng của lược đồ là sơ đồ tổng thể, mô tả tất cả dữ liệu trong cơ sở dữ liệu phân tán như thể chúng không bị phân tán Mô hình dữ liệu được sử dụng để xác định cách ánh xạ đến các mức khác trong cơ sở dữ liệu phân tán Sơ đồ tổng thể xác định các quan hệ chung nhất của hệ thống.

Mỗi quan hệ có thể chia ra các phần không chồng lên nhau gọi là đoạn

Có nhiều cách phân đoạn: phân đoạn theo chiều ngang, phân đoạn theo chiều

DBMS ở vị trí 1 DBMS ở vị trí 2

Sơ sồ ánh xạ địa phương 2

Sơ sồ ánh xạ địa phương 1

Cơ sở dữ liệu 1 và Cơ sở dữ liệu 2 được tổ chức theo kiểu dọc và phân đoạn hỗn hợp theo chiều ngang và chiều dọc Ánh xạ giữa các quan hệ và các đoạn được xác định trong sơ đồ phân đoạn, với kiểu ánh xạ 1:n (một quan hệ tương ứng với nhiều đoạn) cho phép xác định đoạn tương ứng với quan hệ Mỗi đoạn được chỉ định bởi một quan hệ thông qua chỉ số dữ liệu và là phần logic của quan hệ, có thể được lưu trữ tại nhiều vị trí trên mạng máy tính Sơ đồ sắp chỗ xác định vị trí lưu trữ của các đoạn, đồng thời giúp nhận diện liệu cơ sở dữ liệu phân tán có bị dư thừa hay không.

Ánh xạ thường chuyển từ một quan hệ sang nhiều đoạn, trong khi ánh xạ 1:1 chỉ ánh xạ một đoạn từ một quan hệ Mỗi đoạn dữ liệu tương ứng với một quan hệ R và được đặt ở cùng vị trí j, tạo ra "ảnh vật lý" của quan hệ R tại vị trí j Do đó, có sự ánh xạ 1:1 giữa ảnh vật lý và cặp (quan hệ, đoạn) Mỗi ảnh vật lý được xác định bởi tên quan hệ và chỉ số vị trí, với kí hiệu Rj dùng để chỉ ảnh vật lý của quan hệ R ở vị trí thứ j.

Thuật ngữ "trong suốt" đề cập đến việc mô tả bằng bản sao của đoạn tham chiếu, liên quan đến vị trí lưu trữ và bản sao được xác định thông qua tên quan hệ cùng hai chỉ số: chỉ số đoạn và chỉ số vị trí.

Trong kiến trúc lược đồ, có ba mức độ độc lập: tổng thể, sắp chỗ và ánh xạ, với mức độ độc lập giảm dần Việc ánh xạ từ mức thấp sang mức cao hơn, được gọi là sơ đồ ánh xạ, phụ thuộc vào kiểu của cơ sở dữ liệu địa phương Trong hệ thống đồng nhất, có nhiều kiểu ánh xạ địa phương khác nhau tại các vị trí khác nhau.

Kiến trúc cơ sở dữ liệu phân tán cung cấp một khái niệm dễ hiểu về cách tổ chức và quản lý dữ liệu Ba yếu tố quan trọng thúc đẩy cấu trúc này bao gồm tính riêng rẽ trong phân đoạn dữ liệu, cấp phát đoạn hiệu quả, và khả năng điều khiển dư thừa Ngoài ra, độc lập dữ liệu với hệ quản trị cơ sở dữ liệu địa phương cũng là một điểm nổi bật trong kiến trúc này.

Trong suốt phân đoạn Trong suốt định vị Trong suốt ánh xạ địa phương

Tính trong suốt là chỉ số quan trọng đánh giá khả năng của hệ thống trong việc che giấu các đặc điểm vật lý của tài nguyên đối với các ứng dụng Đây là một yếu tố then chốt trong các hệ phân tán, giúp ẩn đi sự phân tán của tài nguyên.

Các mức trong suốt khác nhau của CSDL phân tán:

Mức độ trong suốt của phân đoạn cho phép các ứng dụng hoạt động độc lập mà không cần quan tâm đến cấu trúc phân đoạn Điều này giúp phát triển các ứng dụng dựa trên mối quan hệ tổng thể, tạo ra sự linh hoạt và hiệu quả trong quá trình triển khai.

Mức trong suốt định vị thể hiện sự độc lập trong việc sắp xếp chỗ ngồi, cho phép viết các ứng dụng mà không cần quan tâm đến sơ đồ sắp chỗ Mức trong suốt bản sao liên quan chặt chẽ đến mức trong suốt định vị, nghĩa là người sử dụng không biết vị trí của bản sao trong đoạn Mức trong suốt bản sao tương đương với mức trong suốt định vị, nhưng trong thực tế, người sử dụng có thể không có mức trong suốt định vị mà vẫn có mức trong suốt bản sao.

Mức độ trong suốt ánh xạ địa phương trong các ứng dụng không chỉ yêu cầu biểu diễn trên các đoạn mà còn xác định rõ các đoạn đó trên từng trạm Đặc điểm độc lập với hệ quản trị cơ sở dữ liệu địa phương cho phép quản trị hệ cơ sở dữ liệu phân tán không cần quan tâm đến kiểu dữ liệu cụ thể của cơ sở dữ liệu địa phương.

CÁC KIỂU PHÂN ĐOẠN DỮ LIỆU

Phân rã quan hệ thành các đoạn thực hiện qua việc áp dụng hai phân đoạn: phân đoạn ngang và phân đoạn dọc

Phân đoạn ngang là quá trình chia các bộ của quan hệ thành các tập con, trong đó mỗi tập con có thuộc tính vị trí riêng Các đoạn này được xác định thông qua việc coi mỗi đoạn như một toán tử chọn trên quan hệ Nói cách khác, phân đoạn ngang thực chất là việc tách rời các bộ của quan hệ tổng thể thành nhiều đoạn bằng cách sử dụng phép chọn trên quan hệ đó, ký hiệu là F.

Phân đoạn dọc một quan hệ là quá trình chia nhỏ tập thuộc tính thành nhiều nhóm quan hệ và đoạn dọc Để phân đoạn đúng, mỗi thuộc tính phải ánh xạ ít nhất sang một thuộc tính của đoạn, và có thể tái tạo quan hệ ban đầu bằng cách liên kết các đoạn lại với nhau Các đoạn dọc được tạo ra thông qua phép chiếu lên quan hệ tổng thể cho mỗi nhóm thuộc tính.

Ví dụ 2: EMP(E#,Ename,Sal,Tax,D#)

Quan hệ tổng thể có thể được phân rã thành các đoạn thực hiện thông qua hai phương pháp chính: phân đoạn ngang suy diễn và phân đoạn hỗn hợp.

3.3 Phân đoạn ngang suy diễn

Là phân đoạn ngang đƣợc suy diễn ra từ một phân đoạn ngang khác bằng cách sử dụng phép toán nửa kết nối ( A)

 S phân đoạn ngang đơn giản thành {S1, S2}:

 SP đƣợc phân đoạn ngang suy diễn theo S1, S2:

SP1 = SP S# =S# S1 và SP2 = SP S# =S# S2

Vừa phân đoạn dọc, vừa phân đoạn ngang

+ Cho qhệ EMP(E#,Ename,Sal,Tax,D#)

Có một số luật để xác định các đoạn:

Điều kiện hợp trong một quan hệ yêu cầu mọi dữ liệu phải được ánh xạ đến các đoạn cụ thể Điều này có nghĩa là không được xảy ra tình trạng dữ liệu thuộc về quan hệ mà lại không nằm trong bất kỳ đoạn nào.

 Điều kiện tái tạo lại quan hệ: luôn luôn có khả năng tạo lại quan hệ từ các đoạn của quan hệ

 Điều kiện cần: mỗi đoạn được lưu trữ trong cơ sở dữ liệu phân tán và quan hệ phải xây dựng lại đƣợc khi cần thiết

Điều kiện không liên kết là phương pháp thích hợp cho các đoạn dữ liệu không liên quan, cho phép kiểm soát rõ ràng các bản dữ liệu lặp lại ở các mức cấp phát Phương pháp này chủ yếu mang lại lợi ích cho phân đoạn ngang.

TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ORACLE INSTANCE

An Oracle instance consists of a System Global Area (SGA) memory structure and background processes that manage the database It is identified by the ORACLE_SID environment parameter in the operating system.

SGA, hay vùng bộ nhớ chia sẻ, là nơi lưu trữ dữ liệu và thông tin điều khiển của máy chủ Oracle Vùng nhớ này được cấp phát trong bộ nhớ của máy tính mà máy chủ Oracle đang hoạt động.

Khi người dùng kết nối đến Oracle, họ sẽ chia sẻ dữ liệu trong SGA Việc mở rộng không gian bộ nhớ cho SGA giúp nâng cao hiệu suất hệ thống, cho phép lưu trữ nhiều dữ liệu hơn và giảm thiểu các thao tác truy xuất đĩa (disk I/O).

SGA bao gồm các cấu trúc bộ nhớ chính:

 Shared pool: Là một phần của SGA lưu các cấu trúc bộ nhớ chia sẻ;

 Database buffer cache: Lưu trữ các dữ liệu được sử dụng gần nhất;

 Redo log buffer: Đƣợc sử dụng cho việc dò tìm lại các thay đồi trong cơ sở dữ liệu và đƣợc thực hiện bởi các background process;

Shared pool là một thành phần quan trọng trong SGA, đóng vai trò trong quá trình phân tích câu lệnh (parse phase) Kích thước của Shared pool được quy định bởi tham số SHARED_POOL_SIZE trong file tham số.

Các thành phần của Shared pool gồm có: Library cache và Data dictionary cache

+ Library Cache: Library cache lưu trữ thông tin về các câu lệnh SQL đƣợc sử dụng gần nhất bao gồm:

 Nội dung của câu lệnh dạng text (văn bản);

 Parse tree (cây phân tích) đƣợc xây dựng tuỳ thuộc vào câu lệnh;

 Execution plan (sơ đồ thực hiện lệnh) gồm các bước thực hiện và tối ưu lệnh

Thông tin được lưu trữ trong Library cache cho phép Server process truy xuất lại các thông tin đã được phân tích mà không cần phải phân tích lại câu lệnh khi thực hiện lại một truy vấn Điều này giúp nâng cao hiệu suất thực hiện lệnh một cách hiệu quả.

The Data Dictionary Cache is a component of the Shared Pool that stores frequently accessed information such as table definitions, column definitions, usernames, passwords, and privileges During the parse phase of SQL command analysis, the Server Process retrieves information from the dictionary cache to identify objects in the SQL statement and determine the corresponding privilege levels If necessary, the Server Process can initialize and load information from data files.

Khi thực hiện truy vấn, Server process sẽ tìm các block cần thiết trong bộ nhớ đệm database buffer cache Nếu không tìm thấy, Server process sẽ đọc các block từ file dữ liệu và tạo bản sao vào bộ nhớ đệm Điều này giúp cho các lần truy xuất sau này đến block đó không cần phải truy cập vào file dữ liệu nữa.

Database buffer cache là một phần của SGA, được sử dụng để lưu trữ các block dữ liệu gần đây nhất Kích thước của các block dữ liệu được xác định bởi tham số DB_BLOCK_SIZE, trong khi kích thước của buffer cache được quy định bởi tham số DB_BLOCK_BUFFERS.

The Oracle server employs the Least Recently Used (LRU) algorithm to refresh memory areas When a new block is loaded into the cache and the cache is full, the Oracle server removes the least frequently accessed block to make space for the new one.

Server process ghi lại các thay đổi của một instance vào redo log buffer, đây cũng là một phần bộ nhớ SGA

Có một số đặc điểm cần quan tâm của Redo log buffer:

 Kích thước được xác định bởi tham số LOG_BUFFER;

 Lưu trữ các redo records (bản ghi hồi phục) mỗi khi có thay đổi dữ liệu;

Redo log buffer thường xuyên được sử dụng, cho phép các thay đổi của một giao dịch có thể đan xen với các thay đổi từ các giao dịch khác.

Bộ đệm được tổ chức theo kiểu vòng tròn, hay còn gọi là circular buffer, cho phép dữ liệu mới được nạp vào liên tục sau khi vùng đệm đã được sử dụng hết.

Các tiến trình nền (Background process) thực hiện chức năng thay cho lời gọi tiến trình xử lý, điều khiển vào ra và cung cấp cơ chế xử lý song song, nâng cao hiệu quả và độ tin cậy Tùy thuộc vào từng cấu hình, Oracle instance sẽ có các tiến trình nền khác nhau.

 Database Writer (DBW0): Ghi lại các thay đổi trong data buffer cache ra các file dữ liệu;

 Log Writer (LGWR): Ghi lại các thay đổi đƣợc đăng ký trong redo log buffer vào các redo log files;

 System Monitor (SMON): Kiểm tra sự nhất quán trong database;

 Process Monitor (PMON): Dọn dẹp lại tài nguyên khi các tiến trình của Oracle gặp lỗi;

 Checkpoint Process (CKPT): Cập nhật lại trạng thái của thông tin trong file điều khiển và file dữ liệu mỗi khi có thay đổi trong buffer cache;

Quá trình server ghi lại dữ liệu thay đổi để thực hiện rollback và lưu trữ thông tin của các block trong bộ nhớ đệm Database writer (DBWR) có nhiệm vụ ghi các thông tin đã được đánh dấu thay đổi từ bộ nhớ đệm của cơ sở dữ liệu lên các tệp dữ liệu, nhằm đảm bảo luôn có đủ không gian bộ đệm cần thiết cho việc sử dụng.

By utilizing this method, database performance will improve as server processes only make changes in the buffer cache, while the Database Writer (DBWR) writes data to the data files until completion.

 Số lƣợng buffers đánh bị dấu đạt tới giá trị ngƣỡng;

 Tiến trình duyệt tất cả buffer mà vẫn không tìm thấy dữ liệu tương ứng;

 Quá thời gian quy định

The Log Writer (LGWR) is a crucial background process responsible for managing the redo log buffer, which records information into the redo log file The redo log buffer is organized as a circular buffer, ensuring efficient data handling and storage.

LGWR ghi lại dữ liệu một cách tuần tự vào redo log file theo các tình huống sau:

 Khi redo log buffer đầy;

 Khi xảy ra timeout (thông thường là 3 giây);

 Trước khi DBWR ghi lại các blocks bị thay đổi trong data buffer cache vào các data files;

ORACLE DATABASE

Oracle database là một tập hợp dữ liệu hoạt động như một đơn vị thành phần, có chức năng lưu trữ và truy xuất thông tin liên quan Nó được phân tích từ hai khía cạnh: cấu trúc logic và cấu trúc vật lý Mặc dù hai cấu trúc này tồn tại độc lập, việc quản lý dữ liệu theo cấu trúc vật lý không ảnh hưởng đến cấu trúc logic.

Oracle database đƣợc xác định bởi tên một tên duy nhất và đƣợc quy định trong tham số DB_NAME của parameter file

2.1 Cấu trúc vật lý database

Cấu trúc vật lý bao gồm tập hợp các control file, online redo log file và các datafile:

Mỗi cơ sở dữ liệu Oracle có thể chứa một hoặc nhiều tệp dữ liệu (datafiles), nơi lưu trữ toàn bộ dữ liệu của cơ sở dữ liệu Các cấu trúc logic như bảng (tables) và chỉ mục (indexes) được lưu trữ dưới dạng vật lý trong các tệp dữ liệu này.

Một số tính chất của datafiles:

 Mỗi datafile chỉ có thể đƣợc sử dụng trong một database;

 Bên cạnh đó, datafiles cũng còn có một số tính chất cho phép tự động mở rộng kích thước mỗi khi database hết chỗ lưu trữ dữ liệu;

 Một hay nhiều datafiles tạo nên một đơn vị lưu trữ logic của database gọi là tablespace;

 Một datafile chỉ thuộc về một tablespace

Dữ liệu trong một datafile có thể được đọc và lưu vào bộ nhớ đệm của Oracle Khi người dùng truy cập dữ liệu từ một bảng trong cơ sở dữ liệu, nếu thông tin yêu cầu không có trong bộ nhớ cache hiện tại, dữ liệu sẽ được đọc trực tiếp từ các datafile và lưu trữ vào bộ nhớ.

Việc bổ sung dữ liệu vào cơ sở dữ liệu không nhất thiết phải ghi ngay vào các tệp dữ liệu, mà có thể tạm thời lưu trữ trong bộ nhớ để tối ưu hóa hiệu suất hệ thống Quá trình ghi dữ liệu này được thực hiện bởi tiến trình nền DBWn, giúp giảm thiểu truy xuất tới bộ nhớ ngoài.

Each Oracle database consists of a set of at least two redo log files, commonly referred to as the database's redo log A redo log is made up of multiple redo entries, also known as redo records.

Chức năng chính của redo log là ghi lại mọi thay đổi trong cơ sở dữ liệu, giúp bảo vệ dữ liệu khỏi hỏng hóc do sự cố Oracle hỗ trợ sử dụng nhiều redo log đồng thời, được gọi là multiplexed redo log, để lưu trữ các bản sao trên các ổ đĩa khác nhau, tăng cường độ tin cậy cho hệ thống.

Thông tin trong redo log file chỉ được sử dụng để khôi phục database khi hệ thống gặp sự cố, và không cho phép ghi trực tiếp dữ liệu vào các datafiles trong database.

Khi xảy ra sự cố như mất điện, dữ liệu trong bộ nhớ không thể ghi vào datafiles, dẫn đến mất dữ liệu Tuy nhiên, dữ liệu này có thể được khôi phục ngay khi database được mở lại thông qua các thông tin trong redo log files Oracle sẽ phục hồi database đến thời điểm trước sự cố, quá trình này được gọi là rolling forward.

Mỗi Oracle database đều có ít nhất một control file Control file chứa các mục thông tin quy định cấu trúc vật lý của database nhƣ:

 Tên và nơi lưu trữ các datafiles hay redo log files;

 Time stamp (mốc thời gian) tạo lập database

Whenever an Oracle database instance is opened, its control file is utilized to identify the associated data files and redo log files Any physical changes to the database components, such as the creation of new data files or redo log files, will result in automatic updates to the control file by Oracle Additionally, the control file plays a crucial role in data recovery processes.

Cấu trúc logic của Oracle database bao gồm các đối tƣợng tablespaces, schema objects, data blocks, extents, và segments

Database có thể được chia thành các đơn vị logic gọi là tablespaces, thường bao gồm một nhóm các thành phần có mối quan hệ logic với nhau.

+ Databases, Tablespaces, và Datafiles: Mối quan hệ giữa các databases, tablespaces, và datafiles có thể đƣợc minh hoạ bởi hình vẽ sau:

Có một số điểm ta cần quan tâm:

 Mỗi database có thể phân chia về mặt logic thành một hay nhiều tablespace

 Mỗi tablespace có thể đƣợc tạo nên, về mặt vật lý, bởi một hoặc nhiều datafiles

Kích thước của một tablespace được xác định bằng tổng kích thước của các datafiles liên quan Chẳng hạn, trong ví dụ, tablespace SYSTEM có kích thước 2 MB, trong khi tablespace USERS có kích thước 4 MB.

Kích thước của cơ sở dữ liệu có thể được xác định thông qua tổng kích thước của các tablespaces Ví dụ, như trong hình minh họa, kích thước của cơ sở dữ liệu là 6 MB.

Schema là tập hợp các đối tƣợng (objects) có trong database

Schema objects are logical structures that enable direct references to data within a database These objects include various structures such as tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links.

2.2.3 Data Blocks, Extents, and Segments

Oracle điểu khiển không gian lưu trữ trên đĩa cứng theo các cấu trúc logic bao gồm các data blocks, extents, và segments

+ Oracle Data Blocks: Là mức phân cấp logic thấp nhất, các dữ liệu của

Oracle database được tổ chức trong các data blocks, mỗi block chứa một lượng bytes nhất định trên đĩa cứng Kích thước của từng data block được xác định ngay khi tạo lập database Hệ thống quản lý lưu trữ của database sử dụng, cấp phát và giải phóng không gian thông qua các Oracle data blocks.

Extent là một đơn vị phân chia logic trong cơ sở dữ liệu, bao gồm nhiều khối dữ liệu liên tiếp được lưu trữ trên cùng một thiết bị Mỗi extent được thiết kế để lưu trữ thông tin có cùng kiểu, giúp tổ chức và quản lý dữ liệu hiệu quả hơn.

KẾT NỐI TỚI ORACLE SERVER

Các Client có thể kết nối tới Oracle Server thông qua 03 cách sau:

 Kết nối trực tiếp: kết nối mà Client nằm trên cùng một máy chủ Oracle server

 Kết nối hai lớp (two- tiered) client- server: Client nằm trên một máy tính khác và kết nối trực tiếp tới máy chủ Oracle Server

The three-tier architecture involves a client located on a different machine than the Oracle Server In this setup, the client communicates with either an application server or a network server, which in turn manages the connection to the Oracle Server.

3.2 Một số khái niệm cơ bản liên quan đến kết nối

A link serves as the communication pathway between a user process and an Oracle server When users operate tools or applications on the same machine as the Oracle server, the connection is established locally Conversely, if the user is on a different machine, the link utilizes a network connection to reach the Oracle server.

Một phiên làm việc trong Oracle Server đại diện cho một kết nối cụ thể của người dùng Phiên bắt đầu khi người dùng kết nối thành công và kết thúc khi họ đăng xuất hoặc khi kết nối bị ngắt đột ngột Người dùng có thể duy trì nhiều phiên làm việc đồng thời thông qua các ứng dụng hoặc công cụ khác nhau, ví dụ như SQL*Plus, Developer/2000 Form, và nhiều hơn nữa.

Phiên chỉ tạo lập đƣợc khi Oracle Server đã sẵn sàng cho việc kết nối của các client

3.3 Kết nối tới database Để kết nối tới database trước tiên, cần phải tạo liên kết tới Oracle Server Liên kết tới Oracle Server được tạo theo các bước sau:

Users utilize SQL*Plus or other Oracle tools such as Developer/2000 Forms to initiate processes In a Client-Server model, these tools or applications operate on the Client machine.

Người dùng đăng nhập vào máy chủ Oracle bằng cách nhập tên người dùng, mật khẩu và tên liên kết đến cơ sở dữ liệu Các ứng dụng công cụ sẽ tạo ra một tiến trình kết nối với máy chủ Oracle thông qua các tham số này, được gọi là tiến trình phục vụ Tiến trình phục vụ sẽ thực hiện giao tiếp với máy chủ Oracle thay cho tiến trình của người dùng đang chạy trên máy khách.

3.4 Ví dụ thực hiện kết nối tới database Để hiểu rõ hơn về các bước thực hiện kết nối, ta hãy xem xét một ví dụ mô tả việc kết nối tới Oracle database thực hiện bởi một user tại một máy tính khác có kết nối tới máy tính mà Oracle server đang chạy trên đó Việc kết nối được thực hiện thông qua đường mạng bằng cách sử dụng dịch vụ Oracle Net8

To ensure seamless communication, the Oracle server on the host, also known as the database server, must be operational and ready to receive signals from the client.

A client workstation, which runs various applications, executes user processes to connect to a database The client application establishes a connection to the server using the Net8 driver.

The server hosts Net8 drivers that listen for and detect all requests from clients, subsequently creating a corresponding server process for each user process.

 Khi user thực hiện một câu lệnh SQL hay commit một transaction Ví dụ nhƣ user dữ liệu trên một dòng trong một table

Quá trình của server sẽ nhận lệnh từ client, sau đó kiểm tra và phân tích lệnh trong shared pool Tiếp theo, server sẽ xác minh quyền truy cập dữ liệu của người dùng.

 Server process trả về các giá trị dữ liệu yêu cầu từ các dữ liệu có trong datafile hay trong system global area

The server process modifies data within the System Global Area (SGA) The DBWn process writes the changed blocks to disk, while the LGWR process immediately records the changes in the online redo log file as soon as a transaction is committed.

In the event of a successful transaction, the server process will send a completion notification to the client over the network Conversely, if the transaction fails, an error message will be sent to the client.

CƠ SỞ DỮ LIỆU PHÂN TÁN ORACLE

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

1.1 Hệ thống cơ sở dữ liệu thuần nhất

Mạng lưới Oracle bao gồm hai hoặc nhiều cơ sở dữ liệu được triển khai trên một hoặc nhiều máy chủ, trong đó chỉ có hệ quản trị cơ sở dữ liệu Oracle được sử dụng, không có bất kỳ hệ thống nào khác.

The illustration depicts a distributed system comprising three databases: HQ, MFG, and SALES An application can access multiple databases; for instance, a query executed on the local MFG database can retrieve information from the local products table and the remote dept table from HQ.

Cơ sở dữ liệu phân tán (Distributed DB) là một tập hợp các cơ sở dữ liệu trong một hệ thống phân tán, được coi như một nguồn dữ liệu duy nhất Điều này cho phép các ứng dụng truy cập và xử lý dữ liệu từ nhiều nguồn khác nhau như thể chúng là một cơ sở dữ liệu thống nhất.

 Distributed Processing: Những xử lý đƣợc thực hiện khi một ứng dụng phân tán các công việc của nó ra nhiều máy khác nhau trong một hệ thống mạng

1.1.2 Pure Distributed DB - Replicated DB

 Pure Distributed DB: hệ thống quản lý 1 single copy của các CSDL

Hệ thống Replicated DB cho phép tạo ra các bản sao của đối tượng, giúp cơ sở dữ liệu cục bộ có thể lưu trữ bản sao của cơ sở dữ liệu từ xa Việc này không chỉ tăng tốc độ truy cập thông tin mà còn tiết kiệm băng thông mạng, mang lại hiệu quả cao trong việc quản lý dữ liệu.

1.2 Hệ thống cơ sở dữ liệu không đồng nhất

Trong hệ thống này phải có tối thiểu 1 cơ sở dữ liệu không phải là Oracle

Để hệ cơ sở dữ liệu Oracle có thể giao tiếp với các hệ thống không phải Oracle, cần sử dụng dịch vụ Oracle Heterogeneous Service Heterogeneous Services (HS) là sự tích hợp các thành phần trong máy chủ cơ sở dữ liệu Oracle, cung cấp kiến trúc chung và cơ chế quản trị cho Oracle Gateway cùng với các phương tiện truy cập không đồng nhất khác.

QUẢN TRỊ ORACLE DISTRIBUTED DATABASE

Database Server là phần mềm Oracle dùng để quản trị cơ sở dữ liệu, trong khi client là ứng dụng yêu cầu thông tin từ server Mỗi máy tính trong mạng có thể chứa một hoặc nhiều cơ sở dữ liệu, và mỗi node trong hệ thống phân tán có thể hoạt động như client, server hoặc cả hai tùy thuộc vào trạng thái của nó.

Một client có thể connect trực tiếp hoặc gián tiếp đến 1 Database Sever

Kết nối trực tiếp có nghĩa là client kết nối với một máy chủ và truy xuất thông tin được lưu trữ trực tiếp trên máy chủ đó Ví dụ, câu truy vấn “SELECT” cho phép người dùng lấy dữ liệu từ cơ sở dữ liệu.

* FROM DEPT” Bảng Dept được lưu trực tiếp trên server mà ứng dụng connect

Indirect connection refers to a client connecting to a server while retrieving data from an object located on a different server For instance, in the given example, the application connects to the database server HQ but accesses data from the EMP table on the Sales server using the command "INSERT INTO EMP@SALSE".

In the example below, the host containing the HQ database acts as a server when accessing the local Dept table, while it functions as a client when remotely accessing the EMP table from the Sales host.

Khi một trang web dựa trên các ứng dụng kinh doanh tương tác, nó sẽ sản xuất các sản phẩm ứng dụng để xếp hàng các thông điệp, trong khi các ứng dụng tiêu dùng sẽ loại bỏ các thông điệp khỏi hàng đợi.

Advanced Queuing cung cấp một cơ sở dữ liệu tích hợp với tính năng hàng đợi cho các thông điệp, giúp lưu trữ bền vững và truyền tải chúng giữa các hàng đợi trên nhiều máy và cơ sở dữ liệu khác nhau Các thông điệp được truyền tải thông qua các dịch vụ mạng của Oracle như TTTP và SMTP, tối ưu hóa khả năng quản lý và xử lý dữ liệu trong môi trường doanh nghiệp.

Kể từ khi Oracle Advanced Queuing được triển khai trong cơ sở dữ liệu, các tính năng như sẵn sàng cao, khả dụng, mở rộng và độ tin cậy đã được áp dụng cho hàng đợi dữ liệu Advanced Queuing hỗ trợ các chức năng quan trọng như phục hồi, khởi động lại và bảo mật Bảng hàng đợi có thể được nhập và xuất một cách dễ dàng Người dùng có thể tận dụng cơ sở dữ liệu và các công cụ quản lý như Oracle Enterprise Manager để giám sát hiệu quả hàng đợi.

2.1.2 Advanced Queuing trong môi trường ứng dụng tích hợp

Advanced cung cấp các thông điệp quản lý chức năng và đồng bộ hóa giao tiếp cần thiết cho ứng dụng tích hợp Trong môi trường tích hợp, các thông điệp được trao đổi giữa máy chủ cơ sở dữ liệu Oracle, các ứng dụng và người sử dụng thông qua Oracle Net Service Các thông điệp có thể được truyền tải giữa khách hàng và máy chủ Oracle hoặc giữa hai cơ sở dữ liệu Oracle Net cũng hỗ trợ việc truyền tải thông điệp trong các hàng đợi Oracle khác Các hoạt động trên Advanced Queuing có thể thực hiện qua Internet bằng các giao thức như HTTP, HTTPS hoặc SMTP, trong đó khách hàng hoặc ứng dụng Internet tạo ra các thông điệp có cấu trúc XML Oracle server sử dụng cấu trúc XML chặt chẽ trong quá trình truyền tải Hệ thống tích hợp cũng cho phép tích hợp thông điệp không đồng nhất Advanced Queuing tích hợp liền mạch các hệ thống thông điệp không phải Oracle như IBM MQseries thông qua cổng thông điệp, cho phép các ứng dụng dựa trên MQseries được tích hợp vào môi trường Oracle Advanced Queuing.

2.1.3 Sự cần thiết của hệ thống Queuing Đáp ứng yêu cầu của hệ thống hàng đợi cho hiệu quả hoạt động, mở rộng và bền vững

Để nâng cao hiệu quả cung cấp cơ sở hạ tầng cho các sơ đồ phức tạp, các yêu cầu về dịch vụ cần được tách biệt khỏi dịch vụ cung cấp.

Advanced Queuing nâng cao hiệu suất và đƣợc đo bằng các số hiệu sau:

 Số lƣợng các thông điệp enqueued hoặc dequeued/giây;

 Thời gian để đánh giá một truy vấn phức tạp trên một kho thông điệp;

 Thời gian phục hồi / khởi động lại một tiến trình sau khi thất bại

Hệ thống hàng đợi cần được mở rộng thông qua Advanced Queuing, giúp nâng cao hiệu suất của chương trình Advanced Queuing tối ưu hóa việc xử lý khi số lượng thông điệp và kích thước kho thông điệp gia tăng.

2.2.1 Replication và việc sử dụng

Khi bạn có một cơ sở dữ liệu thường xuyên được cập nhật bởi các ứng dụng và muốn tạo một bản sao giống hệt trên một server khác để chạy báo cáo, bạn cần đảm bảo rằng cơ sở dữ liệu báo cáo cũng được cập nhật thường xuyên để duy trì tính chính xác Trong trường hợp này, phương pháp sao lưu và khôi phục không phù hợp, vì vậy cơ chế replication của Oracle Server sẽ được sử dụng để đảm bảo dữ liệu giữa hai cơ sở dữ liệu luôn đồng bộ.

Replication là quá trình tạo và duy trì các bản sao của đối tượng cơ sở dữ liệu trong hệ thống phân tán Những thay đổi tại một site được ghi lại và lưu trữ trước khi được chuyển đến các site từ xa Advanced Replication là tính năng tích hợp hoàn chỉnh của Oracle server, không phải là một giải pháp riêng biệt.

Replication sử dụng kỹ thuật cơ sở dữ liệu phân tán để chia sẻ dữ liệu giữa nhiều site Tuy nhiên, cơ sở dữ liệu được Replicated và cơ sở dữ liệu phân tán không giống nhau Trong cơ sở dữ liệu phân tán, dữ liệu có sẵn ở nhiều địa điểm và thuộc quyền sở hữu của các site khác nhau, tạo thành một hệ thống liên kết logic Ngược lại, Replication cho phép cùng một cơ sở dữ liệu có mặt tại nhiều site khác nhau.

Replication mang lại nhiều lợi ích quan trọng, bao gồm việc cải thiện tính sẵn có của dữ liệu Người dùng có thể truy cập cơ sở dữ liệu địa phương thay vì phải kết nối với máy chủ từ xa, giúp giảm thiểu lưu lượng truy cập mạng Hơn nữa, ứng dụng có thể tiếp tục hoạt động ngay cả khi một số phần của cơ sở dữ liệu phân tán không khả dụng, nhờ vào việc các bản sao của dữ liệu vẫn có thể được truy cập.

Replicate cung cấp khả năng truy cập nhanh chóng và linh hoạt từ các địa điểm khác nhau để chia sẻ dữ liệu, giúp cân bằng tải giữa nhiều site Người dùng có thể truy cập vào một master site trong khi những người khác truy cập vào các master site khác, từ đó giảm tải cho các master site chính Hơn nữa, người dùng có thể kết nối từ các site được sao chép, tận dụng lợi thế về chi phí và thời gian truy cập gần nhất về mặt địa lý.

CÀI ĐẶT THỬ NGHIỆM

ĐẶT VẤN ĐỀ

Xây dựng 2 chương trình quản lí thử nghiệm bài toán quản lí đơn giản Bao gồm: a Quản lí hồ sơ sinh viên

Hệ cơ sở dữ liệu gồm hai quan hệ:

SINHVIEN(masv,hoten,quequan,malop);

LOP(malop,tenlop) b Quản lí điểm sinh viên

Hệ cơ sở dữ liệu gồm hai quan hệ:

Hai hệ cơ sở dữ liệu trên là một quan hệ tổng thể về mặt logic đƣợc phân tán trên hai site:

 Tại local site xây dựng hệ cơ sở dữ liệu quản lí hồ sơ sinh viên;

 Tại remote site xây dựng hệ cơ sở dữ liệu quản lí điểm sinh viên

Mô hình phân tán nhƣ sau:

Chương trình quản lí tại local site thực hiện các chức năng sau:

 Cập nhật hồ sơ sinh viên;

 Cập nhật lớp sinh viên;

 Theo dõi điểm sinh viên theo lớp;

 Theo dõi điểm sinh viên theo môn

Chương trình quản lí tại remote site thực hiện các chức năng sau:

 Theo dõi hồ sơ sinh viên;

 Theo dõi điểm sinh viên theo lớp.

CẤU HÌNH HỆ THỐNG

2.1 Cấu hình Server side cho phép kết nối

Listener là tiến trình chạy trên máy, có thể độc lập với Oracle server, có nhiệm vụ nhận yêu cầu kết nối từ client cho một hoặc nhiều database Khi client gửi yêu cầu kết nối, listener sẽ tiếp nhận và chuyển giao yêu cầu đó đến Oracle server Sau khi kết nối được thiết lập, client và Oracle server sẽ giao tiếp trực tiếp với nhau Nói một cách đơn giản, listener giống như "lỗ tai" của database.

Một số đặc điểm của listener:

 Một listener có thể lắng nghe thay cho một hoặc nhiều database, ngƣợc lại một database cũng có thể có nhiều listener (tuy nhiên không phải luôn luôn)

 Khi start nhiều listener trên một máy, các listener không thể trùng tên hoặc lắng nghe trên cùng một cổng (port) Default port là 1521

 Listener có thể lắng nghe cho nhiều giao thức khác nhau (multiple protocols)

 Tên mặc định là LISTENER

 Thông tin cấu hình của tất cả các listener được lưu trong một file duy nhất là oracle_home etworkadminlistener.ora

2.2 Cấu hình client side để kết nối

2.2.1 Database Service Đối với client thì database là một dịch vụ (service), nó thực thi công việc thay cho client ở đây dịch vụ mà database cung cấp cho client chính là lưu trữ dữ liệu và gọi lại dữ liệu khi cần Khi kết nối client nhận biết database qua tên dịch vụ (service name) mặc định là bằng với global database name

To connect to an Oracle database, users must provide a connection string that includes a username, password, and connect identifier The connect identifier can be a detailed connection descriptor that specifies the necessary information for accessing the database, or it may refer to the database service name or an alternative name for the connect descriptor.

The naming method is a technique employed by Oracle Net clients to convert a connect identifier into a connect descriptor during database connections Additionally, clients have the option to utilize various naming methods simultaneously.

*** Oracle Net cung cấp các naming methods sau:

Local naming involves identifying network addresses by utilizing configuration information, such as service names and connection descriptors, stored in a file named tnsnames.ora on each client.

Directory Naming: lưu trữ các connect identifier tậptrungtrong một

LDAP- compliant directory server dùng để truy cập đến database service

Oracle Names is a service that utilizes the Oracle database to store names and addresses of various databases Clients seeking to connect to a database must first connect to the Oracle Names server Based on the name provided by the client, the Oracle Names server returns the network address information of the corresponding database server.

Host naming enables clients to connect to an Oracle database server using an alias, known as a host name alias This host name maps to the service names of the database server within the Domain Name System (DNS), Network Information Service (NIS), or the hosts file located in the /etc directory for Linux and Unix systems, or %winsys%/drivers/etc for Windows.

External Naming: sử dụng dịch vụ tên miền của hãng thứ ba (third- party naming service)

2.2.3 Connect string: username/password@connect_identifier

Connect_identifier ở đây thường là một tên thay thế theo các naming method nói ở trên

Local naming, also known as local name, requires the service name to be stored in the tnsnames.ora file on the client Consequently, the client must configure the sqlnet.ora file to utilize local naming and create the tnsnames.ora file The Oracle Net Configuration Assistant tool can be used to facilitate this configuration.

CÀI ĐẶT CHƯƠNG TRÌNH

3.1.Tạo kết nối cơ sở dữ liệu

Bắt đầu bằng cách tạo một bản sao tùy chọn để đăng nhập vào cơ sở dữ liệu chính Tuy nhiên, việc làm mới nhanh chóng không hỗ trợ hiệu quả cho các truy vấn phức tạp.

Tạo sự liên kết logic để hai hệ cơ sở dữ liệu nhất quán nhƣ một cơ sở dữ liệu đơn bằng cách tạo snapshot nhƣ sau:

SQL> Create materialized view SINHVIEN

2 Refresh fast with primary key

5 As (select * from SINHVIEN@edulink) ;

3.1.2 Tạo datalink Để hỗ trợ cho các ứng dụng truy xuất dữ liệu trong hệ thống CSDL phân tán ta cần tạo các liên kết dữ liệu (Database links) giữa các nguồn dữ liệu ở xa (Remote Database) Một Database link là một con trỏ trên CSDL cục bộ (local database) cho phép ta truy cập các đối tƣợng dữ liệu trên một CSDL ở xa (remote database) ORACLE cho phép tạo các Database Links bằng câu lệnh SQL và bằng giao diện đồ họa

+ Tạo các Database Links sử dụng câu lệnh SQL :

CREATE DATABASE LINK edulink CONNECT TO system IDENTIFIED BY system USING ‘PTAIVU_192.168.0.3’;

CREATE PUBLIC DATABASE LINK edulink1 CONNECT TO system IDENTIFIED BY system USING ' QUANLISV_192.168.0.2’;

+ Tạo Database Link sử dụng giao diện đồ họa trong Oracle:

Sau khi thiết lập Database Link thành công, ta có thể truy xuất dữ liệu từ xa thông qua tên của Database link nhƣ:

3.2.1 Chương trình quản lí hồ sơ sinh viên

 Cập nhật hồ sơ sinh viên:

 Cập nhật lớp sinh viên:

 Theo dõi điểm sinh viên theo lớp:

 Theo dõi điểm sinh viên theo môn:

3.2.2 Chương trình quản lí điểm sinh viên

 Theo dõi hồ sơ sinh viên:

 Theo dõi điểm sinh viên theo lớp:

Ngày đăng: 21/10/2021, 23:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Bá Tường, Nhập môn CSDL phân tán, Nxb KHKT, 2005 Sách, tạp chí
Tiêu đề: Nhập môn CSDL phân tán
Nhà XB: Nxb KHKT
[2] Kiến trúc và quản trị Oracle9i, Hà Nội, 7-2002 Sách, tạp chí
Tiêu đề: Kiến trúc và quản trị Oracle9i
[3] Giáo trình Oracle- SQL và PL/SQL cơ bản, Học viện NIIT-iNET Sách, tạp chí
Tiêu đề: Giáo trình Oracle- SQL và PL/SQL cơ bản
[4] M.Tamer Ozsu and Patrick Valduriez, Principals of distributed database system, Prentice Hall ISBN, 1999 Sách, tạp chí
Tiêu đề: Principals of distributed database system
[5] Pons, Dealing with Heterogeneity Distributed Database Systems,Vilarem, 1988 Sách, tạp chí
Tiêu đề: Dealing with Heterogeneity Distributed Database Systems
[6] Hệ cơ sở dữ liệu phân tán, Www.nhipsongcongnghe.net Sách, tạp chí
Tiêu đề: Hệ cơ sở dữ liệu phân tán
[7] Oracle9i Database Administrator Guide Release 2(9.2). download.oracle.com/docs/cd/B10501_01/server.920/a96521/ds_concepts Sách, tạp chí
Tiêu đề: Oracle9i Database Administrator Guide Release 2(9.2)
[8] Charles Thompson, Comparing three leading DBMS Vendor’s Approaches to Replication, www.dbmsmag.com/9705d15.html Sách, tạp chí
Tiêu đề: Comparing three leading DBMS Vendor’s Approaches to Replication
[9] www.stanford.edu/depf/itss/docs/oracle/9i/appdev.920/a96587/toc.htm [10] en.wikipedia.org/wiki/distributed_database Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w