Trình bày về hệ quản trị cơ sở dữ liệu (CSDL) oracle, cách cài đặt và kiến trúc của hệ quản trị CSDL oracle. Là hệ quản trị cơ sở dữ liệu có tính an toàn, bảo mật, tính nhất quán và toàn vẹn dữ liệu, cho phép các user truy nhập tới cơ sở dữ liệu phân tán như một khối thống nhất…Vì vậy nó được đánh giá là ưu việt nhất hiện nay
Trang 1MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE 1
CHƯƠNG 2 CÀI ĐẶT ORACLE 10G RELEASE 2 2
2.1 YÊU CẦU HỆ THỐNG 2
2.1.1 YÊU CẦU PHẦN CỨNG 2
2.1.2 YÊU CẦU PHẦN MỀM 2
2.2 CÁC BƯỚC CÀI ĐẶT 2
CHƯƠNG 3 KIẾN TRÚC ORACLE 10G RELEASE 2 31
3.1 ORACLE INSTANCE 32
3.1.1 System Global Area (SGA) 32
3.1.1.1 Redo Log Buffer 33
3.1.1.2 Database buffer cache 34
3.1.1.3 Share pool 35
3.1.1.4 Large Pool 36
3.1.1.5 Java Pool 37
3.1.1.6 Streams Pool 37
3.1.2 Background Process 37
3.2 ORACLE DATABASE 41
3.2.1 Cấu trúc vật lý database 41
3.2.1.1 Data files 41
3.2.1.2 Redo Log Files 42
3.2.1.3 Control Files 42
3.2.2 Cấu trúc logic database 43
3.2.2.1 Tablespaces 43
3.2.2.2 Schema và schema objects 44
3.2.2.3 Data blocks, Extents, Segments 44
3.2.2.4 Oracle data blocks 44
3.2.2.5 Extents 44
3.2.2.6 Segment 44
3.2.2.7 Các cấu trúc vật lý khác 45
3.3 ORACLE PROCESSES 46
3.3.1 User Processes 46
3.3.2 Server Processes 47
Trang 2Chương 1 Giới thiệu về hệ quản trị cơ sở dữ liệu Oracle
Oracle là một bộ phần mềm được cung cấp bởi công ty Oracle, nó bao gồm một
bộ xây dựng các ứng dụng và các sản phẩm cuối cùng cho user (end_user product)
Là hệ quản trị cơ sở dữ liệu có tính an toàn, bảo mật, tính nhất quán và toàn vẹn
dữ liệu, cho phép các user truy nhập tới cơ sở dữ liệu phân tán như một khối thốngnhất…Vì vậy nó được đánh giá là ưu việt nhất hiện nay
Chương 2 Cài đặt Oracle 10g Release 2
Windows 2000 with Service Pack 1 hoặc mới hơn, ngoài ra bản Terminal
Services và Microsoft Windows 2000 MultiLanguage Edition (MLE) cũng được hỗ trợWindows Server 2003 – tất cả các phiên bản
Windows Server 2003 R2
Windows XP Professional
Windows Vista - Business, Enterprise, và Ultimate editions
Không hỗ trợ Windows NT
Windows Multilingual User Interface Pack được hỗ trợ trên on Windows Server
2003, Windows XP Professional, và Windows Vista
(các bản Home) không hỗ trợ cài đặt Oracle Server mà chỉ hỗ trợ cài bản Oracle Client.Nếu trước đó máy đã cài đặt Oracle thì bạn nên gỡ Oralce
để cài lại vì khi cài đè lên có thể sẽ gặp phải một số lỗi
Trang 3 Oracle 10g: chứa trong 1CD Nếu có đường Internet tốt, download tại: http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
Lưu ý là bạn phải đăng ký một tài khoản của Oracle (miễn phí) và đăng nhập vào trước khi có thể download
2.2 Các bước cài đặt
Cài đặt và cấu hình sản phẩm Oracle.
Chú ý: Khi bạn đang cài đặt Oracle 10g Release 2 trên máy tính kết nối với mạng,Oracle hỗ trợ DHCP (Dynamic Host Configuration Protocol) thực hiện các bước trong
tài liệu: Loopback Adapters for Oracle Installation in DHCP Networks.doc trước khi
thực thi các bước được hướng dẫn trong tài liệu này
1 Download phần mềm Oracle 10g Release 2 và giải nén nó vào 1 thư mục trên máy.
2 Sau khi giải nén, nội dung của thư mục sẽ giống như sau:
3 Chọn Setup từ thư mục này.
Trang 44 Universal Installer sẽ được khởi động và thực hiện một số kiểm tra, nếu các điều kiện
kiểm tra đều đạt yêu cầu thì Oracle cho phép tiếp tục cài đặt, nếu không Oracle Install
sẽ kết thúc ngay tại bước này
5 Trang cài đặt được hiển thị Chọn Advanced Installation:
Trang 56 Chọn Next
7 Trang Select Installation Type sẽ được hiển thị.
Installation Type Phiên bản sẽ cài đặt, bao gồm:
- Enterprise Edition
- Standard Edition
- Personal Edition
Trong đó bản Enterprise có đầy đủ tính năng nhất
Create Starter Database - Nếu bạn chọn vào đây, trình cài đặt sẽ tạo luôn Database sau
khi cài xong software Chúng ta cũng có thể tạo thêm Database sau khi đã cài đặt xongOracle
Global Database Name Tên để Oracle đặt cho Database và SID.Tên phải theo chuẩn đặt
tên của oracle, và không dài quá 8 ký tự Trên Windows, tên không phân biệt chữ hoa vàchữ thường
Database Password Đặt password (giống nhau) cho tất cả các user có quyền quản trị trên
Oracle Để đỡ phiền phức, bạn phải nhớ password để xài sau này, các password này có thểđổi lại sau khi cài xong Database
Trang 6- Sau khi điền đầy đủ thông tin, bạn hãy bấm "Next" để tiếp tục
- Oracle tiếp tục đưa ra bảng tổng hợp các thông số, các thành phần sẽ cài đặt bấm vào "Install" để cài đặt
8 Chọn Enterprise Edition
9 Cũng trong cửa sổ này chọn nút Product Languages
10 Hộp thoại Language Selection được hiện ra Chọn >> để chọn tất cả các ngôn ngữ:
Trang 711 Click OK
12 Click Next
13 Cửa sổ Specify Home Details được hiển thị.
14 Chọn đường dẫn chính xác đến Oracle Home Trong ví dụ này đường dẫn cài đặt
Oracle: C:\oracle\product\10.2.0\db_1:
Trang 815 Click Next
16 Cửa sổ Product Specific Pre-requisite Checks được hiển thị Tiếp tục cài đặt ở bước
tiếp theo nếu kết quả kiểm tra là thành công (passed)
Trang 917 Chọn Next.
18 Cửa sổ Select Configuration Option sẽ được hiển thị.
19 Chọn Create a Database:
Trang 1020 Chọn Next.
21 Cửa sổ Select Database Configuration sẽ được hiển thị.
22 Chọn General Purpose:
Trang 1123 Chọn Next.
24 Cửa sổ Specify Database Configuration options sẽ được hiển thị.
25 Ở ô Global Database Name, gõ DB101 SID (System ID) sẽ tự động được thay đổi
thành DB101 Ngoài ra bạn còn có thể thay đổi thiết lập font chữ hiển thị trong CSDL
ở mục: Select Database Character Set
Trang 1226 Chọn Next.
27 Cửa sổ Select Database Management Option sẽ được hiển thị.
28 Chọn Use Database Control for Database Management:
Trang 1329 Chọn Next.
30 Cửa sổ Specify Database Storage Option sẽ được hiển thị
31 Chọn File System.
32 Thiết lập nơi đặt CSDL Specify Database File Location đến thư mục bạn muốn lưu
CSDL DB101 Trong ví dụ này đường dẫn chưa bị thay đổi, đó là C:\oracle\product\10.2.0\oradata Nếu bạn muốn thay đổi nó, hãy nhớ vị trí để tham chiếu sau này:
Trang 1433 Chọn Next.
34 Cửa sổ Specify Backup and Recovery Options sẽ được hiển thị.
35 Chọn tùy chọn: Do not enable Automated backups:
Trang 1536 Chọn Next.
37 Cửa sổ Specify Database Schema Passwords sẽ được hiển thị.
38 Chọn tùy chọn: Use the same password for all accounts.
39 Trong textbox Enter Password, gõ 1 password Trong ví dụ cài đặt này, password được
đặt là Oracle Gõ lại password, và nhớ password này
Trang 1640 Chọn Next.
41 Cửa sổ Summary sẽ được hiển thị:
Trang 1742 Chọn nút Install.
43 Cửa sổ Install sẽ được hiển thị Thủ tục cài đặt sẽ bắt đầu:
Trang 1844 Trang configuration Assistants sẽ được hiển thị:
"Oracle Database Configuration Assistant" bắt đầu tạo database bằng cách copy các Datafiles đã tạo sẵn và tự cấu hình lại cho phù hợp thông tin trên máy của bạn
Trang 1945 Database Configuration Assistant sẽ được bắt đầu Bước này tạo CSDL DB101:
Trang 2046 Sau khi CSDL được tạo, 1 màn hình sẽ được hiển thị với các thông tin quan trọng về
CSDL DB101 Ghi nhớ các thông này để tham chiếu về sau
Oracle đưa ra bảng thông báo sau khi đã tạo xong Databasẹ
Trang 2147 Chọn nút OK Bạn sẽ quay trở lại trang Configuration Assistants.
48 Trang kết thúc cài đặt sẽ được hiển thị.
49 Oracle cũng có một cửa sổ khác tóm tắt thông tin đã cài đặt Trước khi bấm vào nút
"Exit", bạn nên ghi nhớ lại các thông tin này, tốt nhất là copy cả ra và lưu vào một filetext để sau này còn nhớ địa chỉ để vào sử dụng chúng
http://letinh.localhost:5560/isqlplus
The iSQL*Plus DBA URL is:
http://letinh.localhost:5560/isqlplus/dba
Trang 2250 Chọn nút Exit.
51 Nhắc lại việc Exit:
Trang 2352 Chọn Yes.
53 Oracle Enterprise Manager sẽ tự động bắt đầu trên trình duyệt.
54 Điền các thông tin của user SYS vào các box:
- Username: SYS
- Password: oracle (được tạo ở bước 39)
- Connect As: SYSDBA:
Trang 2455 Chọn nút Login
56 Trang Oracle Database 10g Licensing Information sẽ được hiển thị Tìm xuống cuối
trang và chọn nút I agree:
Trang 2557 Thông tin về CSDL DB101 sẽ được hiển thị trong Enterprise Manager:
Trang 2658 Chọn link Logout ở phía trên bên phải.
59 Trong trình duyệt, gõ URL để truy nhập iSQL*Plus, ví dụ: http://letinh.localhost:5560/isqlplus
Trang 2861 Thoát ra bằng cách click vào link Logout góc trên bên phải.
62 Tắt trình duyệt
63 Để đảm bảo rằng bạn đã có thể truy nhập thành công SQL*Plus.
64 Chọn như sau: Start/Programs/Oracle – OraDB10g_home1/Application Development/
SQL Plus:
Trang 2965. Hộp thoại SQL*Plus Log On sẽ được hiển thị Điền các thông tin của user SYSTEM
Nhập password:
Trang 3066 Lời nhắc SQL (SQL prompt) sẽ được hiển thị như sau:
67 Thoát SQL*Plus: SQL>EXIT
Xem các Oracle service như trong hình 2-7, và xem trạng thái của chúng đã started
Trang 31Hình: Các Services của Oracle
Chương 3 Kiến trúc Oracle 10g Release 2
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
Hình sau mô tả kiến trúc của Oracle Database 10g Nó được chia thành các thànhphần bộ nhớ, Oracle Instance và các thành phần CSDL vật lý khác với các loại dữ liệuđược lưu trữ
Trang 32Oracle instance được xác định qua tham số môi trường ORACLE_SID của hệđiều hành.
3.1.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ềukhiể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ấtcủ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ácthao tác truy xuất đĩa (disk I/O)
Trang 33SGA bao gồm các thành phần :
Redo Log Buffer
Database buffer Cache
Shared Pool
Java Pool
Large Pool
Streams Pool
3.1.1.1 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ựchiện bởi các background process Oracle bảo vệ cơ sở dữ liệu rất an toàn trong việctránh mất mát dữ liệu trong các trường hợp xảy ra các sự cố của hệ thống hoặc do một
số hỏng hóc khác Bất kỳ lúc nào khi có sự thay đổi của dữ liệu, Oracle luôn luôn ghilại các hình ảnh dữ liệu trước và sau khi thay đổi tận khi giao tác được uỷ thác hoặccuốn trở lại Hình ảnh dữ liệu trước là dữ liệu trước khi bị thay đổi, hình ảnh sau là dữliệu đã thay đổi Các redo buffers là một vùng bộ nhớ được Oracle sử dụng để viết tất
cả các hình ảnh sau khi thay đổi Dữ liệu có thể được thay đổi hoặc tổ chức lại bằngcác lệnh của SQL như Create, Insert, Update, Alter và Drop…Mỗi khi có sự thay đổi,
dữ liệu được sao chép vào redo buffer Tai những điểm thay đổi redo buffer được saochép một cách trực tuyến từ các file redo log bởi tiến trình LGWR
Có một số đặc điểm cần quan tâm của Redo 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 đổibởi một
transaction có thể nằm đan xen với các thay đổi của các transactionskhá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
Trang 343.1.1.2 Database buffer cache
Khi thực hiện một truy vấn, Server process sẽ tìm các blocks cần thiết trongdatabase buffer cache Nếu không tìm thấy block trong database buffer cache, Serverprocess mới đọc các block từ data file và tạo luôn một bản sao của block đó vào trongvù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
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 Kích thước của 1 buffer tương tự như kích thước củablocks 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 xác định bởi tham số DB_BLOCK_BUFFERS (từ 9i trởlên là DB_CACHE_SIZE) Các block là một phần của database bufffer cache đượcthiết lập kích thước bởi tham số DB_BLOCK_SIZE Chúng là buffer cache mặc định.Nội dung của database buffer cache được chia sẻ cho nhiều tiến trình người dùng.Nội dung của database buffer cache được tiến trình nền Database Writer (DBWR) ghi
Trang 351 đối tượng bạn có thể xác định cache nào sẽ được đối tượng sử dụng.
3.1.1.3 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âulệnh (parse phase).Hai cache xác định tạo nên shared pool Kích thước của 2 cachekhông được thiết lập một cách riêng lẻ mà được quyết định bởi Oracle Server một cách
tự động Tuy nhiên, cũng có thể thiết lập toàn bộ kích thước cho shared pool sử dụngtham số: SHARED_POOL_SIZE
Shared pool có 2 thành phần: Library cache và Data dictionary cache
Library cache
Trang 36Chịu trách nhiệm lưu trữ và sử dụng lại các câu lệnh SQL hay được sử dụng, sơ
đồ thực hiện của chúng (execution plan) và các thủ tục lưu trữ (stored procedures).Cache này ngăn cản việc phân tích lại câu lệnh SQL do đó làm tăng tốc độ thực thi củacâu lệnh SQL Khi 1 câu lệnh được thực thi, Oracle sẽ tìm 1 câu lệnh / sơ đồ thực hiệnđồng nhất trong library cache Nếu 1 câu lệnh được tìm thấy, nó sẽ được sử dụng,ngược lại Oracle sẽ tạo cây phân tích (parse tree) và sơ đồ thực hiện (execution plan).Library cache cũng lưu giữ các block PL/SQL thường được truy cập
Data dictionary cache
Cache bao gồm các block lưu trữ thông tin từ điển dữ liệu được đọc từ datafile.Đọc để tạo thông tin từ điển dữ liệu trong datafile cũng được gọi là recursive reads(đọc đệ quy) Các thông tin cơ bản được lưu trữ trong cache này là thông tin tài khoảnngười dùng, bảng, index và các định nghĩa đối tượng khác, phân quyền và các thông tin
có liên quan khác thường được sử dụng Cache này cũng được quản lý sử dụng thuậttoán Least Recently Used (LRU) (thuật toán này dựa trên thuật toán FIFO – First InFirst Out)
3.1.1.4 Large Pool
Đây là một vùng tùy chọn Kích thước vùng nhớ này có thể được thiết lập bởitham số LARGE_POOL_SIZE Nó được sử dụng để điều khiến các yêu cầu I/O(vào/ra) lớn của các tiến trình server Chức năng chính của nó là cung cấp vùng nhớcho session memory (UGA) cho môi trường server chia sẻ, song song với vùng nhớđệm thông điệp thực thi (execution message buffer) (khiPARALLEL_AUTOMATIC_TUNING được đặt là TRUE) Nó cũng được sử dụng bởiRecovery Manager (RMAN) cho chức năng của nó khi các tham số
Trang 37Database Writer (DBWR) - Ghi các datablock từ SGA đến data file.
Log Writer (LGWR) - Ghi dữ liệu từ Log Buffer đến Redo Log
Checkpoint process (CKPT) - Nó đánh dấu tất cả các file dữ liệu và file điều khiển mỗi khi một checkpoint xảy ra
System Monitor (SMON) - Nó lưu vết các tiến trình CSDL Nó cũng có thể xóa tiến trình bị chết trước khi thực thi xong Kết quả là tất cả cache và nguồn sẽ được giải phóng Nó cũng có thể khởi động lại các tiếng trình đã gửi đi nhưng không thành công
Process Monitor (PMON) - Nó thực hiện phục hồi các instance tại thời điểm instance khởi động
Một số chức năng chính của tiến trình nền là:
Writing the dirty blocks to disk
Trang 38Các tiến trình nền khác có thể được bắt đầu dựa vào các chức năng thêm vào được yêu cầu trong CSDL Bảng dưới đây đưa ra danh sách các tiến trình nền thường được bắt đầu và hoạt động thường xuyên nhất chúng chịu trách nhiệm trong cơ sở dữ liệu
Kiểm tra điểm (checkpoint) thông thường hoặc tăng cường
Số lượng dirty buffer tăng lên 1 giá trị giới hạn thiết lập