Tải bản đầy đủ (.pdf) (52 trang)

Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (767.98 KB, 52 trang )

Công ty cổ phần Ti Ngân - BFC
Hà Nội, tháng 4 năm 2001.




Đo tạo Oracle cơ bản
Giáo trình Kiến trúc v Quản trị
Oracle
8i



Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 2
Mục lục
Mục lục 2
Hình vẽ 4
1 Giới thiệu 5
1.1 Mục tiêu khoá học 5
2 Các thnh phần kiến trúc Oracle 5
2.1 Kiến trúc Oracle Server, các thành phần chính 6
2.2 Các cấu trúc liên kết ngời sử dụng với một Oracle Instance 7
2.3 Xử lý một câu lệnh SQL 10
2.4 Xử lý câu lệnh thao tác dữ liệu 11
2.5 Xử lý COMMIT 11
3 Lm quen với Oracle Server 12
3.1 Xác nhận phân quyền sử dụng 12


3.2 Các công cụ quản trị CSDL Oracle cơ bản 12
3.3 DBA Management Pack 15
4 Quản lý một Oracle Instance 16
4.1 Start up và shut down Oracle Server 16
4.2 Tạo và lu giữ cấu hình 16
4.3 Một số quy tắc đối với các tham số 17
5 Tạo CSDL 19
5.1 Chuẩn bị 19
5.2 Tạo CSDL 20
6 Tạo các khung nhìn từ điển dữ liệu v các package chuẩn 22
6.1 Từ điển dữ liệu 22
6.2 Store Program 24
6.3 Package 24
6.4 Trigger 25
7 Bảo trì các file điều khiển - Contron files 26
7.1 Control file 26
7.2 Tạo nhiều control file 26
7.3 Lấy thông tin về control file 27
8 Bảo trì các Redo log files 28
8.1 Redo log file 28
8.2 Redo log file group và Redo log file member 30
8.3 Phân tích và ghi nhận các redo log file 31
9 Quản lý Tablespaces v Data files 32
9.1 Cấu trúc logic của database 32
9.2 Tablespace 33
9.3 Quản lý tablespace 35
10 Cấu trúc lu trữ 39
10.1 Các cấu trúc lu trữ chính của Oracle 39
10.2 Segments - phân loại segments 40
10.3 Quản lý bộ nhớ đối với segment 41

Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 3
11 Quản lý Rollback Segments 42
11.1 Rollback segments 42
11.2 Quản lý rollback segment 43
11.3 Thông tin về rollback segment 45
12 Quản lý Tables 46
12.1 Table - Phân loại table 46
12.2 Quản lý table 47
12.3 Thông tin về table 50
13 Quản lý Indexes 51
13.1 Phân loại Index 51
13.2 Quản lý Index 53
13.3 Thông tin về index 55
14 Duy trì ton vẹn dữ liệu (Maintaining data integrity) 56
14.1 Các dạng toàn vẹn dữ liệu 56
14.2 Tạo các constraint 57
14.3 Lấy thông tin về các constraint 58
15 Nạp dữ liệu 59
15.1 Nạp dữ liệu trực tiếp 59
15.2 Sử dụng công cụ SQL* Loader 59
15.3 Tổ chức lại dữ liệu 62
16 Quản trị ngời sử dụng 64
16.1 Tạo một ngời sử dụng mới 64
16.2 Thay đổi thuộc tính của user 64
16.3 Xoá user 65
17 Quản trị các Privilege 65

17.1 Quyền hạn Privileges 65
17.2 System privilege 66
17.3 Object privilege 68
18 Quản lý Roles 70
18.1 Roles 70
18.2 Quản lý role 71
18.3 Hiển thị thông tin về các role 74
19 Sử dụng hỗ trợ ngôn ngữ quốc tế (NLS) 76
19.1 NLS 76
19.2 Chọn tập ký tự 76

Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 4
Hình vẽ
Hình vẽ 1 Phơng thức xác nhận quyền 12
Hình vẽ 2 Oracle Enterprise Manager Console 15
Hình vẽ 3 Cấu trúc phân cấp lu trữ CSDL 32
Hình vẽ 4 Cấu trúc một block 41
Hình vẽ 5 Cấu trúc dòng dữ liệu trong table 47
Hình vẽ 6 Cấu trúc B-Tree 51
Hình vẽ 7 Cấu trúc Bitmap Index 52
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 5


1 Giới thiệu
1.1 Mục tiêu khoá học
Kết thúc khoá học, học viên phải nắm đợc các kiến thức sau.
Khởi động và tắt Oracle Database
Tạo Database
Quản lý các file Database Oracle
Quản lý các tablespaces, segments, extents, blocks
Quản lý ngời dùng, quyền truy nhập, tài nguyên
Sử dụng khả năng hỗ trợ ngôn ngữ chính thống (National Language Support - NLS)
1.2 Kiến trúc Oracle Server












Hình vẽ 1 Kiến trúc Oracle Server
Một Oracle server gồm:
2 Cấu trúc bộ nhớ v các tiến trình nền của csdl Oracle
Oracle Server là một hệ quản trị CSDL quan hệ đối tợng cho phép quản lý thông tin một cách tổng
hợp, toàn diện, và có tính mở. Oracle tạo ra và sử dụng các cấu trúc bộ nhớ để hoàn thành một số
công việc. Ví dụ, bộ nhớ lu trữ mã chơng trình đang đợc thực hiện và dữ liệu dùng chung của các
user.
Oracle Instance là kết hợp của các tiến trình nền và các cấu trúc bộ nhớ của Oracle Server. Oracle

Instance cần đợc khởi tạo trớc khi truy nhập vào CSDL. Oracle instance gồm:
System Global Area - SGA: Vùng bộ nhớ đợc sử dụng để lu trữ các thông tin CSDL chia sẻ cho
các tiến trình CSDL.

SMON DBSW0 PMON CKPT LGWR Other
Instance
Shared Pool
SGA
Library
cache
Data Dict.
cache
Data Buffer
cache
Redo Log
Buffe
r
Parameter
File
Password
File
Archived
Lo
g
Files
Data
files
Control
files
Redo

Log
files
User
Process
Server
Process
PGA
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 6
Các tiến trình nền: Thực hiện các chức năng của từng tiến trinhg cụ thể. Đ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.

Oracle chiếm một vùng của hệ thống khi một instance đợc khởi tạo và giải phóng vùng đó khi
instance đợc shuts down. Mỗi instance có một vùng hệ thống riêng gọi là system global area.
2.1 Cấu trúc bộ nhớ Oracle Server
Các tiến trình xử lý khác: Các tiến trình của ngời dùng, các đoạn chơng trình đợc viết bằng câu
lệnh SQL. Server sẽ xử lý các câu lệnh đợc gửi đến bởi ngời dùng.
Các database file: Là các file của hệ điều hành, lu trữ các thông tin CSDL thực sự dới dạng vật
lý. Chúng đợc sử dụng để đảm bảo tính nhất quán của dữ liệu, có thể phục hồi lại khi xảy ra sự
cố hỏng hóc.
Các file khác: các file không phải CSDL, để lu giữ cấu hình, thiết lập quyền của ngời sử dụng,
phục hồi CSDL.
Các database file Oracle
CSDL Oracle là một tập hợp các đơn vị dữ liệu có quan hệ với nhau. CSDL Oracle bao gồm ba kiểu
file:
Datafile - File dữ liệu: Chứa toàn bộ dữ liệu trong CSDL. Dữ liệu đợc lu trong các bảng, tuy
nhiên các file dữ liệu cũng chứa các từ điển dữ liệu. Các file dữ liệu có đặc điểm:

- Một file dữ liệu có thể kết hợp với chỉ một CSDL.
- File dữ liệu có các tính chất cho phép nó tự động thay đổi kích thớc khi CSDL hết khoảng
trống.
- Một hoặc vài file dữ liệu hình thành nên một đơn vị logic lu trữ gọi là tablespace.
Redo logs file: Chứa bản ghi các thay đổi trong CSDL. Một CSDL cần có ít nhất 02 redo log file.
Control file - File điều khiển: Chứa các thông tin cần thiết cho bảo trì và đảm bảo tính toàn vẹn của
dữ liệu.
Các file chính khác
Các file tham số: Quy định các tính chất của Oracle instance.
File mật khẩu để xác nhận đặc quyền cho phép ngời sử dụng khởi động và tắt một Oracle
instance.
Archived redo log files là bản off line của các redo log files chứa các thông tin cần thiết để phục
hồi dữ liệu.
Oracle Instance
Oracle Instance: Là kết hợp của các tiến trình nền và các cấu trúc bộ nhớ. Oracle Instance cần đợc
khởi tạo để truy nhập vào CSDL.
System Global Area - SGA: Vùng bộ nhớ đợc sử dụng để lu trữ các thông tin CSDL chia sẻ giữa
các tiến trình CSDL. SGA bao gồm một vài cấu trúc bộ nhớ chính:
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 7
- Shared pool: Lu các câu lệnh SQL đợc thực hiện gần nhất và các dữ liệu trong từ điển dữ
liệu.
- Database buffer cache: Lu trữ các dữ liệu đợc sử dụng gần nhất
- Redo log buffer: Đợc sử dụng cho việc lần lại các thay đồi trong CSDL và đợc thực hiện bởi
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. Đ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:
- Database Writer (DBW0): Ghi lại các thay đổi trong database 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 CSDL.
- 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.
- The 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.
2.2 Các quá trình (process)
2.3 Các cấu trúc liên kết ngời sử dụng với một Oracle Instance
Share Pool
Trong bớc phân tích, Server xử dụng một vùng trong SGA gọi là shared pool để biên dịch câu lệnh
SQL. Shared pool gồm có hai thành phần chính:
Library cache: Chứa thông tin về các câu lệnh SQL đợc xử lý trong một cấu trúc vùng nhớ gọi là
shared SQL area. Bao gồm:
- Toàn bộ nội dung câu lệnh SQL
- Cây phân tích (parse): một phiên bản đợc phân tích của câu lệnh
- Cách thức thực hiện: sơ đồ thực hiện câu lệnh - execution plan.
Trong trờng hợp một câu lệnh SQL đợc thực hiện lại va sơ đồ thực hiện câu lệnh của câu lệnh vẫn
còn thì Server sẽ không cần phải phân tích lại câu lệnh. Library cache làm tăng hiệu quả thực hiện câu
lệnh SQL.
Data dictionary cache: là một tập hợp các định nghĩa đợc sử dụng trong CSDL. Nó bao gồm các
thông tin về database files, tables, indexes, columns, users, privileges, và các database objects
khác.
Kích thớc của Shared Pool: đợc khởi tạo bởi tham số SHARED_POOL_SIZE.
Database Buffer Cache
Chức năng của Database Buffer Cache: Khi một truy vấn đợc xử lý, tiến trình Server sẽ tìm trong
database buffer cache các block mà nó cần. Nếu block không tìm thấy trong database buffer
cache, tiến trình Server sẽ đọc các block từ các file dữ liệu và đặt một bản copy của nó vào buffer
cache. Oracle server sử dụng giải thuật least recently trong việc quản lý cache.

Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 8
Kích thớc của Database Buffer Cache bằng với kích thớc của một Oracle block và đợc xác định
bởi tham số DB_BLOCK_SIZE.
Số các buffers đợc định bởi tham số DB_BLOCK_BUFFERS
Program Global Area
Program Global Area hay Process Global Area (PGA) là vùng nhớ chứa dữ liệu và các thông tin điêu
khiển cho một tiến trình server hay một tiến trình nền. Không giống với SGA - dùng chung cho nhiều
tiến trình, là vùng dành riêng cho một tiến trình. PGA không chía sẻ và chỉ đợc ghi bởi các server
process. PGA bao gồm các thành phần chính:
Vùng sắp xếp: đợc sử dụng cho bất kỳ một yêu cầu sắp xếp nào của câu lệnh
Thông tin về phiên: bao gồm thông tin về quyền ngời sử dụng và các thống kê thực thi cho 1
phiên
Trạng thái cursor: Chỉ ra mức xử lý hiện tại của câu lệnh SQL;
Vùng Stack: Chứa các biến khác của sesstion
Redo Log Buffer
Các tính chất của Redo Log Buffer:
Kích thớc đợc xác định bởi tham số: LOG_BUFFER
Lu lại các thay đổi trong instance: các block bị thay đổi, vị trí thay đổi, và các giá trị mới trong a
redo entry. Redo entry không phân biệt các kiểu block; nó đơn giản chỉ ghi lại các byte thay đổi
trong block.
Sử dụng tuần tự: Redo log buffer đợc sử dụng một cách tuần tự, các thay đổi trong một giao dịch
đợc thực hiện xen kẽ với các thay đổi trong một giao dịch khác.
Đây là một circular buffer, nó sẽ đợc sử dụng lại khi đầy.
Rollback Segment
Trớc khi thay đổi, tiến trình Server sẽ lu các giá trị cũ vào một rollback segment. Gọi là before-
image, đợc sử dụng để:

Undo các thay đổi khi giao dịch bị rolled back
Cho phép đọc nhất quán đảm bảo các giao dịch khác không thay đổi các dữ liệu cha đợc
commit bằng lệnh DML.
Khôi phục lại dữ liệu khi có sự cố.
Rollback segment nh tables, index tồn tại trong data file và các rollback block đợc đa vào database
buffer cache nếu cần.
Rollback segment đợc tạo bởi DBA. Các thay đổi đối với Rollback segment đều đợc lu vào redo log
file.
Các thay đổi trong rollback segments đợc ghi lại trong redo log buffer.
Log writer
Thực hiện ghi lại tuần tự từ redo log buffer vào redo log file theo các tình huống sau:
Khi COMMIT một giao dịch.
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 9
Khi redo log buffer đầy 1/3.
Khi thay đổi của các bản ghi trong redo log buffer lớn hơn 1 MB
Trớc khi DBW0 ghi các block bị thay đổi trong bộ đệm ra file dữ liệu.
Các Instance Processes khác
Database Writer (DBW0): ghi lại các vùng đệm bị thay đổi (dirty buffers) trong database buffer
cache ra file các dữ liệu, đảm bảo đủ số lợng bộ nhớ.
System Monitor (SMON): Trong trờng hợp Oracle instance bị lỗi, các thông tin trong SGA cha
kịp lu lên đĩa sẽ bị mất. Tiến trình nền PMON sẽ thực hiện khôi phục một cách tự động ngay khi
CSDL đợc mở lại. Việc này đợc tiến hành theo các bớc:
- Khôi phục các dữ liệu cha kịp ghi lên file dữ liệu nhng đã lu vào online log redo.
- Mở CSDL và cho phép các user truy nhập vào
- Khôi phục lại các giao dịch cha commit.
- Kết hợp các vùng không gian kề nhau trong file dữ liệu. Và phân bổ lại các segment, trả lại

vùng trống trong các file dữ liệu.
Process Monitor (PMON):thực hiện dọn dẹp sau khi các tiến trình bị lỗi.
- Khôi phục lại các giao dịch hiện thời của ngời sử dụng\
- Giải phóng các bảng, dòng dữ liệu đang bị khóa (locked)
- Giải phóng các tài nguyên dành riêng cho ngời sử dụng
Archiving Process: cho phép đặt chế độ lu trữ ARCHIVELOG và NOARCHIVELOG.
- Trong chế độ NOARCHIVELOG: chỉ các dữ liệu trong bộ nhớ SGA bị mất, các dữ liệu trên đĩa
vân đợc lu giữ. Dữ liệu đã commit có thể khôi phục lại.
- Trong chế độ ARCHIVELOG: các thay đổi đối với CSDL đều đợc lu ra online redo log file.
Chế độ này đợc đặt mặc định trong CSDL.
Checkpoint (CKPT): sử dụng để đồng bộ hóa các file dữ liệu
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 10

2.4 Xử lý một câu lệnh SQL
Các tiến trình ngời dùng và tiến trình server là các tiến trình chính xử lý các câu lệnh SQL. Tuy nhiên
cũng còn có một số tiến trình khác xử lý câu lệnh SQL.
Các tiến trình user và server đợc sử dụng để kết nối một user với một Oracle instance.
Một vài tiến trình nền, cấu trúc SGA, và các database file đợc sử dụng để xử lý câu lệnh SQL.
- Các truy vấn yêu cầu một tiến trình mở rộng cho phép trả về nhiều dòng dữ liệu.
- Các câu lệnh thao tác dữ liệu (Data manipulation language - DML) yêu cầu các tiến trình mở
rộng để lu vào log file các thay đổi.
- Xử lý Commit đảm bảo các thay đổi dữ liệu trong giao dịch có thể đợc phục hồi.
Một vài thành phần khác (tiến trình nền) của server không tham gia vào quá trình xử lý nhng làm
tăng tính thực thi và dùng để phục hồi CSDL.
Kết nối với CSDL









Kết nối
Kết nối (connection) là cách giao tiếp giữa một user process và một Oracle server. Một database user
có thể kết nối với Oracle server theo ba cách:
User truy nhập vào hệ điều hành chạy Oracle instance và khởi động các ứng dụng, công cụ để
truy nhập vào CSDL.
User khởi động các ứng dụng, công cụ trên máy tại chỗ và kết nối với máy tính co Oracle instance
thông qua đờng mạng. Cách này còn gọi là client-server.
Máy tính của user sẽ giao tiếp thông qua một ứng dụng hoặc network server đang đợc kết nối với
một máy tính có chạy Oracle instance.
Phiên - Sessions
Session là một kết nối cụ thể giữa một user với một Oracle server. Session bắt đâu khi một user đợc
xác nhận bởi một Oracle server và kết thúc khi user ra khỏi theo cách thông thờng hoặc bất thờng.
Xử lý một truy vấn
Các truy vấn nếu thành công sẽ trả về một loạt các dòng dữ liệu. Có ba giai đoạn chính trong xử lý
một truy vấn.

Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 11
Parse: Câu lệnh SQl đợc biên dịch qua user process và server process, Kết quả biên dịch sẽ
đợc tải vào vùng chia sẻ xử lý lệnh SQL. Gồm các việc

- Tìm và copy câu lệnh SQL hiện thời vào shared pool.
- Kiểm tra cú pháp câu lệnh SQL
- Tìm trong từ điển dữ liệu xem có các table và column đợc dùng trong câu lệnh SQL.
- Khoá đối tợng. Các định nghĩa về đối tợng sẽ không đổi trong quá trình thực hiện lệnh.
- Kiểm tra quyền truy nhập của user vào các schema tham chiếu
- Xác định cách thức thực hiện lệnh tối u.
- Tải và thực hiện câu lệnh trong vùng chia sẻ xử lý lệnh SQL.
Execute: ở thời điểm này Oracle Server đã có đầy đủ thông tin và nguồn cần thiết vì lệnh đã đợc
thực hiện. Với câu lệnh SELECT tiserver process đã chuẩn bị dữ liệu hiển thị.
Fetch: Các đòng dữ liệu đợc chọn, sắp xếp (nếu cần) và trả về cho user. Phụ thuộc vào số dòng
kết quả mà 1 hoặc 1 vài fetch cần để chuyển kết quả cho user.
2.5 Xử lý câu lệnh thao tác dữ liệu
Các bớc thực hiện
Bao gồm hai pha thực hiện chính:
Parse: tơng tự nh trong xử lý truy vấn.
Execute: yêu câu có thêm các tiến trình mở rộng làm thay đổi dữ liệu
Pha thực hiện lệnh
Nếu dữ liệu và các rollback blocks cha có trong buffer cache, tiến trình Server sẽ đọc dữ liệu từ
các file dữ liệu vào buffer cache.
Tiến trình server process đặt locks đối với các dòng dữ liệu bị thay đổi.
Trong redo log buffer, tiến trình server sẽ ghi lại các thay đổi phục vụ cho việc rollback dữ liệu.
Tiến trình Server lu lại before-image đối với rollback block và cập nhật block dữ liệu. Các thay đổi
này đợc thực hiện trong database buffer cache.
Lu ý: Các thay đổi đối với blocks sẽ đợc ghi lại trong bộ nhớ mà cha đợc ghi ngay lên đĩa.
2.6 Xử lý COMMIT
Fast COMMIT
Oracle sử dụng Fast COMMIT đảm bảo các thay đổi đã đợc kết chuyển có thể đợc khôi phục lại khi
có sự cố.
System Change Number
Khi kết chuyển một giao dịch, Oracle server sẽ gán một system change number (SCN) cho một giao

dịch. SCN có tính duy nhất trong CSDL. Với việc sử dụng SCN, Oracle server có thể kiểm tra nhất
quán mà không phụ thuộc vào dữ liệu hay thời gian trong hệ điều hành.
Các bớc trong xử lý COMMIT
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 12
Tiến trình Server sẽ tạo một bản ghi kết chuyển cùng với một SCN (system change number) trong
redo log buffer.
LGWR ghi lại tất cả redo log buffer và cả commit record vào redo log files. Oracle server đảm bảo
các thay đổi sẽ không bị mất ngay cả khi Oracle instance bị lỗi.
Thông báo hoàn thành việc COMMIT cho ngời dùng.
Tiến trình server lu lại các thông tin xác định giao dịch đã hoàn tất và hủy bỏ các resource locks
giải phóng tài nguyên.
u điểm của Fast COMMIT
Viết tuần tự vào các log files nhanh hơn là viết vào block khác trong data file.
Lu lại các thông tin thay đổi một cách tối thiểu vào trong các log files cũng nh datafile.
Trong trờng hợp có nhiều giao dịch yêu cầu COMMIT cùng một lúc, instance sẽ chuyển các redo
lock record thành một lần ghi.
Kích thớc của giao dịch không ảnh hởng tới thời gian thực hiện thao COMMIT.
3 Lm quen với Oracle Server
3.1 Xác nhận phân quyền sử dụng
Việc phân quyền sử dụng là cần thiết trong công việc quản trị. Có hai user account đợc tạo tự động
và đợc gán quyền DBA: SYS và SYSTEM.
SYS: đợc tạo tự động và gán quyền DBA. Mật khẩu truy nhập đợc nạp vào trong khi cài đặt. Có
quyền sở hữu các bảng và các từ điển dữ liệu trong CSDL.
SYSTEM: đợc tự động tạo ra với mật khẩu ban đầu là manager và cũng đợc gán quyền DBA.
Tuy nhiên, SYSTEM còn đợc sở hữu cả một số table, view mở rộng chứa các thông tin sử dụng
cho các tools của Oracle.

Các phơng thức xác nhận quyền:
Hình vẽ 2 Phơng thức xác nhận quyền









3.2 Các công cụ quản trị CSDL Oracle cơ bản
Công cụ Diễn giải
SQL*Plus Line Một tiện ích sử dụng cho việc công quản trị nh starting up, shutting
Y
NN
Y
Remote database
administration
Local database
administration
Have secure
connection ?
Use OS
Authentication?
Use OS
Authentication
Use a
password file
Simpo PDF Merge and Split Unregistered Version -

Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 13
Mode down, hoặc phục hồi CSDL
Oracle Enterprise
Manager
Giao diện đồ họa để thực hiện việc quản trị, điều khiển và thay đổi một
hoặc nhiều CSDL
SQL*Loader Tiện ích sử dụng để nạp các file bên ngoài vào trong các bảng của Oracle
Export or Import
utility
Tiện ích sử dụng để exporting hoặc importing dữ liệu theo khuôn dạng
của Oracle
Password File utility Tiện ích sử dụng để tạo file mật khẩu trong CSDL

Trong bài này, một số công cụ đợc sử dụng cho việc quản trị CSDL sẽ đợc giới thiệu:
Universal Installer
Oracle Enterprise Manager
Oracle Configuration Assistant
Oracle Universal Installer
Đa ra các giải pháp cài đặt trên các nền phù hợp Java (Java-enabled platforms). Quá trình cài đặt sẽ
tự động dò tìm các phụ thuộc giữa các components và platform.
Kiến trúc mềm dẻo tối u (Optimal Flexible Architecture - OFA): OFA tổ chức các database file theo
kiểu và cách sử dụng. OFA cung cấp:
Phơng thức cài đặt các CSDL Oracle và các ứng dụng
Dễ dàng quản trị: sao lu, phục hồi
Nâng cao hiệu quả bằng cách giảm bớt các tranh chấp trên đĩa của các file dữ liệu, file quản trị,
Dễ dàng quản trị nhiều Oracle home trên cùng một máy bằng việc phân tách các file trên các
vùng đĩa khác nhau.

Oracle Enterprise Manager
Oracle Enterprise Manager
Oracle Enterprise Manager - OME là phơng tiện cho phép có đợc cái nhìn tổng thể về toàn bộ hệ
thống. Trong đó có cây phân cấp và các hình ảnh đồ họa về các đối tợng và quan hệ giữa chúng
trong hệ thống.
OME có các tiến trình Intelligent Agent processes cho phép quản lý từ xa các dịch vụ chung -
common services nh jobs, events, một cách dễ dàng.
OME cũng bao gồm cả những ứng dụng quản lý chuyên biệt: DBA Management Pack, Advanced
Management Packs.
Bên cạnh đó, OME còn cung cấp một lợng lớn các hàm APIs cho phép tích hợp với các hệ thống
quản lý ứng dụng khác, bao gồm cả các hệ thống quản lý của Oracle và không phải của Oracle.
Kiến trúc OME
Kiến trúc OME là mở rộng của kiến trúc Client/Server, nó có kiến trúc ba lớp.
Lớp thứ nhất chứa các Java-based console và các ứng dụng tích hợp cho phép cài đặt và chạy bởi các
Web browser.
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 14
Lớp thứ hai là Oracle Management Server - OMS. Chức năng chính của OMS là xử lý và quản trị tất cả
các tác vụ của hệ thống, tập trung quản lý và phân phối điều khiển giữa các clients và các nút điều
khiển - managed nodes.
OEM sử dụng Oracle Enterprise Manager repository để duy trì dữ liệu hệ thống, dữ liệu ứng dụng và
các trạng thái của các thực thể điều khiển phân tán trong hệ thống, cho phép ngời dùng có thể truy
cập và chia sẻ các vùng dữ liệu lu trữ.
Lớp thứ ba bao gồm các đích nh databases, nodes và các dịch vụ quản lý khác.
Các dịch vụ chung
OEM có các dịch vụ cho phép quản lý các nodes qua mạng (network)
Dịch vụ phục hồi - Discovery service: OEM tự động khôi phục (định vị) tất cả các CSDL và các

dịch vụ chạy trên managed nodes, một khi các nodes đợc xác định. Các dịch vụ này bao gồm
Web servers, listeners, machines, parallel servers, video servers, và các services khác.
Job Scheduling System: cho phép thực hiện tự động, lặp lại các tác vụ. Hệ thống cho phép tạo và
quản lý các jobs, lên kế hoạch thực hiện chúng, cho phép xem và chia sẻ thông tin xác định các
Jobs với các quản trị hệ thống khác.
Event Management System: cho phép quản lý môi trờng mạng (network environment) xử lý các
trờng hợp mất dịch vụ, thiếu hoặc hết vùng lu trữ, và các vấn đề khác nh sử dụng tài nguyên
CPU. Mỗi khi các event đợc phát hiện, ngời quản trị có thể thông báo hoặc sửa nó.
Bảo mật - Security: các tham số bảo mật xác định cho từng services, objects, và administrators.
Shared Repository
OEM là một hệ thống đa ngời dùng - multiuser system. Mỗi quản trị viên có một account riêng để
đăng nhập vào hệ thống. Tùy theo việc thiết đặt quyền hạn, mà quản trị viên có thể truy cập vào các
dữ liệu lu trong kho trung tâm, kho đợc chia sẻ cho tất cả các quản trị viên của OEM để thực hiện
công việc quản lý.
Oracle Configuration Assistant
Configuration Assistant là công cụ cho phép tạo các shared repositories, đặt lại cấu hình cho các OMS
và thiết đặt các local console (đơn vị điều khiển cục bộ). Configuration Assistant đợc tự động khởi
động ngay sau khi hoàn tất quá trình cài đặt của Universal Installer. Nó cũng có thể đợc khởi động
bằng tay (chạy lệnh %emrepmgr từ dấu nhắc hệ thống).
Oracle Enterprise Manager Console
Bao gồm cả cây phân cấp và hình ảnh đồ họa biểu diễn các đối tợng trong hệ thống.
- Các nút có biểu tợng cho phép gọi các ứng dụng khác để cùng thực hiện việc quản trị các
tác vụ. Việc này cũng có thể thực hiện thông qua mục chọn tơng ứng trên menu.
- Navigator hay object explorer đ
ợc tổ chức dới dạng cây phân cấp, cho phép xem các
Oracle services trong mạng làm việc. Navigator cho phép quản trị viên có thể browse các
Oracle services, nh databases, listeners, nodes, và name servers, qua đó có thể sửa đổi các
tính chất của các đối tợng; ví dụ: ngời dùng có thể thay đổi nội dung của bảng.
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC

Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 15
- Job system cho phép thực hiện các tác vụ từ xa liên quan tới listeners, databases. Job
system dựa trên các thủ tục trong Tool Control Language (TCL) engine.

Hình vẽ 3 Oracle Enterprise Manager Console
- Menu cho phép khởi tạo các ứng dụng quản trị khác và thực hiện nhiều tác vụ khác nhau.
- Map hay topographical view cho phép các Oracle services có thể đợc gộp lại tùy theo quan
hệ về không gian, chức năng, hay cả hai. Map view cho phép ngời sử dụng tập trung vào các
đối tợng cần quản lý.
- Event system điều khiển và thông báo các trạng thái của hệ thống.
3.3 DBA Management Pack
DBA Management Pack là tập hợp các ứng dụng chuẩn, đợc cung cấp cùng với OEM bao gồm:
Instance Manager: điều khiển CSDL sẵn có và định nghĩa việc khởi tạo các tham số đối với mỗi
instance cụ thể
Security Manager: quản lý ngời dùng và phân quyền.
Storage Manager: tổ chức các database file và thực hiện quản lý rollback segments.
Schema Manager: tạo và duy trì các objects nh tables, indexes, và views.
SQL*Plus Worksheet: giao diện dòng lệnh, cho phép thực hiện các câu lệnh SQL, PL/SQL, các
lệnh của SQL*Plus, và các lệnh DBA đặc biệt nh startup và shutdown.
Các Tools và wizards quản lý dữ liệu: để nạp và tổ chức lại dữ liệu trong CSDL.
Các Tools và wizards quản lý sao lu: để sao lu và phục hồi CSDL và quản lý các redo log files.
Lu ý :
Các ứng dụng này có thể gọi từ OEM hoặc gọi trực tiếp từ hệ điều hành.
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 16


4 Quản lý một Oracle Instance
4.1 Start up v shut down Oracle Server
Một CSDL Oracle sẽ không sẵn sàng cho tới khi quản trị viên CSDL khởi động Oracle instance và mở
một database. Các bớc khởi động:
- Khởi động (Start an instance).
- Kết nối với CSDL (Mount the database).
- Mở CSDL (Open the database).
Lệnh khởi động và tắt cơ sở dữ liệu bằng Sqldba (với Oracle 8 là svrmgrl)
Trong sqldba để khởi động database dùng lệnh startup để khởi động. Có thể khởi động cơ sở dữ liệu
theo các quá trình tùy thuộc vào tham biên của lênh startup.
- Startup nomount: Khởi động instance mà không mount database
- Startup mount: Khởi động instance và mount the database nhng vẫn đóng nó.
- Startup open: Khởi động instance, mount và mở database trong các mode unrestricted mode
(Cho phép tất cả các user có thể truy nhập), restricted mode (Hạn chế với DBA )
Trong quá trình khởi động, Oracle sử dụng các file tham số để lấy các thông số mặc định phục vụ cho
việc khởi tạo. Cấp phát vùng nhớ SGA và khởi động các tiến trình nền.
Quá trình shut down cũng diễn ra theo ba giai đoạn:
- Đóng CSDL (Close the database)
- Thu hồi kết nối tới CSDL (Dismount the database)
- Dừng (Shut down the database)
Để tắt cơ sở dữ liệu đang hoạt động dùng lệnh shutdown với các tham số normal, immediate, abort.
- Shutdown normal: Trong quá trình thực hiện lệnh không có một kết nối mới nào cho phép,
database sẽ đợi cho đến khi các kết nối kết thúc, lần khởi động sau database không yêu cầu
bất cứ một thủ tục hồi phục nào.
- Shutdown immediate: Trong quá trình thực hiện lệnh, các lệnh từ phía client đều bị kết thúc,
các kết nối tới database đều bị chấm dứt ngay tức khắc, tất các các thao tác và các xử lý cha
commit đều bị rolled back.
- Shutdown abort: Trong quá trình thực hiện lệnh, các lệnh từ phía client đều bị kết thúc, các
kết nối tới database đều bị chấm dứt ngay tức khắc, tất các các thao tác và các xử lý cha

commit đều không bị rolled back.
4.2 Tạo v lu giữ cấu hình
Các bớc tạo và lu cấu hình:
- Kích hoạt Oracle Enterprise Manager Console.
- Truy nhập vào với tên và mật khẩu quản trị hệ thống [sysman]/[manager]@[host]
- Chọn, kích hoạt Oracle Instance Manager trong Oracle Enterprise Manager Console
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 17
- Chọn mục innitialization parameters (tham số khởi tạo) trong cây phân cấp. Giá trị của tham
số sẽ hiện lên và có thể thay đổi đợc. Lu giữ lại các thay đổi.
- Xác nhận các tham số thay đổi.
Tạo và sử dụng các file tham số
File tham số thờng là file initsid.ora, đây là file có khuôn dạng text. Mặc định, file này đợc đặt ở
th mục có đờng dẫn $ORACLE_HOME/dbs đối với hệ điều hành UNIX và đặt ở th mục
%ORACLE_HOME%\database đối với hệ điều hành Windows NT. Trong bản Oracle 8i trên Windows
NT, file này đợc đặt ở th mục có đờng dẫn %ORACLE_HOME%\admin\sid\pfile.
Các thông số trong file này sẽ đợc đọc vào trong quá trình khởi động. Oracle Enterprise Manager
Console hay Instance Manager cho phép DBA có thể xem và sửa các tham số khởi tạo.
Sử dụng các tham số
Các tham số trong file initsid.ora có thể ảnh hởng tới hiệu quả sử dụng CSDL. Các thông số
trong file tham số bao gồm:
Kích thớc của vùng System Global Area (SGA) để tối u hiệu suất.
Đặt mặc định cho database và instance.
Đặt các hạn chế đối với user hayprocess.
Đặt các hạn chế đối với tài nguyên CSDL.
Xác định các thuộc tính vật lý của database, nh kích thớc của block.
Chỉ ra các control files, archived log files, ALERT file, và trace file locations.

4.3 Một số quy tắc đối với các tham số
Các giá trị đợc chỉ ra theo khuôn dạng: keyword=giá trị.
Tất cả các tham số đều là tuỳ chọn (không bắt buộc).
Server đều có giá trị mặc định đối với mỗi tham số. Các giá trị này là tuỳ theo hệ điều hành và tuỳ
theo tham số.
Các tham số có thể đợc chỉ ra theo các thứ tự khác nhau.
Phần chú dẫn đợc bắt đầu bằng ký hiệu #.
Các tham số là ký tự đợc đặt trong dấu nháy kép.
Cũng có thể included các file bởi từ khoá IFILE.
Các giá trị là tập hợp đợc đặt trong dấu ngoặc đơn và đợc ngăn cách nhau bởi dấu phẩy.
Một số tham só cơ bản:
Tham số Diễn giải
BACKGROUND_DUMP_DEST Xác định nơi tiến trình nền đặt các file để ghi vào (LGWR,
DBWn, ).
COMPATIBLE Phiên bản Server tơng thích với instance, mặc định là 8.1.0.
CONTROL_FILES Tên của các control files.
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 18
DB_BLOCK_BUFFERS Số lợng blocks cached trong SGA.
DB_NAME Định danh CSDL từ 8 ký tự trở xuống. Tham số này chỉ cần
thiết khi tạo mới một database.
SHARED_POOL_SIZE Kích thớc của shared pool tính theo đơn vị byte.
USER_DUMP_DEST Nơi các file user debugging đợc tạo thay cho các tiến trình
ngời sử dụng.

Các tham số có thể thay đổi:
Tham số Diễn giải

IFILE Tên của file tham số đợc include vào file tham số hiện thời.
Cho phép có thể đợc lồng tối đa là ba cấp.
LOG_BUFFER Số byte đợc cấp phát cho redo log buffer trong SGA.
MAX_DUMP_FILE_SIZE Kích thớc tối đa của trace files, đợc xác định bằng số lợng
block của hệ điều hành.
PROCESSES Số lợng tối đa các tiến trình hệ điều hành có thể kết nối với
instance.
SQL_TRACE Cho phép hoặc không cho phép sử dụng tiện ích SQL trace
đối với mỗi user session.
TIMED_STATISTICS Cho phép hoặc không cho phép định thời gian trong các
trace files và trong điều khiển màn hình.

Các giai đoạn khởi động và tắt:
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 19

5 Tạo CSDL
5.1 Chuẩn bị
Chuẩn bị hệ điều hành
Đảm bảo có đủ bộ nhớ cho SGA và thực hiện các tiến trình của Oracle một cách hiệu quả. Đảm bảo
có đủ vùng không gian trên đĩa để lu trữ CSDL, các file log, file điều khiển, các file dữ liệu.
Cần có kế hoạch bố trí, phân bổ các file: cần ít nhất hai bản sao các file điều khiển, file log của CSDL
và đợc đặt ở hai nơi khác nhau.
Bên cạnh đó, cần xem xét đến tính chất của dữ liệu lu trữ để từ đó xác định đợc cấu trúc thích hợp
cho CSDL nhằm: giảm thiểu việc phân đoạn, giảm thiểu nội dung lu trữ và vẫn phân tách đợc các
đối tợng.
Cần quan tâm tới tổ chức các file hệ thống, làm sao cho vẫn có thể quản lý một cách dễ dàng khi thêm

thêm mới user, tạo mới CSDL, Việc này có thể thực hiện đợc nhờ vào kiến trúc tối u mềm dẻo
(Optimal Flexible Architecture -OFA).
Cấu trúc OFA:
ORACLE_BASE: th mục gốc.
ORACLE_HOME th mục con chứa phần mềm Oracle software và các dữ liệu.
Phân biệt giữa các product file, các file công cụ và các file cục bộ bằng cách tạo các th mục
riêng.
Chuẩn bị các file tham số
Việc chẩn bị file tham số cần thiết khi tạo CSDL bằng tay.
Đặt SID theo cú pháp: C:\set ORACLE_SID = U16
Sử dụng tiện ích ORADIM để tạo file serrvice, file mật khẩu
C:\>ORADIM -NEW -SID sid [-INTPWD internal_pwd][SRVC svrcname]
[MAXUSERS number][STARTMODE auto,manual][-PFILE filename]
Tạo mới file initSID.ora với các thông số giống nh trong file init.ora. Thay đổi các thông số trong file
này cho phù hợp.
Ví dụ:
db_name = U10
instance_name = U10
service_names = U10
db_files = 1024
control_files =
("C:\ORA815\oradata\U10\control01.ctl",
"C:\ORA815\oradata\U10\control02.ctl")
db_file_multiblock_read_count = 8
db_block_buffers = 2048
shared_pool_size = 4194304
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
processes = 50
Simpo PDF Merge and Split Unregistered Version -

Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 20
parallel_max_servers = 5
log_buffer = 32768


Trong các tham số đó, có ít nhất ba tham số cần đợc khai báo:
db_name: Tên CSDL. Tham số này cần thiết khi tạo mới CSDL với độ dài nhiều nhất 8 ký tự. Tên
này phải phù hợp với tên sử dụng trong lệnh CREARE DATABASE.
control_files: danh sách các file điều khiển. Danh sách này có ít nhất là 02 file.
b_block_buffers: xác định kích thớc của database block. Kích thớc này sẽ không thể thay
đổi sau khi tạo CSDL.
5.2 Tạo CSDL
Có thể tạo CSDL bằng công cụ Database Configuration Assistant hoặc có thể tạo CSDL trực tiếp
bằng tay, thông qua câu lệnh CREATE DATABASE.
Sử dụng Database Configuration Assistant
Database Configuration Assistant cho phép tạo CSDL theo các chế độ:
Typical: tự động cài đặt một CSDL chuẩn và thiết đặt các file tham số khởi tạo mặc định.
Customer: cho phép ngời tạo có thể tạo CSDL tuỳ theo ý muốn. Ví dụ: ngời tạo có thể thiết đặt
các file dữ liệu, file điều khiển và file log cho phù hợp. Định lại kích thớc các vùng tablespace,
extent. Đặt các tham số bộ nhớ,
Database Configuration Assistant cho phép chọn môi trờng điều hành CSDL
Xử lý giao dịch trực tuyến (Online transaction processing - OLTP): áp dụng cho hệ thống xử lý
nhiều giao dịch đồng thời (lên đến hàng nghìn, hàng triệu giao dịch đồng thời).
Hệ thống hỗ trợ quyết định (Decision Support System - DSS): áp dụng cho hệ thống xử lý nhiều
truy vấn phức tạp. Cho phép lấy ra một lợng ít bản ghi từ các truy vấn phức tạp.
Tạo CSDL bằng lệnh Script của SQL
Thiết đặt môi trờng hệ điều hành: các tham số hệ thống đợc xác định trong registry của Windows

NT. Các tham số hệ thống đợc đặt trong HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
Các tham số bao gồm:
ORACLE_HOME: th mục cài đặt phần mềm ORACLE
ORACLE_SID: tên của các Instance của Oracle chạy trên cùng một máy. Các tên này cần đợc
đảm bảo là duy nhất.
ORACLE_BASE: không nhất thiết phải có. Tham số này đợc đa ra để tơng thích với OFA.
ORA_NLS33: Là cần thiết khi tập hợp ký tự sử dụng trong CSDL không phải là US7ASCII.
PATH: đờng dẫn tìm kiếm. Bao gồm luôn cả ORACLE_HOME\BIN.
Các bớc tạo CSDL:
Connect bằng tên và mật khẩu của SYSDBA
Khởi động Instance (no MOUNT). Ví dụ: SQL>STARTUP
NOMOUNT PFILE= initU16.ora
Tạo CSDL bằng lệnh CREATE DATABASE. Ví dụ:
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 21
CREATE DATABASE U16
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXLOGHISTORY 100
LOGFILE
GROUP 1 ('/DISK3/log1a.rdo',/DISK4/log1b.rdo) SIZE 1 M,
GROUP 2 ('/DISK3/log2a.rdo',/DISK4/log2b.rdo) SIZE 1 M
DATAFILE
'/DISK1/system01.dbf' size 50M autoextend on
CHARACTER SET WE8ISO8859P1;
Cú pháp lệnh CREATE DATABASE:

CREATE DATABASE [database]
[CONTROLFILE REUSE]
[LOGFILE [GROUP integer] filespec
[, [GROUP integer] filespec] ]
[MAXLOGFILES integer]
[MAXLOGMEMBERS integer]
[MAXLOGHISTORY integer]
[MAXDATAFILES integer]
[MAXINSTANCES integer]
[ARCHIVELOG|NOARCHIVELOG]
[CHARACTER SET charset]
[NATIONAL CHARACTER SET charset]
[DATAFILE filespec [autoextend_clause]
[, filespec [autoextend_clause] ]]
filespec :== filename [SIZE integer][K|M] [REUSE]
autoextend_clause :==
[AUTOEXTEND {OFF
|ON [NEXT integer[K|M]]
[MAXSIZE {UNLIMITED|integer[K|M]}]
}
]
- Database: Tên của CSDL đợc tạo
- CONTROLFILE REUSE: Tên file tham số đã tồn tại đợc sử dụng
- LOGFILE GROUP: Tên của log file đợc sử dụng
- MAXLOGFILES: số lợng tối đa các log file group cho CSDL
- MAXLOGMEMBERS: số lợng tối đa các log file member đối với một log file group
- MAXLOGHISTORY: số lợng tối đa các redo log trong một group
- DATAFILE filespec: tên file dữ liệu đợc sử dụng
- AUTOEXTEND: cho phép hoặc không cho phép mở rộng tự động các file dữ liệu
- MAXDATAFILES: kích thớc khởi tạo của một d

- MAXINSTANCES: Số lợng lớn nhất các instance có thể đồng thời mount và open CSDL
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 22
- ARCHIVELOG: Xác định ràng redo log cần để ở chế độ archive trớc khi đợc dùng lại
- NOARCHIVELOG: Xác định ràng redo log cần đợc dùng lại mà không cần đặt chế độ
archive
- CHARACTER SET, NATIONAL CHARACTER SET: chuẩn ký tự mà CSDL sử dụng để lu giữ
các dữ liệu
Oracle cung cấp sẵn file script để tạo CSDL đặt tại th mục: ORACLE_HOME\RDBMS\ADMIN
Các bớc tạo CSDL trong Window NT
Dùng Tool tạo script file, sau đó chạy script file này. Các bớc cụ thể nh sau:
1. Chuẩn bị tên database, SID, block size, controll file, data file
2. Dùng Oradim tạo service
3. Tạo parameter file
4. Startup nomount
5. Tạo database (CREATE DATABASE)
6. Tạo tablespace
7. Tạo rollback segment
8. chạy script file
9. Config listener
10. Nối client-server
6 Tạo các khung nhìn từ điển dữ liệu v các package chuẩn
6.1 Từ điển dữ liệu
Từ điển dữ liệu là phần rất quan trọng của Oracle database, bao gồm một tập hợp các bảng, khung
nhìn (chỉ đọc) cung cấp các thông tin về những sự kết hợp trong CSDL.
Từ điển dữ liệu đợc cập nhật bởi Oracle server mỗi khi có một câu lệnh định nghĩa dữ liệu (DDL) đợc
thực hiện và đôi khi là với cả các lệnh thao tác dữ liệu (DML).

Nội dung của từ điển dữ liệu:
Định nghĩa tất cả các schema objects trong CSDL nh(tables, views, indexes, clusters, synonyms,
sequences, procedures, functions, packages, triggers, and so on)
Quy định vùng không gian cho các schema objects hiện thời đợc sử dụng
Giá trị mặc định cho các cột
Các thông tin về ràng buộc toàn vẹn
Tên của các ngời sử dụng
Privileges và roles đợc phân cho mỗi ngời sử dụng
Các thông tin xác nhận, nh quyền truy cập, cập nhật vào các schema objects của ngời dùng
Các thông tin CSDL chung khác
Từ điển dữ liệu bao gồm hai phần
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 23
Bảng cơ sở - Base table: chứa các thông tin về những sự kết hợp trong CSDL. Base table đợc tạo
tự động bởi Oracle server ngay sau khi tạo xong CSDL. Các thông tin trong base table phần lớn
đợc lu trữ ở dạng mã hoá. Nên khó có thể truy cập trực tiếp đợc. Ví dụ: base table INS$, chứa
thông tin về các chỉ số trong database.
Khung nhìn từ điển dữ liệu - Data dictionary views: Phần lớn các user lấy thông tin từ các khung
nhìn vì ở đây các thông tin đều không ở dạng mã hoá. Các thông tin này là các thông tin tổng hợp
đợc lấy ra từ các base table.
Sử dụng từ điển dữ liệu
Chỉ có Oracle server mới có thể viết, thay đổi nội dung của từ điển dữ liệu. Oracle server ghi lại
các thay đổi trong cấu trúc CSDL, xác nhận, gán quyền, cấu trúc dữ liệu.
Ngời sử dụng chỉ có quyền xem nội dung thông tin của từ điển dữ liệu thông qua câu lệnh SQL.
Phân loại khung nhìn từ điển dữ liệu
DBA: khung nhìn của ngời quản trị CSDL. Đó là tất cả những gì trong các schemas. Khung nhìn
này có tiếp đầu ngữ là dba_. Ví dụ: dba_objects; nó cho xem tất cả các khung nhìn tổng thể của

toàn bộ CSDL. Chỉ những ngời sử dụng đợc gán mức quyền hệ thống mới có thể truy xuất vào
các khung nhìn có tiếp đầu ngữ DBA. Ví du:
SELECT owner, object_name, object_type
FROM dba_objects;
ALL: khung nhìn mở rộng của sử dụng; tức là những gì mà ngời sử dụng có thể truy cập. Khung
nhìn này có tiếp đầu ngữ là all_. Ví dụ: all_objects; nó cho phép xem tất cả các thông tin về
schema object mà ngời sử dụng có quyền truy cập. Ví dụ:
SELECT owner, object_name, object_type
FROM all_objects;
USER: khung nhìn ngời sử dụng; tức là những gì trong schema của ngời sử dụng. Khung nhìn
này có tiếp đầu ngữ là user_.
SELECT object_name, object_type
FROM user_objects;
Một vài ví dụ về từ điển dữ liệu:
General overview
- DICTIONARY - DICT_COLUMNS
Schema objects
- DBA_TABLES - DBA_TAB_COLUMNS
- DBA_OBJECTS - DBA_CONSTRAINTS
Space allocation
- DBA_ SEGMENTS -
DBA_EXTENTS
- DBA_FREE_SPACE
Database structure
- DBA_DATA_FILES
- DBA_ROLLBACK_SEGS
- DBA_TABLESPACES
Dynamic performance view
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC

Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 24
Dynamic performance view hay còn gọi là bảng ảo. Ghi lại tất cả các hoạt động (activity) của
CSDL hiện thời. Các khung nhìn này có tiếp đầu ngữ là V_$, synonym V$.
Các bảng cơ sở của từ điển dữ liệu đợc tạo tự động ngay sau khi CSDL đợc tạo. Trong trờng hợp
tạo CSDL bằng tay, ta vẫn có thể tạo đợc bằng cách chạy file scripts. File này đợc đặt ở th mục có
đờng dẫn %ORACLE_HOME%\rdbms\admin. Có 02 file scripts cần quan tâm:
catalog.sql: tạo các khung nhìn và synonym từ điển dữ liệu chung.
catproc.sql: chạy các scripts cần thiết
6.2 Store Program
Store Program là cac hàm, thủ tục đợc tạo lập và lu trữ ngay trong từ điển dữ liệu dới dạng một
schema object. Nó bao gồm một tập hợp các câu lệnh SQL.
Sử dụng để truy cập và thao tác đối với dữ liệu trong CSDL thông qua các câu lệnh PL/SQL.
Không chỉ chạy với các thủ tục viết bằng PL/SQL, quản trị viên CSDL còn có thể cài đặt Jserver
component cho phép Oracle server có thể thực hiện đợc các thủ tục viết bằng ngôn ngữ Java. Để
thực hiện đợc việc này, trớc tiên cần ánh xạ các tên thủ tục, tham số tơng ứng và kiểu trả về sang
ngôn ngữ PL/SQL.
Oracle server cho phép tích hợp cả với các thủ tục viết bằng ngôn ngữ C (đợc đặt trong các th viện
chung .dll)
Việc sử dụng cac Store Program mang lại một số lợi ích:
Giảm thời gian biên dịch
Có thể gọi các thủ tục viết bằng ngôn ngữ C/Java bằng lời gọi SQL, PL/SQL
Đảm bảo việc bảo mật dữ liệu. Ngời sử dụng không truy xuất trực tiếp vào dữ liệu mà thông qua
các thủ tục, hàm.
Các thủ tục là dùng chung, tức là nhiều ngời dùng chỉ cần dùng cùng một thủ tục để truy cập vào
CSDL.
6.3 Package
Package là một tập hợp các biến, hằng, cursors, thủ tục, hàm, ngoại lệ đợc đặt cùng với nhau trong
trong CSDL tạo thành một đơn vị riêng biệt. Ngời sử dụng hoặc các ứng dụng khác có thể gọi các

hàm, thủ tục trong package để thực hiện các công việc của mình.
Một package đợc chia làm hai phần:
Phần khai báo: để giao tiếp với bên ngoài, trong phần này có định nghĩa các kiểu, biến, hằng,
exception (ngoại lệ), cursors, và tên các hàm, thủ tục (có đầy đủ thám số và kiểu trả về) trong
package.
Phần thân: Bao gồm các hàm và thủ tục đợc cài đặt cụ thể theo ngôn ngữ PL/SQL Trong phần
này cũng có khi bao gồm cả các hàm, thủ tục chỉ thực hiện trong package.
Các hàm trong package sau khi đã đợc ghi và biên dịch thì có thể đợc sử dụng chung cho cả các
ứng dụng khác. Lợi điểm chính của package là sau lời gọi, toàn bộ package đều đợc nạp vào trong
bộ nhớ.
Các ứng dụng khác chỉ có thể tham chiếu tới các biến, hàm khai báo trong phần package
specification. Cú pháp:
Simpo PDF Merge and Split Unregistered Version -
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 25
EXECUTE | EXEC <tên package>.<tên hàm>[tham số];
EXECUTE | EXEC <tên package>.<tên biến> := <giá trị>;
Oracle cung cấp một số package có sẵn để thực hiện các công việc đặc biệt
DBMS_SESSION: để tạo các câu lệnh SQL. Ví dụ: SET_ROLE, SET_SQL_TRACE
DBMS_UTILITY: cung cấp nhiều thủ tục tiện ích. Ví dụ: ANALYZE_SCHEMA,
COMPILE_SCHEMA, DB_VERSION
DBMS_SPACE: cung cấp các thông tin có sẵn về vùng trống segment. Ví dụ: UNUSED_SPACE,
FREE_BLOCKS
DBMS_ROWID: cung cấp thông tin ROWID. Ví dụ: ROWID_INFO
DBMS_SHARED_POOL: Lu và thôi lu các package trong shared pool. Ví dụ: KEEP, UNKEEP
DBMS_LOB: cung cấp các thủ tục thao tác trên các kiểu dữ liệu BLOB và CLOB.
6.4 Trigger
Trigger là các đoạn chơng trình đợc thực hiện ngầm định bởi Oracle server mỗi khi có một sự kiện

xác định xảy ra. Trigger chỉ thực hiện khi sự kiện tơng ứng với nó xảy ra. Các thủ tục trigger có thể
đợc viết bởi ngôn ngữ PL/SQL, Java hay C.
Sử dụng trigger
Điều khiển giá trị các cột một cách tự động
Ngăn chặn các giao dịch không hợp lệ
Đảm bảo bảo mật dữ liệu
Đảm bảo toàn vẹn trong CSDL phân tán
Đảm bảo các ràng buộc tơng ứng với quy tắc tác nghiệp
Đảm bảo tính trong suốt
Các phần của một trigger
Sự kiện kích hoạt - triggering event: sự kiện database, sự kiện do ngời sử dụng, câu lệnh SQL
gây ra việc kích hoạt trigger.
Trạng thái trigger - trigger restriction: đợc xác định bởi một biến logic. Trigger chỉ có thể xảy ra
nếu giá trị của nó là TRUE. Trigger sẽ không thể thực hiện đợc nếu trạng thái của nó là FALSE
hay UNKNOWN.
Nội dung trigger - trigger action: tập hợp các câu lệnh sẽ đợc thực hiện khi trigger đợc kích hoạt.
Ví dụ:
CREATE OR REPLACE TRIGGER log_logon
AFTER LOGON ON DATABASE
WHEN (USER = SYS OR USER LIKE OPS$%)
BEGIN
INSERT INTO sys.event_log
VALUES (Logon || USER || at
|| TO_CHAR(sysdate, YYYY-MM-DD HH24:MI:SS));
Simpo PDF Merge and Split Unregistered Version -

×