Tải bản đầy đủ (.docx) (215 trang)

Đồ án tìm hiểu và xây dựng các giải pháp an toàn trên cơ sở dữ liệu oracle

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 (25.12 MB, 215 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM

ĐỒ ÁN ORACLE
NGHÀNH AN TỒN THƠNG TIN

ĐỀ TÀI:
TÌM HIỂU VÀ XÂY DỰNG CÁC GIẢI PHÁP AN TOÀN TRÊN CƠ SỞ DỮ
LIỆU ORACLE

Giáo viên hướng dẫn: Nguyễn Phương Hạc
Sinh viên thực hiện: Nguyễn Trần Tấn Pháp
Sinh viên thực hiện: Lương Thành Long
Lớp: 09DHBM2

TP.HỒ CHÍ MINH, THÁNG 5 NĂM 2021


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

GIÁO VIÊN HƯỚNG DẪN ĐỀ TÀI
Giáo viên hướng dẫn thứ nhất:
Họ và tên: Nguyễn Phương Hạc................................................................................
Cơ quan công tác: Trường ĐH Công Nghiệp Thực Phẩm TPHCM..........................
Nội dung hướng dẫn: Tìm hiểu, triển khai và cài đặt CSDL Oracle. Tìm hiểu và
xây dựng các giải pháp an toàn trên CSDL Oracle...................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................


...................................................................................................................................
Giáo viên hướng dẫn thứ hai:
Họ và tên:..................................................................................................................
Cơ quan công tác:......................................................................................................
Nội dung hướng dẫn:.................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
Đề tài được giao ngày 24 tháng 04 năm 2021
Yêu cầu phải hoàn thành trước ngày 21 tháng 06 năm 2021

PHẦN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

2


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp:................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
2. Đánh giá chất lượng của đề tài (so với nội dung yêu cầu đã đề ra trong nhiệm
vụ đề tài)..............................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
3. Cho điểm của giáo viên hướng dẫn:
(Điểm ghi bằng số và chữ)

Ngày……tháng…..năm 2021
Giáo viên hướng dẫn
(Ký, ghi rõ họ tên)

PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁC BỘ CHẤM PHẢN BIỆN ĐỀ TÀI
1. Đánh giá chất lượng đề tài tốt nghiệp (về các mặt như cơ sở lý luận, thuyết
trình, giá trị thực tế…).........................................................................................
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

3


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP


..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................
..........................................................................................................................................................................

2. Cho điểm của giáo viên phản biện
(Điểm ghi bằng số và chữ)

Ngày……tháng……năm 2021
Giáo viên phản biện
(Ký, ghi rõ họ tên)

LỜI NÓI ĐẦU
Những năm gần đây, vai trò của các hệ quản trị cơ sở dữ liệu trong doanh nghiệp
đã ngày càng lớn mạnh. Từ chỗ chỉ được sử dụng để hỗ trợ một số hoạt động trong
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

4



ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

lưu trữ dữ liệu, hiện nay đã trở nên có vai trị chiến lược trong doanh nghiệp. Đặc
biệt những thành tựu trong công nghệ thông tin (CNTT) đã khiến doanh nghiệp
ngày càng chú ý hơn tới việc phát triển hệ cơ sở dữ liệu và triển khai các giải pháp
an toàn nhầm tránh mất mát dữ liệu. Hiện nay, hệ quản trị cơ sở dữ liệu không chỉ
giới hạn trong các doanh nghiệp lớn, tầm cỡ đa quốc gia mà còn lan rộng trong tất
cả các doanh nghiệp, kể cả những doanh nghiệp vừa và nhỏ ở những nước đang
phát triển. Tuy nhiên, việc triển khai các cơ sở dữ liệu và triển khai các giải pháp
an tồn nhầm tránh mất mát dữ liệu khơng phải đơn giản ngay cả với những doanh
nghiệp lớn, dồi dào về nguồn tài lực, nhân lực và kinh nghiệm. Một hệ quản trị cơ
sở dữ liệu thành công ở doanh nghiệp này cũng chưa chắc thành công tương tự
trong doanh nghiệp khác. Vì vậy, đề tài của nhóm đó là “Tìm hiểu và triển khai các
giải pháp an tồn trong Oracle” để có cái nhìn sâu hơn, thực tế hơn về việc triển
khai và bảo mật dữ liệu trong hệ quản trị cơ sở dữ liệu trong doanh nghiệp. Từ đó
nhóm rút ra được những mặt ưu, khuyết của hệ thống, kinh nghiệm triển khai. Vì
thời gian thực hiện khơng nhiều nên chắc chắn cịn nhiều thiếu sót, mong được
thầy/cơ hướng dẫn thêm.
Trân Trọng Cảm ơn

LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép tơi được bày tỏ
lịng biết ơn đến thầy Nguyễn Văn Tùng, thầy Trần Đắc Tốt, cô Nguyễn Phương
Hạc và anh Hậu cựu sinh viên khoa Công Nghệ Thông Tin đã tạo điều kiện hỗ trợ,
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

5



ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu đề tài này. Trong suốt thời
gian từ khi bắt đầu học tập tại trường đến nay, tôi đã nhận được rất nhiều sự quan
tâm, giúp đỡ của q Thầy Cơ và bạn bè.
Với lịng biết ơn sâu sắc nhất, tôi xin gửi đến quý Thầy Cô ở Khoa đã truyền
đạt vốn kiến thức quý báu cho chúng tôi trong suốt thời gian học tập tại trường.
Nhờ có những lời hướng dẫn, dạy bảo của các thầy cô nên đề tài nghiên cứu của
chúng tôi mới có thể hồn thiện tốt đẹp.
Một lần nữa, tơi xin chân thành cảm ơn cô Nguyễn Phương Hạc – người đã
trực tiếp giúp đỡ, quan tâm, hướng dẫn chúng tơi hồn thành tốt bài báo cáo này
trong thời gian qua.
Bài báo cáo đồ thực hiện trong khoảng thời gian gần 8 tuần. Bước đầu đi vào
thực tế của tôi cịn hạn chế và cịn nhiều bỡ ngỡ nên khơng tránh khỏi những thiếu
sót, rất mong nhận được những ý kiến đóng góp q báu của q Thầy Cơ để kiến
thức của tơi trong lĩnh vực này được hồn thiện hơn đồng thời có điều kiện bổ
sung, nâng cao ý thức của mình.
Tơi xin chân thành cảm ơn

NHIỆM VỤ ĐỀ TÀI
1. Tìm hiểu kiến trúc Oracle.
2. Tìm hiểu cơ chế quản trị tài nguyên và lập lịch tự động, sao lưu tự động.
3. Xây dựng các giải pháp an toàn cơ sở dữ liệu Oracle.
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long


6


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

4. Cài đặt các nội dung tìm hiểu trên Java và Oracle Linux.

TÀI LIỆU THAM KHẢO
1. Cài đặt Oracle 19c GUI
/>2. Client connect to Server
/>3. Nguyên lý Backup và Recovery
/>4. Rman Backup
/>5. Tự động Backup dữ liệu
/>6. Java connect Oracle
/>7. Restore and recover in rman
/>a.htm
8. Định dạng về file backup
/>m
9. Tìm hiểu tổng quát về CSDL Oracle
/>
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

7


ĐỒ ÁN ORACLE


TRƯỜNG ĐH CNTP

MỤC LỤC

LỜI NÓI ĐẦU..................................................................................................................................................5
LỜI CẢM ƠN...................................................................................................................................................6
NHIỆM VỤ ĐỀ TÀI........................................................................................................................................7
TÀI LIỆU THAM KHẢO................................................................................................................................7
MỤC LỤC........................................................................................................................................................8
DANH MỤC HÌNH.......................................................................................................................................10
Chương I

TÌM HIỂU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU..................................................................11

1.1

Giới thiệu về hệ quản trị CSDL Oracle.........................................................................................11

1.2

Lịch sử hình thành và các phiên bản.............................................................................................11

1.3

Oracle và công nghệ Client/Server................................................................................................12

Chương II

KIẾN TRÚC HỆ QUẢN TRỊ CSDL ORACLE...................................................................12


2.1

Kiến trúc của hệ quản trị CSDL Oracle.........................................................................................12

2.2

Cấu trúc vùng nhớ (Memory Structure)........................................................................................12

2.2.1

System Global Area (SGA)...................................................................................................14

2.2.2

Tìm hiểu PGA........................................................................................................................16

2.3

Các tiến trình..................................................................................................................................26

2.3.1

Tiến trình quan trọng nhất database writer (DBWn)...........................................................28

2.3.2

Tiến trình checkpoint (thơng tin trung tâm điều khiển)........................................................29

2.3.3


Tiến trình system monitor......................................................................................................29

2.3.4

Tiến trình process monitor.....................................................................................................30

2.3.5

Tiến trình Recoverer..............................................................................................................31

2.3.6

Tiến trình Archiver (ARCn)...................................................................................................32

2.4

Kiến trúc Storage (lưu trữ đối tượng)............................................................................................32

Chương III

CÀI ĐẶT ORACLE TRÊN LINUX.....................................................................................35

3.1

Cấu hình máy ảo VMWare........................................................................................................35

3.2

Cài đặt Oracle.............................................................................................................................41


3.3

Kết nối Client tới Server............................................................................................................60

Chương IV

CÀI ĐẶT ORACLE TRÊN WINDOWS..............................................................................76

Chương V

CÁC BIỆN PHÁP BẢO VỆ CSDL......................................................................................85

5.1

CÁC BIỆN PHÁP BẢO VỆ CSDL ORACLE.............................................................................85
8
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

5.1.1

Quản lí người dùng................................................................................................................85

5.1.2


Tạo mới người dùng...............................................................................................................85

5.1.3

Xóa người dùng......................................................................................................................85

5.2

Mở/Tắt CSDL VÀ THỂ HIỆN (STARTUP/SHUTDOWN)........................................................86

5.2.1

Mở CSDL...............................................................................................................................86

5.2.2

Tắt CSDL...............................................................................................................................90

5.3

Sao lưu và phục hồi dữ liệu...........................................................................................................92

5.3.1

Xóa FILEDATA và BACKUP lại..........................................................................................93

5.3.2

Xóa USER và BACKUP lại USER.....................................................................................108


5.3.3

Crontab.................................................................................................................................114

5.3.4

Profile user...........................................................................................................................122

Chương VI

SQL DEVELOPER..............................................................................................................134

6.1

Tìm hiểu SQL DEVELOPER......................................................................................................134

6.2

Lợi ích và cơng dụng của SQL DEVELOPER...........................................................................134

6.3

Cài đặt SQL DEVELOPER.........................................................................................................134

Chương VII
Chương VIII

ỨNG DỤNG JAVA..............................................................................................................140
MỘT SỐ LỖI THƯỜNG GẶP VÀ CÁCH KHẮC PHỤC............................................159


SOURCE CODE..........................................................................................................................................160
Form đăng nhập (login)............................................................................................................................160
Form chức năng (menu)...........................................................................................................................167
Form xem user hiện có trên database......................................................................................................173
Form tạo user............................................................................................................................................177
Form xố user...........................................................................................................................................185
Form tạo table vào user đang đăng nhập.................................................................................................190
Form xoá table..........................................................................................................................................196
Form Thêm data vào table.......................................................................................................................202
Lấy dữ liệu bảng students từ user phap...................................................................................................208

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

9


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

DANH MỤC HÌNH
Hình 1 Mơ Hình Kiến Trúc Oracle................................................................................................................13
Hình 2. Mơ hình Instance...............................................................................................................................14
Hình 3. Mơ hình SGA và PGA......................................................................................................................14
Hình 4. Mơ hình SGA....................................................................................................................................15
Hình 5. Thơng số SGA...................................................................................................................................16
Hình 6. Kích thước SGA................................................................................................................................16
Hình 7. Tổng kích thước PGA.......................................................................................................................16
Hình 8. Thơng số PGA...................................................................................................................................17

Hình 9. Chi tiết Shared pool...........................................................................................................................20
Hình 10. Chi tiết Redo log buffer..................................................................................................................22
Hình 11. Chi tiết Large pool...........................................................................................................................22
Hình 12. Chi tiết Java Pool và Stream Pool..................................................................................................22
Hình 13. Connect............................................................................................................................................23
Hình 14. Session.............................................................................................................................................24
Hình 15. Số phiên được kết nối.....................................................................................................................24
Hình 16. Liệt kê các tiến trình........................................................................................................................25
Hình 17. Các thuộc tính process....................................................................................................................26
Hình 18. Tiến trình Database writer (DBWn)...............................................................................................26
Hình 19. Quá trình điều phối LGnn................................................................................................................27
Hình 20. Tiến trình Checkpoint.....................................................................................................................27
Hình 21. Tiến trình System Monitor..............................................................................................................28
Hình 22. Kiểm tra tiến trình SMON..............................................................................................................28
Hình 23. Tiến Trình Process Monitor............................................................................................................29
Hình 24. Kiểm tra tiến trình PMON..............................................................................................................29
Hình 25. Tiến trình Recoverer........................................................................................................................30
Hình 26. Tiến trình Archiver (ARCn)............................................................................................................30
Hình 27. Kiến trúc Storage.............................................................................................................................31
Hình 28. Cấu trúc logic và cấu trúc vật lý của CSDL...................................................................................32

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

10


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP


PHẦN LÝ THUYẾT
Chương I
1.1

TÌM HIỂU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Giới thiệu về hệ quản trị CSDL Oracle

- Oracle là một hệ thống phục vụ cho mục đích quản lý cơ sở dữ liệu quan hệ,
viết tắt là RDBMS (Relational Database Management System) do nhà phát
triển Oracle nghiên cứu và lập trình.
- RDBMS (hệ quản trị cơ sở dữ liệu quan hệ) là nền tảng cho SQL, và cho tất
cả các hệ thống cơ sở dữ liệu hiện đại như MS SQL Server, IBM DB2,
Oracle, MySQL và Microsoft Access.
- Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) là một hệ thống quản lý
cơ sở dữ liệu (DBMS) dựa trên mơ hình quan hệ được giới thiệu bởi EF
Codd.

1.2

Lịch sử hình thành và các phiên bản

- Vào năm 1977, Larry Ellison, Bob Miner, và Ed Oates thành lập một công ty
và đặt tên là Relation Incorporated (RSI). Công ty này xây dựng một hệ
quản trị cơ sở dữ liệu là Oracle. Ellison, Miner và Oates quyết định phát
triển hệ này bằng C và giao tiếp SQL. Ngay sau một thời gian ngắn, họ đưa
ra phiên bản một như một nguyên mẫu.
- Năm 1979, RSI phân phối sản phẩm đầu tiên cho khách hàng: hệ quản trị cơ
sở dữ liệu Oracle phiên bản 2, làm việc trên Digital PDP-11 và ngay sau đó
chuyển sang hệ thống DEC VAX.

- Năm 1983 phiên bản 3 được giới thiệu với những thay đổi trong ngôn ngữ
SQL. Không như các phiên bản trước đây, phiên bản 3 được viết toàn bộ
bằng C. Vào thời điểm này, RSI được đổi tên thành Oracle Corporation.
- Phiên bản 4 được phát hành vào năm 1984.
- Phiên bản 5 được giới thiệu vào năm 1985, là mốc lịch sử vì nó đưa công
nghệ Client/Server vào thị trường với việc sử dụng SQL*NET.
- Năm 1988, Oracle đưa ra phiên bản 6 giới thiệu việc khóa ở mức thấp.
- Năm 1992, Oracle đưa ra phiên bản 7 bao gồm nhiều kiến trúc về bộ nhớ,
CPU và tiện ích nhập/xuất.
- Năm 1997, Oracle giới thiệu Oracle 8 thêm phần mở rộng đối tượng cũng
như nhiều tính năng mới và đặc biệt là các ứng dụng cơ sở dữ liệu Internet.

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

11


ĐỒ ÁN ORACLE

1.3

TRƯỜNG ĐH CNTP

Oracle và công nghệ Client/Server

- Oracle Corporation đã trở thành một công ty cơ sở dữ liệu nổi tiếng nhờ tạo
ra một hệ thống quản trị cơ sở dữ liệu quan hệ kiểu Server với hiệu suất cao
và đầy đủ chức năng. Oracle đã vượt qua tầm vóc của một cơng ty cơ sở dữ
liệu khi bổ sung hệ quản trị cơ sở dữ liệu quan hệ kiểu Server của nó những

sản phẩm tích hợp cao được thiết kế đặc biệt cho các ứng dụng xử lý dữ liệu
phân tán và công nghệ Client/Server.

Chương II
2.1

KIẾN TRÚC HỆ QUẢN TRỊ CSDL ORACLE
Kiến trúc của hệ quản trị CSDL Oracle

Hình 1 Mơ Hình Kiến Trúc Oracle

2.2

Cấu trúc vùng nhớ (Memory Structure)

- Oracle sử dụng cấu trúc vùng nhớ để lưu trữ thông tin trong hệ thống trong
khi đang thực thi, cấu trúc vùng nhớ như là một mã nguồn của một chương
trình đang chạy, thơng tin về kết nối của các phiên làm việc, lưu vết dữ liệu
vật lý trong quá trình xử lý…
- Cấu trúc của vùng nhớ của Oracle bao gồm SGA và PGA
+ SGA (System Global Area) là một thành phần cơ bản trong Oracle
Instance và được cấp phát khi Instance khởi động. Thông tin lưu trữ
trong SGA có thể được sử dụng bởi tất cả các Server Process và
Background Process.
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

12



ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

+ PGA (Program Global Area) được cấp phát cho User Process kết nối
đến Oracle.
- Kiến trúc oracle gồm: client sql, java, developer toad hoặc ứng dụng java,
kết nối với sever (database).
- Instance là thành phần liên kết giữa người dùng và thông tin trong Oracle
Database. Một Oracle Instance chỉ được mở cho duy nhất một Oracle
Database cần truy xuất.
Các Instance của Oracle chia ra làm 2 phần

Hình 2. Mơ hình Instance

- Hệ thống nonclusstered khi chúng ta cài một hệ điều hành trên máy chủ, cài
1 database, cài 1 - 1 dữ liệu lưu dưới dạng local storage (D1, d2 ) ( i 1 i 2) –
clustered Mỗi instace chạy trên một máy và dữ liệu là shared storage những
node đều được đọc là ghi vào đầy đủ đảm bảo tính sẵn sàng, hiệu năng cao,
tồn vẹn dữ liệu.
Cấu trúc bộ nhớ CSDL

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

13


ĐỒ ÁN ORACLE


TRƯỜNG ĐH CNTP

Hình 3. Mơ hình SGA và PGA

2.2.1

System Global Area (SGA)

Vùng SGA là bộ nhớ chia sẽ thơng tin chung giữa các tiến trình process
- SGA được cấp phát tại vùng nhớ ảo của máy tính đang chạy Oracle. SGA
gồm có một số cấu trúc vùng nhớ dùng để chứa dữ liệu và quản lý các thông
tin về Oracle Instance.
- SGA còn được biết như một vùng nhớ chia sẻ, thơng tin về Database có thể
được truy xuất bởi các tiến trình đang làm việc trên Database đó. Nếu có
nhiều người dùng kết nối đến Instance thì SGA của Instance sẽ chia sẻ cho
những người dùng đó.
- SGA được cấp phát (allocated) trong bộ nhớ của máy tính mà Oracle server
đang hoạt động trên đó. Các User kết nối tới Oracle sẽ chia sẻ các dữ liệu có
trong SGA. Việc mở rộng khơng gian bộ nhớ cho SGA sẽ làm nâng cao hiệu
suất của hệ thống, lưu trữ được nhiều dữ liệu trong hệ thống hơn đồng thời
giảm thiểu các thao tác truy xuất đĩa (disk I/O).
- SGA bao gồm một số cấu trúc vùng nhớ chính như: Shared Pool, Database
Buffer Cache, Redo Log Buffer. Ngoài ra, cịn có hai cấu trúc vùng nhớ mà
SGA có thể sử dụng hoặc bỏ qua là Large Pool và Java Pool. Kích thước của
vùng nhớ của SGA phụ thuộc vào kích thước của các thành phần tạo nên nó.

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

14



ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

Hình 4. Mơ hình SGA

- SGA có một số tính năng quan trọng là ta có thể thay đổi kích thước mà
khơng cần phải ngừng Instance của SGA cần sửa đổi. Điều này có nghĩa
kích thước của Database Buffer Cache, Shared Pool và Large Pool của SGA
có thể được thay đổi trong khi Instance đang chạy.
 Cách kiểm tra kích thước SGA
SQL> SHOW SGA;

Hình 5. Thơng số SGA

 Cách kiểm tra tổng kích thước SGA
SQL> SELECT sum (value) / 1024 / 1024 “TOTAL SGA (MB)” FROM v $
sga;

Hình 6. Kích thước SGA

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

15


ĐỒ ÁN ORACLE


2.2.2

TRƯỜNG ĐH CNTP

Tìm hiểu PGA

Vùng PGA mỗi một user kết nối với data sẽ có 1 tiến trình sẽ cho PGA quản lí
- Là vùng nhớ riêng tư bao gồm dữ liệu và thông tin điều khiển của một
Server Process. Mỗi Server Process đều có một PGA riêng biệt. PGA bao
gồm:
 Session information.
 Cursor information.
 SQL execution work area.
Kiểm tra tổng kích thước PGA
SQL> select sum(pga_max_mem) /1024/1024 “TOTAL MAX PGA (MB)”
from v$process;

Hình 7. Tổng kích thước PGA

* Show PGA
SELECT * FROM V$PGASTAT;

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

16


ĐỒ ÁN ORACLE


TRƯỜNG ĐH CNTP

Hình 8. Thơng số PGA

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

17


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

Phân tích chi tiết hơn về việc sử dụng bộ nhớ PGA
SELECT spid, program, pga_max_mem max,pga_alloc_mem
alloc,pga_used_mem used,pga_freeable_mem free FROM V$PROCESS;

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

18


ĐỒ ÁN ORACLE

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long


TRƯỜNG ĐH CNTP

19


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

Xác định bộ nhớ được cấp tối đa theo phiên người dùng
SQL> select max(p.pga_max_mem)/1024/1024 "PGA MAX MEMORY OF USER
SESSION (MB)" from v$process p, v$session s where P.ADDR = S.paddr and
s.username is not null;

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

20


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

* Khác nhau giữa SGA và PGA:
SGA
- Một nhóm các cấu trúc bộ nhớ
dùng chung
- SGA là bộ nhớ chia sẻ


PGA
- Vùng bộ nhớ chứa dữ liệu và
thông tin điều khiển cho máy
chủ
- PGA là bộ nhớ không chia sẻ

-

Shared pool: Được dùng để lưu trữ những đoạn SQL vừa được thực thi
gần đây nhất và những định nghĩa được dùng gần đây nhất.

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

21


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

Hình 9. Chi tiết Shared pool

Bao gồm:
 Library cache: Lưu trữ những định nghĩa về những đoạn lệnh SQL và
PL/SQL vừa được thực thi gần đây nhất theo thuật giải Least Recently
Used (LRU là thuật toán cache phổ biến. Cache được dùng để lưu trữ
các kết quả tính tốn vào một nơi và khi cần tính lại thì lấy trực tiếp
kết quả đã lưu ra thay vì thực hiện tính). Library cache bao gồm 2 cấu
trúc là Shared SQL area và Shared PL/SQL area. Kích thước của vùng

này được xác định bởi Share Pool sizing.
 Data dictionary cache: thu thập những định nghĩa được dùng gần đây
nhất trên cơ sở dữ liệu bao gồm các thông tin về Database file, tables,
indexes, columns, user, privileges…Trong quá trình phân tích cú pháp
đoạn lệnh, Server Process sẽ đọc các thông tin định nghĩa ở Data
dictionary cache để lấy tên các đối tượng, xác nhận truy cập…Kích
thước của vùng này được xác định bởi Shared pool sizing.
 Database Buffer Cache: Lưu trữ những bản copy của block dữ liệu đã
được đọc từ Data File. Khi một đoạn SQL được thực thi thì Server
Process sẽ đọc các thơng tin từ Database buffer cache để lấy các block
dữ liệu cần thiết, điều này giúp cho tốc độ hoạt động của hệ thống sẽ
cao hơn vì đọc cache sẽ nhanh hơn đọc đĩa cứng Smile. Nếu các block
dữ liệu khơng có trong Database buffer cache thì Server process mới
đọc dữ liệu từ data file. Database buffer cache cũng sử dụng giải thuật
LRU như ở Shared Pool.
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

22


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

 Redo Log Buffer: là một bản ghi tạm thời ghi lại tất cả những thay đổi
trên các Data Block với mục đích chính là để phục hồi dữ liệu. Được
thực hiện bởi các background process.
Một số đặc điểm của Redo log buffer
 Kích thước được xác định bởi tham số Log_Buffer.

 Lưu trữ các redo records (bản ghi hồi phục) mỗi khi thay đổi dữ
liệu.
 Redo log buffer được sử dụng một cách thường xuyên và các
thay đổi bởi một transaction có thể nằm đan xen với các thay
đổi của các transactions khác.
 Bộ điệ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.

Hình 10. Chi tiết Redo log buffer

 Large Pool: cung cấp một vùng nhớ lớn, được cấp phát cho các
trường họp như: vùng bộ nhớ cho UGA, xử lý I/O, sao lưu và
phục hồi hệ thống. Không giống như shared pool, large pool
không sử dụng thuật giải LRU. Tham số xác định của large pool
là LARGE_POOL_SIZE.

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

23


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

Hình 11. Chi tiết Large pool

 Java Pool và Stream Pool: Java pool là vùng cho các Procedure

viết bằng Java. Stream Pool dùng cho Oracle Stream.

Hình 12. Chi tiết Java Pool và Stream Pool

Connection: Là kết nối từ Client lên Server.
Câu lệnh:
Sqlplus / as sysdba
Sqlplus > connect sys/pass@orcl as sysdba

Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

24


ĐỒ ÁN ORACLE

TRƯỜNG ĐH CNTP

Hình 13. Connect

Session: Là một phiên sau khi gõ user password được select, DML,...cho đến khi
thoát ra ngồi.
Câu lệnh:
Sqlplus
Username
Pass

Hình 14. Session


Đếm thử số phiên được kết nối
Sinh viên: Nguyễn Trần Tấn Pháp
Sinh viên: Lương Thành Long

25


×