Bài giảng Kiến trúc và quản trị cơ sở dữ liệu Oracle 9i

HÀ NỘI – 07/ 2002  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
MỤC LỤC  
Trang 1  
 
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Trang 2  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Trang 3  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Trang 4  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Trang 5  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Trang 6  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Trang 7  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
A – TÀI LIỆU THAM KHẢO .................................................................................................266  
Trang 8  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Chương 1. CÁC ĐIỂM MỚI TRONG ORACLE 9i  
Phiên bản Oracle9i Release 1 (9.0.1) được đưa ra thị trường vào đầu năm 2001 và được cải  
tiến, bổ sung thêm một số chức năng, đặc điểm mới. Các đặc điểm này đã làm cho việc  
quản lý database trở nên mềm dẻo, linh hoạt và hiệu quả hơn. Dưới đây, ta sẽ xem xét một  
số đặc điểm mới này:  
Cho phép định nghĩa lại cấu trúc của tables đang online  
Chức năng này được cung cấp trong gói package DBMS_REDEFINITION do Oracle cung  
cấp, cho phép người dùng có thể định nghĩa lại cấu trúc của một table thông quan câu lệnh  
DML ngay khi nó đang online. Với các phiên bản trước, Oracle 8i, ta cũng có thể định nghĩa  
lại cấu trúc của table nhưng trước đó cần phải đặt chế độ offline cho nó. Điều này không  
thuận tiện cho việc quản trị.  
Cho phép thực hiện lệnh ANALYZE VALIDATE STRUCTUREtức thời  
Có thể thực hiện lệnh ANALYZEđể tối ưu table ngay cả khi đang có lệnh DML thực hiện trên  
table.  
Điều khiển lưu trữ sau  
Oracle cung cấp cơ chế điều khiển switching đối với các online redo log group dựa theo thời  
gian (time-based). Trong cấu hình primary/standby, tất cả các noncurrent logs tại  
primary site sẽ được lưu trữ rồi vận chuyển tới standby database. Việc này sẽ hiệu quả khi  
hạn chế số lượng các redo records.  
Tạm treo database  
Oracle9i cung cấp chức năng suspend/resume. Quản trị viên sử dụng lệnh ALTER  
SYSTEM SUSPEND để tạm treo database, dừng mọi thao tác truy xuất vào ra đối với các  
datafiles và control files. Khi database ở trạng thái tạm treo, các thao tác vào ra (I/O  
operations) đang thực hiện sẽ được kết thúc và những truy cập vào database mới phát  
sinh sẽ được đẩy vào queue. Thực hiện lệnh ALTER SYSTEM RESUMEđể khôi phục lại tình  
trạng bình thường của database.  
Đặt chế độ hoạt động tĩnh cho database  
Oracle9i cho phép đưa database vào chế độ hoạt động tĩnh(quiesced state). Theo đó chỉ có  
các DBA transactions, queries, và các lệnh PL/SQL là được phép thực hiện. Trạng thái này  
cho phép người dùng thực hiện các thao tác quản trị một cách an toàn. Sự dụng câu lệnh  
ALTER SYSTEM QUIESCE RESTRICTEDđể đưa database về chế độ hoạt động tĩnh.  
Khả năng khôi phục và cấp phát lại không gian  
Oracle sẽ tự động thực hiện tạm treo (suspending) và sau đó khôi phục (resuming) lại việc  
thực hiện các thao tác database tốn kém (large database operations) trong trường hợp có lỗi  
cấp phát không gian. Nhờ vậy mà Oracle database server sẽ có thể tự thực hiện các thao tác  
hợp lý thay vì việc trả về thông báo lỗi như ở các phiên bản trước. Sau khi các lỗi này được  
khắc phục database lại được tự động khôi phục bình thường.  
Trang 9  
 
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Cho phép lưu trữ trên nhiều đích lưu trữ  
Số lượng đích lưu trữ tối đa mà ta có thể sử dụng để lưu trữ các online redo log được tăng  
lên từ 5 tới 10.  
Tự động quản lý vùng không gian  
Oracle9i cho phép quản lý tự động việc giải phóng và sử dụng các vùng không gian có trong  
các segments được lưu trữ trong các locally managed tablespaces thông qua việc sử dụng  
mệnh đề SEGMENT SPACE MANAGEMENT có trong câu lệnh CREATE TABLESPACE. Quản  
trị viên có thể sử dụng chế độ AUTO hoặc MANUAL để chỉ rõ kiểu quản lý không gian mà  
Oracle sẽ sử dụng.  
Cập nhật lại các global indexes mỗi khi thực hiện thao tác bảo trì partition  
Theo mặc định, có thể có một vài phần của một bảng được phân khu (partitioned tables) ở  
trạng thái không sử dụng (đánh dấu UNUSABLE) sẽ được nạp vào trong global indexes. Và  
ta cần xây dựng lại (rebuild) toàn bộ global index. Oracle9i cho phép thực hiện tự động công  
việc rebuild này thông qua mệnh đề UPDATE GLOBAL INDEX có trong câu lệnh ALTER  
TABLEkhi thực hiện bảo trì.  
Cho phép sử dụng đồng thời nhiều kích cỡ block  
Oracle cho phép sử dụng đồng thời nhiều kích cỡ blocks (multiple block sizes). Kích thước  
chuẩn (standard block size) được quy định trong tham số khởi tạo DB_BLOCK_SIZE nhưng  
cũng có thể mở rộng thêm 4 giá trị kích thước block phi chuẩn nữa (nonstandard block  
sizes). Các kích thước blocks phi chuẩn được chỉ rõ mỗi khi tạo tablespaces. Kích thước block  
chuẩn được sử dụng cho SYSTEMtablespace và hầu hết các tablespaces khác. Việc hỗ trợ sử  
dụng nhiều kích cỡ block sẽ cho phép thực hiện trao đổi các tablespaces của các database  
mà không có cùng một kích thước block.  
Quản lý động buffer cache  
Kích thước của buffer cache có trong vùng nhớ System Global Area được quản lý động. Điều  
này có nghĩa là giá trị của tham số DB_BLOCK_BUFFERS(trong file tham số khởi tạo) có thể  
được thay thế bởi giá trị có trong tham số khác, tham số DB_CACHE_SIZE. Trong Oracle 9i,  
buffer cache lại được phân chia thành nhiều bộ đệm con (subcaches) nếu có sử dụng chế độ  
multiple block sizes. Bốn giá trị kích cỡ block được chỉ ra trong 4 tham số DB_  
nK_CACHE_SIZEtương ứng .  
Quản lý động vùng nhớ SGA  
Các tham số khởi tạo có thể tác động tới kích cỡ của vùng nhớ SGA. Và ta có thể thay đổi  
kích cỡ của SGA dễ dàng thông qua câu lệnh ALTER SYSTEM SET.  
Quản lý việc khôi phục (undo) tự động  
Oracle sử dụng rollback segments để lưu trữ các thông tin cho khôi phục. Việc phục hồi  
(undo) bao gồm roll back, undo, và thay đổi (changes) đối với database mỗi khi cần. Oracle  
9i cho phép ta tạo riêng một undo tablespace để lưu trữ các thông tin phục hồi này. Việc sử  
Trang 10  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
dụng undo tablespace sẽ làm giảm bớt tính phức tạp của việc quản trị vùng không gian  
rollback segment, và cho phép phục hồi lại các thông tin dài mà không sợ bị trùng lên nhau.  
Quản lý files trong Oracle  
Một điểm mới trong Oracle 9i là quản lý files. Thông qua các tham số khởi tạo  
DB_CREATE_FILE_DEST và DB_CREATE_ONLINE_LOG_DEST_ n ta có thể chỉ ra cho hệ  
thống các đường dẫn cụ thể lưu trữ các file thuộc tablespace, online redo log file hay control  
file. Oracle luôn đảm bảo quản lý file duy nhất trong hệ thống.  
Tự động xoá các datafiles  
Oracle9i cung cấp một lựa chọn cho phép tự động xoá bỏ (remove) các datafiles mỗi khi  
tablespace tương ứng bị huỷ thông qua câu lệnh DROP TABLESPACE. Tuỳ chọn tương tự  
trong câu lệnh ALTER DATABASE TEMPFILE cũng được sử dụng để xoá các temporary file  
tương ứng.  
Metadata API  
Một PL/SQLpackage mới, DBMS_METADATA.GET_DDL, được đưa vào Oracle 9i cho phép ta  
lấy được các siêu dữ liệu (metadata) – Các thông tin tổng hợp về các schema object.  
Các bảng ngoài - External tables  
Oracle9i cho phép ta truy cập theo kiểu chỉ đọc các dữ liệu trong các bảng ngoài (external  
tables). External tables là các tables mà không nằm trong database, và có thể ở các khuôn  
dạng (format) nào đó. Câu lệnh CREATE TABLE ... ORGANIZATION EXTERNAL được  
sử dụng để chỉ ra metadata mô tả cho external table tương ứng. Oracle cung cấp điều khiển  
truy cập ORACLE_LOADER, qua đó cung cấp khả năng ánh xạ dữ liệu tương ứng với cú pháp  
lệnh trong control file.  
Tăng cường cho constraint  
Ta sử dụng mệnh đề USING INDEXtrong câu lệnh CREATE TABLEhay ALTER TABLE để  
cho phép ta chỉ rõ index mỗi khi sử dụng ràng buộc unique key hay primary key. Thêm vào  
đó, ta cũng có thể ngăn cản việc huỷ (dropping).  
File tham số trên server  
Oracle lưu trữ các tham số khởi tạo cho session trong file tham số dưới khuôn dạng văn bản  
và được đặt tại các client machine.  
Các tham số khởi tạo của server nằm trong file tham số trên server thường ở khuôn dạng  
nhị phân và có thể được lưu trong database.  
Temporary tablespace mặc định  
Có thể thêm vào mệnh mới DEFAULT TEMPORARY TABLESPACE vào câu lệnh CREATE  
DATABASE để cho phép tạo temporary tablespace ngay trong thời gian tạo database.  
Tablespace này sẽ được sử dụng như temporary tablespace mặc định.  
Trang 11  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Đặt tên cho transaction  
Oracle cho phép ta gán tên cho mỗi một transaction. Tên của transaction rất có ích cho việc  
phân biệt giảm thiểu việc nhầm lẫn giữa các transactions.  
Một số thay đổi trong Oracle Database Configuration Assistant  
Oracle Database Configuration Assistant có một số thay đổi trong thiết kế. Theo đó, nó cung  
cấp các mẫu (templates) giúp cho việc tiết kiệm, giảm bớt việc định nghĩa các object trong  
database.  
Người dùng cũng có thể tạo ra các mẫu này thông qua việc sửa đổi các mẫu có sẵn. Khi tạo  
database bằng công cụ Database Configuration Assistant ta cũng có thể thêm vào ngay hoặc  
sau đó các khuôn mẫu gọi là các Oracle’s new Sample Schemas. Những schemas này là  
những ví dụ tài liệu cơ bản trong Oracle.  
Quản lý việc sử dụng index  
Ta thêm mệnh đề MONITORING USAGE vào trong câu lệnh ALTER INDEX để có thể xác  
định và quản lý index khi nó được thực hiện.  
Liệt kê các phân vùng  
Oracle 9i giới thiệu sử dụng liệt kê các phân vùng, nó cho phép ta chỉ ra một danh sách các  
giá trị rời rạc tương ứng với các partitioning column của mỗi phân vùng. Phương thức liệt kê  
phân vùng (list partitioning method) được đưa ra nhằm mục đích mô hình hoá dữ liệu phân  
tán đối với các giá trị rời rạc. Việc này khó thực hiện được bằng các phương pháp range  
partitioning (phân khu theo khoảng giá trị) hay hash partitioning (phân khu theo hàm băm).  
Phân khu theo hàm băm cho các index-organized tables  
Oracle 9i cho phép sử dụng phương pháp băm khi phân khu các index-organized tables. Ở  
các phiên bản trước, việc phân khu cho index-organized tables vẫn thực hiện được nhưng chỉ  
bằng phương pháp range method.  
Xử lý các job queue process linh hoạt  
Các job queue process được tạo một cách linh hoạt và nó chỉ cần tới số hiệu của processes  
được tạo để thực hiện các jobs của process đó đang sẵn sàng cho việc thực hiện. Tiến trình  
nền (background process) có tên là CJQsẽ đảm nhiêm công việc này.  
Điểm mới trong Database Resource Manager  
Có một số chức năng mới được thêm vào Database Resource Manager:  
▪
Có khả năng tạo một active session pool, là nơi lưu chứa được một số lượng lớn nhất  
các user sessions đồng thời đang được thực hiện. Nếu có nhiều hơn số lượng lớn nhất  
các sessions cùng được thực hiện thì các sessions mới này sẽ được đưa vào hàng đợi  
để chờ thực hiện sau. Tuy nhiên ta cũng có thể đưa ra một khoảng thời gian trễ  
(timeout) để cho phép thực hiện hay huỷ việc thực hiện các sessions mới bổ sung  
này.  
▪
Tự động chuyển users từ một nhóm này sang một nhóm khác tuỳ theo sự điều chỉnh  
của quản trị viên (administrator). Nếu một session được tạo bởi member thuộc một  
nhóm users nào đó thực hiện trong khoảng thời gian dài hơn thời gian cho phép thì  
Trang 12  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
session đó có thể được tự động chuyển sang một nhóm khác với những yêu cầu tài  
nguyên khác.  
▪
▪
Có khả năng ngăn chặn thực hiện các thao tác mà được dự kiến là sẽ phải chạy trong  
một thời gian dài hơn là khoảng thời gian cho phép.  
Có khả năng tạo một undo pool, là nơi chứa một số lượng nhất định vùng không gian  
dành cho việc khôi phục thông tin (undo).  
Cơ chế xác thực và nhờ xác thực (Proxy authentication and authorization)  
Oracle9i cho phép một server nằm ở lớp giữa (middle-tier) xác nhận hộ một client. Ta có thể  
thực hiện việc này bằng cách đưa vào mệnh đề GRANT CONNECT THROUGHtrong câu lệnh  
ALTER USER. Ta cũng có thể chỉ rõ vai trò của lớp giữa (middle tier) trong việc kết nối tới  
client.  
Application roles  
Oracle cho phép gán roles cho các application users mà được kích hoạt bằng cách sử dụng  
PL/SQL package. Sử dụng mệnh đề IDENTIFIED USING package trong câu lệnh CREATE  
ROLEđể thực hiện việc này.  
Trang 13  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Chương 2. CÁC THÀNH PHẦN KIẾN TRÚC  
2.1. KIẾN TRÚC ORACLE SERVER  
Oracle server là một hệ thống quản trị cơ sở dữ liệu đối tượng-quan hệ cho phép quản lý  
thông tin một cách toàn diện. Oracle server bao gồm hai thành phần chính là Oracle instance  
và Oracle database.  
2.1.1. Oracle Instance  
Oracle instance bao gồm một cấu trúc bộ nhớ System Global Area (SGA) và các  
background processes (tiến trình nền) được sử dụng để quản trị cơ sở dữ liệu. Oracle  
instance được xác định qua tham số môi trường ORACLE_SID của hệ điều hành.  
Background  
process  
Hình vẽ 1. Kiến trúc Oracle Server  
System Global Area - SGA  
SGA là vùng bộ nhớ chia sẻ được sử dụng để lưu trữ dữ liệu và các thông tin điều khiển của  
Oracle server. SGA được cấp phát (allocated) trong bộ nhớ của máy tính mà Oracle server  
đang hoạt động trên đó. Các User kết nối tới Oracle sẽ chia sẻ các dữ liệu có trong SGA, việc  
mở rộng không gian bộ nhớ cho SGA sẽ làm nâng cao hiệu suất của hệ thống, lưu trữ được  
nhiều dữ liệu trong hệ thống hơn đồng thời giảm thiểu các thao tác truy xuất đĩa (disk I/O).  
SGA bao gồm một vài 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.  
Để chi tiết hơn, ta sẽ xem xét cụ thể từng thành phần.  
Share Pool  
Shared pool là một phần trong SGA và được sử dụng khi thực hiện phân tích câu lệnh (parse  
phase). Kích thước của Shared pool được xác định bởi tham số SHARED_POOL_SIZE có  
trong parameter file (file tham số).  
Các thành phần của Shared pool gồm có: Library cache và Data dictionary cache.  
Trang 14  
     
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Hình vẽ 2. Cấu trúc Share Pool  
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.  
Do các thông tin trên đã được lưu trữ trong Library cache nên khi thực hiện lại một câu lệnh  
truy vấn, trước khi thực hiện câu lệnh, Server process sẽ lấy lại các thông tin đã được phân  
tích mà không phải phân tích lại câu lệnh. Do vậy, Library cache có thể giúp nâng cao hiệu  
suất thực hiện lệnh.  
Data Dictionary Cache  
Data dictionary cache là một thành phần của Shared pool lưu trữ thông tin của dictionary  
cache được sử dụng gần nhất như các định nghĩa các bảng, định nghĩa các cột, usernames,  
passwords, và các privileges (quyền).  
Trong giai đoạn phân tích lệnh (parse phase), Server process sẽ tìm các thông tin trong  
dictionary cache để xác định các đối tượng trong câu lệnh SQL và để xác định các mức  
quyền tương ứng. Trong trường hợp cần thiết, Server process có thể khởi tạo và nạp các  
thông tin từ các file dữ liệu.  
Data buffer cache  
Khi thực hiện một truy vấn, Server process sẽ tìm các blocks cần thiết trong database buffer  
cache. Nếu không tìm thấy block trong database buffer cache, Server process mới đọc các  
block từ data file và tạo luôn một bản sao của block đó vào trong vùng nhớ đệm (buffer  
cache). Như vậy, với các lần truy xuất tới block đó sau này sẽ không cần thiết phải truy xuất  
vào datafile nữa.  
Trang 15  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Hình vẽ 3. Database buffer cache  
Database buffer cache là vùng nhớ trong SGA sử dụng để lưu trữ các block dữ liệu được sử  
dụng gần nhất. Tương tự như kích thước của blocks dữ liệu được xác định bởi tham số  
DB_BLOCK_SIZE, kích thước của vùng đệm trong buffer cache cũng được xác định bởi  
tham số DB_BLOCK_BUFFERS.  
Oracle server sử dụng giải thuật least recently used (LRU) algorithm để làm tươi lại vùng  
nhớ. Theo đó, khi nạp mới một block vào bộ đệm, trong trường hợp bộ đệm đã đầy, Oracle  
server sẽ loại bớt block ít được sử dụng nhất ra khỏi bộ đệm để nạp block mới vào bộ đệm.  
Redo log buffer  
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.  
Hình vẽ 4. Redo log buffer  
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 được sử dụng một cách thường xuyên và các thay đổi bởi một  
transaction có thể nằm đan xen với các thay đổi của các transactions khác.  
▪
Bộ đệm được tổ chức theo kiểu circular buffer (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.  
Background process  
Background process (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 Background process  
như:  
▪
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.  
Trang 16  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Database Writer (DBW0)  
Server process ghi lại các dữ liệu thay đổi để rollback và dữ liệu của các block trong buffer  
cache. Database writer (DBWR) ghi các thông tin được đánh dấu thay đổi từ database buffer  
cache lên các data files nhằm đảm bảo luôn có khoảng trống bộ đệm cần thiết cho việc sử  
dụng.  
Hình vẽ 5. Database Writer (DBWR)  
Với việc sử dụng này, hiệu suất sử dụng database sẽ được cải thiện do Server processes chỉ  
tạo các thay đổi trên buffer cache, DBWRghi dữ liệu vào các data file cho tới khi:  
▪
▪
▪
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.  
Log Writer  
Log Writer (LGWR) là một trong các background process 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.  
Trang 17  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
Hình vẽ 6. Log Writer (LGWT)  
LGWRghi 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.  
▪
Khi commit một transaction.  
System Monitor (SMON)  
Tiến trìnhsystem monitor (SMON) thực hiện phục hồi các sự cố (crash recovery) ngay tại thời  
điểm instance được khởi động (startup), nếu cần thiết. SMON cũng có trách nhiệm dọn dẹp  
các temporary segments không còn được sử dụng nữa trong dictionary-managed  
tablespaces. SMONkhôi phục lại các transactions 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, SMON process 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)  
Tiến trình process monitor (PMON) thực hiện tiến trình phục hồi mỗi khi có một user process  
gặp lỗi. PMON có trách nhiệm dọn dẹp database buffer cache và giải phóng tài nguyên mà  
user process đó sử dụng. Ví dụ, nó thiết lập lại (reset) trạng thái của các bảng đang thực  
hiện trong transaction, giải phóng các locks trên bảng này, và huỷ bỏ process ID của nó ra  
khỏi danh sách các active processes.  
PMON kiểm tra trạng thái của nơi gửi (dispatcher ) và các server processes, khởi động lại  
(restarts) 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.  
Trang 18  
Kiến trúc và quản trị cơ sở dữ liệu Oracle  
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. 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 background process DBWRn ghi lên data files.  
▪
Background process CKPT cập nhật phần headers của các data files và các control  
files.  
Checkpoints có thể xảy ra đối với tất cả các data files trong database hoặc cũng có thể xảy  
ra với một data files cụ thể.  
Checkpoint xảy ra theo các tình huống sau:  
▪
▪
▪
Mỗi khi có log switch  
Khi một shut down một database với các chế độ trừ chế độ abort  
Xảy ra theo như thời gian quy định trong các tham số khởi tạo  
LOG_CHECKPOINT_INTERVALvà 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.  
2.1.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 (Unit).  
Database có nhiệm vụ lưu trữ và trả về các thông tin liên quan. Database đượ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.  
Hình vẽ 7. Cấu trúc database  
Trang 19  
 
Tải về để xem bản đầy đủ
doc 273 trang baolam 27540 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc và quản trị cơ sở dữ liệu Oracle 9i", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docbai_giang_kien_truc_va_quan_tri_co_so_du_lieu_oracle_9i.doc