Bài giảng Công nghệ Oracle - Bài 2: Các thành phần cấu trúc của Oracle - Nguyễn Việt Hưng
2. Oracle Database
Là một tập hợp các file để lưu trữ và truy vấn dữ liệu, có cấu trúc vật lý và cấu trúc logic.
Cấu trúc vật lý gồm có 3 loại file:
Data files: Chứa dữ liệu trong database
Online redo log files: Lưu tất cả những thay đổi trên CSDL khi instance được khởi động, cho phép khôi phục dữ liệu trong trường hợp xảy ra lỗi.
Control files: ghi lại cấu trúc vật lý của CSDL như tên của database, tên và nơi lưu trữ các datafile hay redo log file, .
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ Oracle - Bài 2: Các thành phần cấu trúc của Oracle - Nguyễn Việt Hưng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Công nghệ Oracle - Bài 2: Các thành phần cấu trúc của Oracle - Nguyễn Việt Hưng
CÁC THÀNH PHẦN CẤU TRÚC CỦA ORACLE Biên soạn: Nguyễn Việt Hưng Bộ môn: Khoa Học Máy Tính - Khoa Công Nghệ Thông Tin Trường Đại Học Giao Thông Vân Tải Website: https://sites.google.com/site/viethung92gtvt/oracle-dba Email : viethung92gtvt@gmail.com 1. Mục đích Mục đích Phác họa được cấu trúc của Oracle và các thành phần chính của nó Liệt kê các cấu trúc trong việc kết nối từ một user tới một Oracle instance 2. Nội dung bài học I. MÔ HÌNH CẤU TRÚC ORACLE SERVER II. CÁC THÀNH PHẦN CHÍNH CỦA ORACLE SERVER III. CẤU TRÚC BỘ NHỚ V. CÁC MÔ HÌNH KẾT NỐI ĐẾN ORACLE SERVER IV. PHÂN LOẠI PROCESS Password file Instance SGA Redo LogBuffer Shared Pool Data DictionaryCache Library Cache DBWR SMON PMON CKPT LGWR Others Userprocess Serverprocess PGA Control files Data files Database DatabaseBuffer Cache Redo Log files Java Pool Large Pool Parameter file Archived Log files I. MÔ HÌNH CẤU TRÚC ORACLE SERVER II. CÁC THÀNH PHẦN CHÍNH CỦA ORACLE SERVER Là tập hợp các file, tiến trình (processes) và cấu trúc bộ nhớ trong Oracle Server. Oracle Server bao gồm 2 thành phần chính là: Oracle Instance và Oracle Database. Oracle server: Oracle server 1. Oracle instance Là phương thức truy cập hệ thống CSDL Oracle Chỉ luôn luôn mở một và chỉ một CSDL Bao gồm các cấu trúc background process và cấu trúc bộ nhớ Cấu trúc background process Cấu trúc bộ nhớ Instance SGA Redo LogBuffer Shared Pool Data DictionaryCache Library Cache DBWR SMON PMON CKPT LGWR Others DatabaseBuffer Cache Java Pool Large Pool 2. Oracle Database Là một tập hợp các file để lưu trữ và truy vấn dữ liệu, có cấu trúc vật lý và cấu trúc logic. Cấu trúc vật lý gồm có 3 loại file: Data files: Chứa dữ liệu trong database Online redo log files: Lưu tất cả những thay đổi trên CSDL khi instance được khởi động, cho phép khôi phục dữ liệu trong trường hợp xảy ra lỗi. Control files: ghi lại cấu trúc vật lý của CSDL như tên của database, tên và nơi lưu trữ các datafile hay redo log file , ... Password file Parameter file Archived Log files Control files Data files Redo Log files Oracle Database 2. Oracle Database Ngoài ra Oracle server còn có các loại file quan trọng khác: Parameter file: xác định các đặc tính của Oracle instance, như là xác định kích thước của một số thành phần trong SGA, ... Password file: xác thực người dùng có quyền để startup và shutdown Oracle instance Archived Log files : là những bản copy của redo log files, có mục đích để khôi phục lại dữ liệu trong trường hợp xảy ra lỗi. Password file Parameter file Archived Log files Control files Data files Redo Log files Oracle Database 2. Oracle Database Xác định xem khoảng trống CSDL được sử dụng như thế nào. Xét về hệ thống cấp bậc bao gồm các tablespaces, segments, extents,và blocks. Tablespace Datafile Segment Blocks Extent Segment Cấu trúc logic III. CẤU TRÚC BỘ NHỚ Cấu trúc bộ nhớ của Oracle bao gồm hai vùng bộ nhớ đó là: Vùng nhớ hệ thống (System Global Area - SGA) được cấp phát khi instance khởi tạo, và đây là một thành phần cơ bản của một Oracle instance Vùng nhớ chương trình (Program Global Area-PGA): được cấp phát khi server process khởi tạo 1. 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). 1.1. Shared Pool Được sử dụng để lưu trữ: Các lệnh SQL thực hiện gần đây nhất Những định nghĩa dữ liệu được sử dụng gần đây nhất Bao gồm hai cấu trúc bộ nhớ liên quan tới hoạt động chính: Library Cache: Lưu trữ thông tin về các lệnh SQL và PL/SQL được sử dụng gần đây nhất . Data Dictionary Cache: Bao gồm các thông tin về các file CSDL, tables, indexs, cột, người sử dụng, đặc quyền và các đối tượng CSDL khác được sử dụng gần đây nhất. Được xác định kích cỡ qua tham số SHARED_POOL_SIZE ALTER SYSTEM SET SHARED_POOL_SIZE = 64M; Shared Pool DataDictionary Cache Library Cache 1.2. Database Buffer Cache Lưu trữ các bản sao của các khối dữ liệu lấy từ các data file. Cải thiện hoạt động khi truy vấn và cập nhật dữ liệu Được quản lý thông qua thuật toán least recently used ( LRU) DB_BLOCK_SIZE xác định kích thước của 1 khối lưu trữ DB_BLOCK_BUFFERS xác định kích thước vùng đệm của db buffer cache Database BufferCache 1.3. Redo Log Buffer Kích thước được xác định thông qua 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. Mục đích để khôi phục CSDL khi xảy ra lỗi. Redo LogBuffer 2. Program Global Area (PGA) Bộ nhớ dành cho mỗi chương trình của người sử dụng kết nối với hệ CSDL Oracle Được cấp phát khi một server process được tạo ra Được giải phóng khi server process đó chấm dứt hoạt động Chỉ được sử dụng bởi một server process Userprocess PGA Serverprocess IV. PHÂN LOẠI PROCESS User process: Khởi động vào thời điểm một CSDL người sử dụng yêu cầu kết nối với Oracle Server. Server process: Kết nối với Oracle instance và được khởi động khi người sử dụng thiết lập một session. Background processes: Khởi động khi một Oracle instance khởi động. 1. User Process Là tiến trình ở máy client thực hiện gửi các yêu cầu của người dùng đến Oracle Server Trước tiên phải thiết lập một kết nối. Không tương tác trực tiếp với Oracle Server. Database user Serverprocess Userprocess Connectionestablished 2. Server Process Là một tiến trình tương tác trực tiếp với Oracle Server. Thay mặt User process giao tiếp với Oracle Server và trả lại kết quả cho User process. Có thể là Dedicated Server hoặc Shared Server. Connection established Session created Database user Userprocess Serverprocess Oracle server 3. Background Processes Là các tiến trình chạy ngầm ngay khi instance được khởi động thực hiện nhiệm vụ luôn duy trì hoạt động thông suốt của CSDL và tối ưu hóa hiệu xuất của server. Các background processe bắt buộc: DBWR SMON PMON CKPT LGWR 3.1. Database Writer (DBWn) Database writer ghi sự thay đổi blocks từ database buffer cache xuống data files. Có thể có tối đa 20 DBWn ( DBW0-DBW9 và DBWa-DBWj) DB_WRITER_PROCESSES xác định số lượng DBWn Instance SGA Control files Data files Redo Log files Database DBWn Database BufferCache 3 .2. Log Writer (LGWR ) LGWR ghi tuần tự từ redo log buffer xuống Online redo log files khi : commit Khi redo log buffer đầy 1/3 Khi có nhiều hon 1 MB thay đổi trong redo log buffer Sau mỗi 3 giây Trước khi DBWn ghi Instance SGA Control files Data files Redo Log files Database Redo Log Buffer DBWn LGWR 3.3. System Monitor (SMON) Có các vai trò: Khôi phục instance Phục hồi những thay đổi đã được ghi trong các Online Redo Log Files (Rolls forward). Mở CSDL để người sử dụng truy cập. Khôi phục lại những thay đổi chưa được commit (Rolls back). Giải phóng các vùng nhớ. Giải phóng các temporary segment. Control files Data files Redo Log files Database Instance SGA SMON 3.4. Process Monitor (PMON) Thực hiện khôi phục process khi bị lỗi: Phục hồi lại các giao dịch (Roll back). Giải phóng các tài nguyên. . PGA area Instance SGA PMON 3.5. Checkpoint (CKPT ) Có vai trò: Báo hiệu DBWn lúc checkpoint. Cập nhật các header của data file với thông tin checkpoint. Cập nhật các control file với thông tin checkpoint. Control files Data files Redo Log files Database Instance SGA DBWn LGWR CKPT 3.6. Archiver (ARCn ) Là một background process lựa chọn. Lưu lại một cách tự động các online redo log file khi đặt ở chế độ ARCHIVELOG. Lưu giữ ghi nhận tất cả những thay đổi đối với CSDL. ARCn Archived redo log files Control files Data files Redo log files V. CÁC MÔ HÌNH KẾT NỐI ĐẾN ORACLE SERVER Session created Database user Userprocess Serverprocess Connection established Oracle server Được tạo ra khi các công cụ hoặc ứng dung tạo kết nối đến Oracle Server như SQL*Plus, SQL Deverloper, PL/SQL Deverloper, Oracle Form, Report ... Được tạo ra trên máy tính đang chạy Oracle Server khi một user process đăng nhập vào Oracle Server User process làm việc với Oracle instance thông qua Server process Phiên làm việc (Session ) Session là một kết nối riêng của một user đến một Oracle server. Session được bắt đầu khi một user xác thực thành công đến một Oracle server, và kết thúc khi user đăng xuất hoặc bị kết thúc đột ngột. Từ một máy client (database user), có thể có nhiều kết nối đến Oracle server khi người dùng sử dụng nhiều công cụ hoặc ứng dụng khác nhau đăng nhập vào Oracle server. One Session for Each Connection 1. Client – Server Chương trình trực quan trên máy tính của bạn và kết nối tới một database Oracle nằm trên một máy tính khác, bạn cần phải cài đặt Oracle Client hoặc cài luôn một Oracle Database trên máy tính của mình . Chú ý: Oracle Database đóng vai trò vừa là server vừa là Oracle Client . 2. Host – Based Chương trình trực quan nằm trên máy tính của bạn và kết nối tới database Oracle nằm cùng máy tính, lúc đó Database này vừa đóng vai trò là một Oracle Server vừa là Oracle Client . Bạn không cần cài thêm gì khác. 3. Client – Application server – Server (mô hình 3 lớp) User có thể truy cập vào cơ sở dữ liệu từ máy tính cá nhân của họ (Client) thông qua một ứng dụng máy chủ (application server), nơi sử dụng cho những yêu cầu chạy chương trình. Câu hỏi 1 . Which one of the following statements is true? a An Oracle server is a collection of data consisting of three file types. b A user establishes a connection with the database by starting an Oracle instance. c A connection is a communication pathway between the Oracle server and the Oracle instance. d A session starts when a user is validated by the Oracle server. 2. Which one of the following memory areas is not part of the SGA? a Database Buffer Cache b PGA c Redo Log Buffer d Shared Pool 3 . Which three of the following statements are true about the Shared Pool? a The Shared Pool consists of the Library Cache, Data Dictionary Cache, Shared SQL area, Java Pool, and Large Pool. b The Shared Pool is used to store the most recently executed SQL statements. c The Shared Pool is used for an object that can be shared globally. d The Library Cache consists of the Shared SQL and Shared PL/SQL areas . Câu hỏi 4 . Which one of the following memory areas is used to cache the data dictionary information? a Database Buffer Cache b PGA c Redo Log Buffer d Shared Pool 5. The primary purpose of the Redo Log Buffer is to record all changes to the database data blocks. a True b False 6. The PGA is a memory region that contains data and control information for multiple server processes or multiple background processes. a True b False Câu hỏi 7. Which of the following becomes available when an Oracle instance is started? a User process b Server process c Background processes 8. Identify five mandatory background processes. ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________
File đính kèm:
- bai_giang_cong_nghe_oracle_bai_2_cac_thanh_phan_cau_truc_cua.pptx