Giáo trình 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
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.
33 trang |
Chia sẻ: huongthu9 | Lượt xem: 629 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Giáo trình 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CÁC THÀNH PHẦN CẤU TRÚC CỦA ORACLEBiên soạn: Nguyễn Việt HưngBộ môn: Khoa Học Máy Tính - Khoa Công Nghệ Thông TinTrường Đại Học Giao Thông Vân TảiWebsite: https://sites.google.com/site/viethung92gtvt/oracle-dbaEmail : viethung92gtvt@gmail.com1. Mục đíchMục đíchPhá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 instance2. Nội dung bài họcI. MÔ HÌNH CẤU TRÚC ORACLE SERVERII. CÁC THÀNH PHẦN CHÍNH CỦA ORACLE SERVERIII. CẤU TRÚC BỘ NHỚV. CÁC MÔ HÌNH KẾT NỐI ĐẾN ORACLE SERVERIV. PHÂN LOẠI PROCESSPasswordfileInstanceSGARedo LogBufferShared PoolData DictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWROthersUserprocessServerprocessPGAControl filesDatafiles DatabaseDatabaseBuffer CacheRedo Log filesJava PoolLarge PoolParameterfileArchived Log filesI. MÔ HÌNH CẤU TRÚC ORACLE SERVERII. CÁC THÀNH PHẦN CHÍNH CỦA ORACLE SERVERLà 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 server1. Oracle instanceLà 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 processCấu trúc bộ nhớ InstanceSGARedo LogBufferShared PoolData DictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWROthersDatabaseBuffer CacheJava PoolLarge Pool2. 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 databaseOnline 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, ...PasswordfileParameterfileArchived Log filesControl filesDatafiles Redo Log filesOracle Database2. 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 instanceArchived 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.PasswordfileParameterfileArchived Log filesControl filesDatafiles Redo Log filesOracle Database2. Oracle DatabaseXá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.TablespaceDatafileSegmentBlocksExtentSegmentCấ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 instanceVùng nhớ chương trình (Program Global Area-PGA): được cấp phát khi server process khởi tạo1. System Global Area - SGASGA 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_SIZEALTER SYSTEM SET SHARED_POOL_SIZE = 64M;Shared PoolDataDictionaryCacheLibraryCache1.2. Database Buffer CacheLư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 cacheDatabase BufferCache1.3. Redo Log BufferKí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 LogBuffer2. 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 processUserprocessPGAServerprocessIV. PHÂN LOẠI PROCESSUser 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 ProcessLà 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 ServerTrướ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 userServerprocessUserprocessConnectionestablished2. Server ProcessLà 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 establishedSession createdDatabase userUserprocessServerprocessOracle server3. Background ProcessesLà 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: DBWRSMONPMONCKPTLGWR3.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 DBWnInstanceSGAControl filesData files Redo Log filesDatabaseDBWnDatabaseBufferCache3.2. Log Writer (LGWR)LGWR ghi tuần tự từ redo log buffer xuống Online redo log files khi: commitKhi redo log buffer đầy 1/3 Khi có nhiều hon 1 MB thay đổi trong redo log bufferSau mỗi 3 giây Trước khi DBWn ghiInstanceSGAControl filesData files Redo Log filesDatabaseRedo LogBufferDBWnLGWR3.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 filesData files Redo Log filesDatabaseInstanceSGASMON3.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 areaInstanceSGAPMON3.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 filesData files Redo Log filesDatabaseInstanceSGADBWnLGWRCKPT3.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.ARCnArchived redo log filesControl filesDatafiles Redo log filesV. CÁC MÔ HÌNH KẾT NỐI ĐẾN ORACLE SERVERSession createdDatabase userUserprocessServerprocessConnection establishedOracle 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 ServerUser process làm việc với Oracle instance thông qua Server processPhiê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 Connection1. Client – ServerChươ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 – BasedChươ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ỏi1 . 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 Cacheb PGAc Redo Log Bufferd Shared Pool3. 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ỏi4 . Which one of the following memory areas is used to cache the data dictionary information?a Database Buffer Cacheb PGAc Redo Log Buffer d Shared Pool5. The primary purpose of the Redo Log Buffer is to record all changes to the database data blocks.a Trueb False6. The PGA is a memory region that contains data and control information for multiple server processes or multiple background processes.a Trueb FalseCâu hỏi7. Which of the following becomes available when an Oracle instance is started?a User processb Server processc Background processes8. Identify five mandatory background processes. ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________
Các file đính kèm theo tài liệu này:
- giao_trinh_cong_nghe_oracle_bai_2_cac_thanh_phan_cau_truc_cu.pptx