1. Trang chủ
  2. » Công Nghệ Thông Tin

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

52 294 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i
Trường học Tài Ngân - BFC
Chuyên ngành Computer Science
Thể loại Giáo trình
Năm xuất bản 2001
Thành phố Hà Nội
Định dạng
Số trang 52
Dung lượng 767,98 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• 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ê

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 thμnh 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 Lμm 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à lưu 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 lưu trữ 39

10.1 Các cấu trúc lưu 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

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ì toμn 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

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 lưu 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

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ớ lưu 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 để lưu trữ các thông tin CSDL chia sẻ cho

cache

Data Buffer cache

Redo Log Buffer

Parameter File Password File

Archived Log Files

Data files

Control files

Redo Log files

User Process

Server Process

PGA

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, lưu 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, để lưu 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 lưu 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 lưu 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 để lưu 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:

Trang 7

- Shared pool: Lưu 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: 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 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

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

• Lưu 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ẽ lưu 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 chưa đượ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 lưu 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

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 chưa

kịp lưu 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 chưa kịp ghi lên file dữ liệu nhưng đã lưu 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 chưa 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ế độ lưu 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 lưu 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 lưu 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

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 để lưu 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ý nhưng 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

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 chưa 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 lưu 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

Lưu ý: Các thay đổi đối với blocks sẽ được ghi lại trong bộ nhớ mà chưa đượ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

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 lưu 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

• Lưu 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.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

SQL*Plus Line Một tiện ích sử dụng cho việc công quản trị như starting up, shutting

Y

N N

Y

Remote database administration

Local database administration

Have secure connection ?

Use OS Authentication? AuthenticationUse OS

Use a password file

Trang 13

Mode down, hoặc phục hồi CSDL

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 lưu, 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

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 lưu 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 lưu 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 lưu 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

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

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

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

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ý

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 lưu: để sao lưu và phục hồi CSDL và quản lý các redo log files

Lưu ý : 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

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 nhưng 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ý chưa 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ý chưa commit đều không bị rolled back

4.2 Tạo vμ lưu giữ cấu hình

Các bước tạo và lưu 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

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 Lưu 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

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:

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

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:

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:

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 để lưu 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 lưu 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 lưu 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

• 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

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

đổ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ụ:

Trang 21

CREATE DATABASE U16

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] ]

[CHARACTER SET charset]

[NATIONAL CHARACTER SET charset]

[DATAFILE filespec [autoextend_clause]

- MAXINSTANCES: Số l−ợng lớn nhất các instance có thể đồng thời mount và open CSDL

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 để lưu 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

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 lưu 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

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à lưu 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:

Trang 25

EXECUTE | EXEC <tên package>.<tên hàm>[tham số];

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: Lưu và thôi lưu 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’));

Trang 26

COMMIT;

END;

Tên trigger: log_logon

Trigger này sẽ được kích hoạt ngay sau khi người sử dụng logon tới một instance

Trigger này sẽ được kích hoạt nếu người sử dụng là SYS hay bắt đầu bởi OPS$

Khi trigger được kích hoạt nó sẽ thêm mới một dòng dữ liệu vào bảng event_log

7 Bảo trì các file điều khiển - Contron files

7.1 Control file

Control file trong một database là các file nhị phân cần thiết cho việc khởi động và hoạt động của

database Mỗi control file được kết hợp với duy nhất một Oracle database

Control file được cập nhật bởi Oracle server trong quá trình sử dụng database, Các thông tin trong

control file chỉ có thể được sửa đổi bởi Oracle server; DBA hay những người sử dụng khác không cáo

quyền sửa đổi control file

Control file chứa

• Tên của database

• Định danh của database

• Time stamp lúc tạo lập database

• Tên, vị trí của các file dữ liệu

• Thông tin về tablespace

• Log history

• Vị trí và trạng thái của các archived logs

• Vị trí và trạng thái của backups

• Số log sequence number hiện thời

• Thông tin checkpoint

Control file có hai phần

• Reusable - có thể dùng lại

• Not reusable - không thể dùng lại

7.2 Tạo nhiều control file

Cùng với online redo log files, Oracle cho phép có thể có nhiều các control file được mở ra và ghi vào

đồng thời Có thể mở tới 8 control file

Ta có thể tạo nhiều control file theo hai cách

• Tạo nhiều control file ngay sau khi CSDL được tạo lập

• Thêm vào các control file, khi CSDL đã được tạo lập

Các bước tạo control file

Ngày đăng: 27/06/2014, 06:20

HÌNH ẢNH LIÊN QUAN

Hình vẽ 1   Kiến trúc Oracle Server  Một Oracle server gồm: - Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i doc
Hình v ẽ 1 Kiến trúc Oracle Server Một Oracle server gồm: (Trang 5)
Hình vẽ 2   Ph−ơng thức xác nhận quyền - Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i doc
Hình v ẽ 2 Ph−ơng thức xác nhận quyền (Trang 12)
Hình vẽ 3   Oracle Enterprise Manager Console - Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i doc
Hình v ẽ 3 Oracle Enterprise Manager Console (Trang 15)
Hình vẽ 4   Cấu trúc phân cấp lưu trữ CSDL  Kiến trúc lưu trữ của Oracle database có hai cấu trúc - Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i doc
Hình v ẽ 4 Cấu trúc phân cấp lưu trữ CSDL Kiến trúc lưu trữ của Oracle database có hai cấu trúc (Trang 33)
Hình vẽ 5   Cấu trúc một block - Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i doc
Hình v ẽ 5 Cấu trúc một block (Trang 43)
Hình vẽ 6   Cấu trúc dòng dữ liệu trong table - Đào tạo Oracle cơ bản_Giáo trình kiến trúc và quản trị Oracle 8i doc
Hình v ẽ 6 Cấu trúc dòng dữ liệu trong table (Trang 49)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm