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 bản ghi hồi phục mỗi khi có thay đổi dữ liệu.
− Redo log buffer đƣợc sử dụng một cách thƣờng xuyên và các thay đổi bởi một
giao dịch có thể nằm đan xen với các thay đổi của các giao dịch khác.
− Bộ đệm đƣợc tổ chức theo kiểu bộ đệm nối vòng tức là dữ liệu thay đổi sẽ tiếp
tục đƣợc nạp lên đầu sau khi vùng đệm đã đƣợc sử dụng hết.
1.2.1.2. Các tiến trình nền
Các tiến trình nền thực hiện các chức năng thay cho lời gọi tiến trình xử lý tƣơng ứng. Nó điều khiển vào ra, cung cấp các cơ chế xử lý song song nâng cao hiệu quả và độ tin cậy. Tùy theo từng cấu hình mà Oracle instance có các tiến trình nền nhƣ:
− Database Writer (DBW0): Ghi lại các thay đổi trong dữ liệu bộ nhớ đệm 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 cơ sở dữ liệu.
− 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.
Database Writer (DBW0)
Server process ghi lại các dữ liệu thay đổi để khôi phục dữ liệu của các khối dữ liệu trong bộ nhớ đệm. Database writer (DBWR) ghi các thông tin đƣợc đánh dấu thay đổi từ bộ nhớ đệm lên các file dữ liệu nhằm đảm bảo ln có khoảng trống bộ đệm cần thiết cho việc sử dụng.
Hình 1.14 Database Writer (DBWR)
Với việc sử dụng này, hiệu suất sử dụng cơ sở dữ liệu sẽ đƣợc cải thiện do các tiến trình chỉ tạo các thay đổi trên bộ nhớ đệm, DBWR ghi dữ liệu vào các file dữ liệu cho tới khi:
− Số lƣợng bộ nhớ đệm đánh bị dấu đạt tới giá trị ngƣỡng.
− Tiến trình duyệt tất cả bộ nhớ đệm mà vẫn khơng tìm thấy dữ liệu tƣơng ứng.
− Quá thời gian quy định.
Log Writer
Log Writer (LGWR) là một trong các tiến trình nền có trách nhiệm quản lý redo log buffer để ghi lại các thông tin trong Redo log buffer vào Redo log file. Redo log buffer là bộ đệm dữ liệu đƣợc tổ chức theo kiểu nối vòng.
Hình 1.15 Log Writer (LGWT)
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
− Trƣớc khi DBWR ghi lại các khối dữ liệu bị thay đổi trong data buffer cache vào các file dữ liệu.
− Khi kết thúc một giao dịch.
System Monitor (SMON)
Giám sát hệ thống (SMON) thực hiện phục hồi các sự cố ngay tại thời điểm instance đƣợc khởi động nếu cần thiết. SMON cũng có trách nhiệm dọn dẹp các segments rỗng khơng cịn đƣợc sử dụng nữa trong dictionary-managed tablespaces. SMON khôi phục lại các giao dịch bị chết mỗi khi xảy ra sự cố. SMON đều đặn thực hiện kiểm tra và khắc phục các sự cố khi cần.
Trong mơi trƣờng Oracle Parallel Server, tiến trình SMON của một instance có thể thực hiện khơi phục instance trong trƣờng hợp instance hay CPU của máy tính đó gặp sự cố.
Process Monitor (PMON)
Giám sát tiến trình (PMON) thực hiện tiến trình phục hồi mỗi khi có một tiến trình gặp lỗi. PMON có trách nhiệm dọn dẹp database buffer cache và giải phóng tài ngun mà tiến trình đó sử dụng. Ví dụ, nó thiết lập lại trạng thái của các bảng đang thực hiện trong giao dịch, giải phóng các khóa trên bảng này, và huỷ bỏ process ID của nó ra khỏi danh sách các tiến trình hoạt động.
PMON kiểm tra trạng thái của nơi gửi và các tiến trình máy chủ, khởi động lại mỗi khi xảy ra sự cố. PMON cũng còn thực hiện việc đăng ký các thông tin về instance và dispatcher processes với network listener.
Tƣơng tự nhƣ SMON, PMON đƣợc gọi đến mỗi khi xảy ra sự cố trong hệ thống.
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 bộ nhớ đệm. Xảy ra checkpoints khi:
− Tất cả các dữ liệu trong database buffers đã bị thay đổi tính cho đến thời điểm
checkpointed sẽ đƣợc tiến trình nền DBWRn ghi lên file dữ liệu.
− iến trình nền CKPT cập nhật phần headers của các file dữ liệu và các file điều
khiển.
Checkpoints có thể xảy ra đối với tất cả các file dữ liệu trong cơ sở dữ liệu hoặc cũng có thể xảy ra với một file dữ liệu cụ thể.
− Mỗi khi có log switch
− Khi một tắt một cơ sở dữ liệu với các chế độ trừ chế độ ngừng hoạt động
− Xảy ra theo nhƣ thời gian quy định trong các tham số khởi tạo
LOG_CHECKPOINT_INTERVAL và LOG_CHECKPOINT_TIMEOUT
− Khi có yêu cầu trực tiếp của quản trị viên
Thông tin về checkpoint đƣợc lƣu trữ trong Alert file trong trƣờng hợp các tham số khởi tạo LOG_CHECKPOINTS_TO_ALERT đƣợc đặt là TRUE. Và ngƣợc lại với giá trị FALSE.
1.2.2. Oracle Database
Oracle database là tập hợp các dữ liệu đƣợc xem nhƣ một đơn vị thành phần. Cơ sở dữ liệu có nhiệm vụ lƣu trữ và trả về các thơng tin liên quan. Cơ sở dữ liệu đƣợc
xem xét dƣới hai góc độ cấu trúc logic và cấu trúc vật lý . Tuy vậy, hai cấu trúc dữ
liệu này vẫn tồn tại tách biệt nhau, việc quản lý dữ liệu theo cấu trúc lƣu trữ vật lý không gây ảnh hƣởng tới 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.