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

VẤN ĐỀ SAO LƯU VÀ PHỤC HỒI DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

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 (938.1 KB, 83 trang )



ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ






KIỀU CHÍNH





VẤN ĐỀ SAO LƯU VÀ PHỤC HỒI DỮ LIỆU
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN










LUẬN VĂN THẠC SĨ










Hà Nội - 2008

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



KIỀU CHÍNH



VẤN ĐỀ SAO LƯU VÀ PHỤC HỒI DỮ LIỆU
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN


Ngành: Công nghệ thông tin
Mã số: 1.01.10


LUẬN VĂN THẠC SĨ


NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN TUỆ














Hà Nội - 2008
- 1 -


MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 3
DANH MỤC HÌNH VẼ 4
LỜI CẢM ƠN 5
MỞ ĐẦU 6
CHƢƠNG I. ĐẶT VẤN ĐỀ 7
I.1 Giới thiệu bài toán 7
I.2 Hiện trạng hệ thống ứng dụng quản lý nhân sự 8
I.2.1 Mô hình ứng dụng 8
I.2.2 Đặc điểm của mô hình cơ sở dữ liệu đang sử dụng 9
I.2.3 Hệ quản trị cơ sở dữ liệu 11
I.2.4 Phân tán dữ liệu 12
I.2.5 Định vị dữ liệu 17

CHƢƠNG II. TỔNG QUAN VỀ HỆ QUẢN TRỊ CSDL ORACLE 18
II.1 Kiến trúc cơ sở dữ liệu 18
II.1.1 Cấu trúc bộ nhớ 18
II.1.2 Các tiến trình nền 20
II.1.3 Tổ chức file trong Oracle 21
II.2 Sao lƣu dữ liệu 23
II.2.1 Các thuật ngữ trong sao lƣu của Oracle 23
II.2.2 Archiving 25
II.2.3 Chiến lƣợc sao lƣu 26
II.2.4 Các phƣơng pháp sao lƣu 29
II.2.5 Tiện ích RMAN 29
II.2.6 Sao lƣu vật lý 60
II.3 Phục hồi dữ liệu 63
II.3.1 Các kiểu phục hồi 63
II.3.2 Thực hiện phục hồi bằng RMAN 64
II.3.3 Phục hồi bằng tay 67
CHƢƠNG III. ĐỀ XUẤT PHƢƠNG HƢỚNG GIẢI QUYẾT 70
III.1 Chiến lƣợc sao lƣu 70
III.1.1 Sao lƣu toàn bộ 70
III.1.2 Sao lƣu gia tăng 71
- 2 -


III.1.3 Sao lƣu khác biệt 71
III.2 Một số kịch bản phục hồi phƣơng tiên tiêu biểu 71
III.2.1 Phục hồi hoàn toàn 71
III.2.2 Phục hồi Không gian bảng (Table space) 73
III.2.3 Phục hồi tập tin dữ liệu 75
III.2.4 Phục hồi không hoàn toàn 76
CHƢƠNG IV. KẾT LUẬN 79

IV.1 Những kết quả đã đạt đƣợc 79
IV.2 Hƣớng phát triển của đề tài 80
TÀI LIỆU THAM KHẢO 82












- 3 -


D
D
A
A
N
N
H
H


M
M



C
C


C
C
Á
Á
C
C


K
K
Ý
Ý


H
H
I
I


U
U



V
V
À
À


C
C
H
H




V
V
I
I


T
T


T
T


T
T



Stt
Ký hiệu
Diễn giải
1
ADB
Ngân hàng Phát triển Châu Á
2
AFD
Cơ quan Phát triển Pháp
3
CNTT
Công nghệ thông tin
4
CSDL
Cơ sở dữ liệu
5
CSHT
Cơ sở hạ tầng
6
DBA
Database administrator
7
DBWR
Database Writer
8
DR
Disaster Recovery
9

JICA
Tổ chức hợp tác Quốc tế Nhật Bản
10
NDF
Quỹ phát triển Bắc Âu
11
NQTCSDL
Nhà quản trị cơ sở dữ liệu
12
PGA
Program Global Area
13
PMON
Process Monitor
14
RMAN
Recovery Manager
15
SGA
System Global Area
16
SMON
System Monitor

- 4 -


D
D
A

A
N
N
H
H


M
M


C
C


H
H
Ì
Ì
N
N
H
H


V
V





Stt
Hình
Nội dung
1
Hình 1
Thiết kế phân đoạn quan hệ NHÂN SỰ
2
Hình 2
Thiết kế phân đoạn quan hệ CHUYÊN MÔN
3
Hình 3
Thiết kế phân đoạn quan hệ DANH HIỆU
4
Hình 4
Thiết kế phân đoạn quan hệ CHÍNH TRỊ
5
Hình 5
Thiết kế phân đoạn quan hệ NGOẠI NGỮ
6
Hình 6
Thiết kế phân đoạn quan hệ QUẢN LÝ
7
Hình 7
Kiến trúc tổng thế của CSDL Oracle
8
Hình 8
Lịch sao lƣu dữ liệu




- 6 -


M
M




Đ
Đ


U
U


Trong những năm gần đây cơ sở dữ liệu phân tán đã trở thành một lĩnh vực
quan trọng của xử lý thông tin. Cơ sở dữ liệu phân tán là một tập hợp dữ liệu
thuộc về cùng một hệ thống một cách logic nhưng được trải ra trên các trạm
của một mạng máy tính. Hầu hết các hệ thống thông tin từ đơn giản đến phức
tạp đều sử dụng cơ sở dữ liệu như là một thành phần không thể thiếu của hệ
thống. Cơ sở dữ liệu phân tán đem đến nhiều ưu điểm về tính tin cậy và sẵn
sàng cao của hệ thống.
Trong thực tế áp dụng, có nhiều phương pháp giúp nâng cao tính sẵn sàng và an
toàn của cơ sở dữ liệu. Một trong các phương pháp đó là phương pháp Sao lưu
và phục hồi dữ liệu. Với phương pháp này, bằng cách tạo ra các bản sao của cơ
sở dữ liệu hiện tại, khi hệ thống gặp sự cố buộc phải ngừng hoạt động, ta có thể
đưa hệ thống hoạt động chở lại sớm hơn nhờ có bản sao lưu. Phương pháp này

giúp giảm thiểu khả năng mất mát dữ liệu và giảm thời gian ngưng trệ của hệ
thống.
Cấu trúc nôi dung của luận văn bao gồm các phần như sau:
Chương 1: Trình bày giới thiệu về bài toán, các vấn đề cần giải quyết và hiện
trạng của bài toán.
Chương 2: Giới thiệu tổng quan về hệ quản trị cơ sở dữ liệu Oracle9i, cơ chế
và chiến lược sao lưu trong hệ quản trị cơ sở dữ liệu Oracle.
Chương 3: Đề xuất phương hướng giải quyết bài toán, đưa ra cụ thể phương
pháp sao lưu và chiến lược sao lưu cho bài toán.
Phần kết luận trình bày tóm tắt về các nội dung thực hiện trong luận văn, đồng
thời đưa ra các vấn đề nghiên cứu tiếp cho tương lai. Phần phụ lục trình bày
một số tài liệu tham khảo được dùng trong luận văn.
Do thời gian nghiên cứu và trình độ có hạn, luận văn không tránh khỏi có
những hạn chế và thiếu sót. Tôi xin được tiếp thu ý kiến, đánh giá, chỉ bảo của
các thầy giáo cũng như các bạn bè và đồng nghiệp. Tôi xin chân thành cảm ơn.

Hà nội, tháng 12 năm 2008
Học viên
Kiều Chính




- 7 -


C
C
H
H

Ƣ
Ƣ
Ơ
Ơ
N
N
G
G


I
I
.
.
































































































































Đ
Đ


T
T


V
V



N
N


Đ
Đ













































































































I.1 Giới thiệu bài toán
Đầu năm 2006, với sự tài trợ của Ngân hàng Phát triển Châu Á (ADB),
Quỹ phát triển Bắc Âu (NDF), Cơ quan Phát triển Pháp (AFD), Tổ chức
hợp tác Quốc tế Nhật Bản (JICA). Tổng cục dạy nghề đã xây dựng thành
công dự án “Xây dựng hệ thống thông tin phục vụ cải cách hệ thống giáo
dục kỹ thuật và dạy nghề cho Tổng cục dạy nghề”. Dự án này đã có nhiều
đóng góp trong việc cải cách hệ thống giáo dục kỹ thuật & dạy nghề cho
Tổng cục và cải cách định hướng thị trường lao động của hệ thống VTE,

phát triển các trường đạo tào dạy nghề trọng điểm, cải cách tính hiệu quả
nội bộ, xây dựng và phát triển hệ thống thông tin quản lý giáo dục kỹ
thuật và dạy nghề. Hệ thống đã đạt được một số kết quả như sau:
 Đầu tƣ và xây dựng cơ sở hạ tầng hệ thống thông tin: Bao gồm
việc đầu tư các thiết bị tin học tại Tổng cục dạy nghề và các chi cục
nhằm mục đích đảm bảo cho sự hoạt động hữu hiệu của Trung tâm
xử lý và điều hành của Tổng cục dạy nghề trong việc xử lý các số
liệu chuyên ngành và việc quản lý hành chính tại Cục, tạo điều kiện
thuận lợi cho việc phối hợp giữa các bộ phận quan trọng nhất của
ngành với cơ quan quản lý nhà nước. Và cùng với việc xây dựng cở
sở hạ tầng để nhằm thực hiện các chức năng kết nối giữa các cá
nhân, tổ chức, đơn vị trực thuộc Cục với mạng LAN tại Tổng cục
dạy nghề nhằm đáp ứng nhu cầu trao đổi thông tin thường xuyên.
 Đầu tƣ và xây dựng hệ thống phần mềm Quản lý nhân sự của
Tổng cục: phần mềm được xây dựng nhằm mục đích quản lý Giảng
viên trong toàn Tổng cục dạy nghề, phần mềm được viết trên mô
hình phân tán, dữ liệu và ứng dụng được cục bộ hóa tại các tỉnh Hải
Dương, Hải Phòng, Hà Tây.
Tuy nhiên sau khi phần mềm ứng dụng Quản lý nhân sự được đưa vào
vận hành một năm đã xảy ra nhiều sự cố gây hư hỏng mất mát dữ liệu
của toàn Tổng cục. Có nhiều nguyên nhân dẫn tới việc hư hỏng mất mát
dữ liệu, bốn nhân tố chính có thể kể đến là do:
 Con người
- 8 -


 Phần cứng
 Phần mềm
 Thảm họa tự nhiên…
Việc mất mát dữ liệu dẫn đến sự đình trệ của hệ thống phần mềm, công

việc khắc phục mất rất nhiều thời gian và công sức do không có bản sao
lưu dữ liệu. Xuất phát từ thực tế đó, Tổng cục dạy nghề đã đưa ra yêu
cầu cấp thiết về một giải pháp sao lưu và phục hồi dữ liệu toàn diện trên
hệ quản trị cơ sở dữ liệu Oracle.
Trong phần dưới đây, em xin giới thiệu về giải pháp sao lưu và phục hồi
dữ liệu trong hệ quản trị cơ sở dữ liệu 9i mà em đã đề xuất và áp dụng
giải quyết bài toán, giải pháp này bao gồm một số điểm chính như sau:
 Hiện trạng hệ thống ứng dụng
 Tổng quan về hệ quản trị CSDL Oracle
 Đề xuất phương pháp sao lưu và phục hồi
 Đánh giá hiệu quả của phương pháp
I.2 Hiện trạng hệ thống ứng dụng quản lý nhân sự
I.2.1 Mô hình ứng dụng
Ứng dụng tại Tổng cục dạy nghề được thiết kế dựa trên môi trường 3
lớp, bao gồm lớp Presentation (lớp trình diễn), Business Logic (lớp giao
dịch) và Data Access (lớp cơ sở dữ liệu), cơ chế hoạt động của ứng dụng
được mô tả như sau:
Presentation: gửi yêu cầu và nhận kết quả từ lớp Business Logic,
Business Logic nhận các yêu cầu từ phía Presentation, phân tích và xử lý
các yêu cầu của phía Presentation, sau đó gửi các yêu cầu đến lớp Data
Access để truy xuất số liệu hay cập nhật số liệu (thông qua các câu lênh
truy xuất SQL), nhận lại các kết quả và gửi các kết quả đó cho phía
Client. Data Access tiếp nhận các yêu cầu từ lớp Business Logic và trả
lại kết quả cho lớp Business Logic.
Mô hình ứng dụng là cho phép triển khai trên diện rộng như trên cả nước
hoặc trên toàn thế giới, việc xử lý của ứng dụng và xử lý CSDL đều được
thực hiện trên máy chủ, ứng dụng được triển khai ngay tại đó, mọi máy
tính trên toàn thế giới đều có thể sử dụng ứng dụng nếu ứng dụng được
đưa lên mạng Internet thông qua một địa chỉ IP hoặc một tên miền do các
nhà cung cấp dịch vụ ISP cung cấp cho nên không phải quan tâm đến

- 9 -


việc cài đặt ứng dụng trên các máy lẻ nữa, cũng như việc nâng cấp và
sửa lỗi được thực hiện một cách dễ dàng ngay tại máy chủ.
Mô hình này có những ưu điểm như:
 Tách biệt phần giao diện người dùng và trình diễn ra khỏi phần
nghiệp vụ của ứng dụng, rút ngăn thời gian phát triển và kiểm tra
ứng dụng.
 Đóng gói riêng phần truy cập dữ liệu cho phép thay đổi hệ CSDL
một cách dễ dàng.
 Làm đơn giản phần an toàn bảo mật cho dữ liệu.
 Bổ sung khả năng quản lý sức tải của máy chủ một cách linh hoạt.
 Nâng cao hiệu năng mạng đạt được thông qua việc phân đoạn xử

I.2.2 Đặc điểm của mô hình cơ sở dữ liệu đang sử dụng
Mô hình cơ dử dữ liệu Tồng cục đã triển khai cho hệ thống phần mềm
quản lý nhân sự là mô hình Cơ sở dữ liệu phân tán. Khi nhắc đến cơ sở
dữ liệu chúng ta thường liên tưởng đên khái niệm “Cơ sở dữ liệu phân
tán là một tập hợp dữ liệu thuộc về cùng một hệ thống một cách logic
nhưng được trải ra trên các trạm của một mạng máy tính” [1]

Quản trị các CSDL phân tán với các mức trong suốt khác nhau
Một cách lý tưởng, một hệ quản trị cơ sở dữ liệu phải trong suốt phân
tán, nghĩa là che dấu các chi tiết về việc các file (bảng, quan hệ) được lưu
trữ vật lý ở đâu trong hệ thống.
Các kiểu trong suốt có thể là:
 Trong suốt phân tán hay trong suốt mạng: điều này đề cập tới việc
người sử dụng không cần biết đến các chi tiết thao tác của mạng.
Trong suốt phân tán được chia thành trong suốt địa điểm và trong

suốt tên. Trong suốt địa điểm nghĩa là lệnh để thực hiện một nhiệm
vụ độc lập với địa điểm của dữ liệu và địa điểm của hệ thống mà ở
đó các câu lệnh được đưa ra. Trong suốt tên nghĩa là mỗi khi một
tên được chỉ ra, các đối tượng được đặt tên có thể được truy cập
một cách rõ ràng mà không cần có các đặc tả thêm.
 Trong suốt bản sao : Các bản sao dữ liệu có thể được lưu trữ tại
nhiều trạm để việc tìm kiếm, thực hiện và sự tin cậy tốt hơn. Trong
- 10 -


suốt bản sao làm cho người sử dụng không biết về sự tồn tại của
các bản sao.
 Trong suốt Phân đoạn: Có hai kiểu phân đoạn được thực hiện:
Phân đoạn ngang chia một quan hệ thành các tập hợp các bộ (các
dòng). Phân đoạn dọc phân chia một quan hệ thành các quan hệ
con trong đó mỗi quan hệ con được xác định bởi một tập hợp con
các cột của quan hệ ban đầu. Một truy vấn của người sử dụng phải
được chuyển đổi thành nhiều truy vấn đoạn. Trong suốt phân đoạn
làm cho người sử dụng không biết về sự tồn tại của các phân đoạn.

Tính tin cậy và sẵn sàng đƣợc tăng lên
Đây là hai ưu điểm quan trọng nhất của cơ sở dữ liệu phân tán [1]. Tính
tin cậy được xác định như là xác suất mà một hệ thống đang chạy tại một
thời điểm nào đó. Nhưng ngược lại tính sẵn sàng là xác suất mà một hệ
thống sẵn sàng liên tục trong một khoảng thời gian. Khi dữ liệu và phần
mềm hệ quản trị cơ sở dữ liệu được phân tán trên nhiều trạm, một trạm
có thể hỏng trong khi đó các trạm khác tiếp tục hoạt động. Chỉ dữ liệu và
phần mềm hệ quản trị cơ sở dữ liệu tại trạm bị hỏng là không thể truy cập
được. Điều đó làm cải thiện cả tính tin cậy và tính sẵn sàng. Việc tạo bản
sao một cách đúng đắn tại nhiều trạm có thể làm cho sự cải thiện tốt hơn.

Trong hệ thống tập trung, sự hư hỏng tại một trạm làm cho toàn bộ hệ
thống không sẵn sàng đối với mọi người sử dụng. Trong một cơ sở dữ
liệu phân tán, một số dữ liệu có thể không đi đến được nhưng người dùng
vẫn còn có thể truy cập đến các phần khác của cơ sở dữ liệu.

Hiệu suất đƣợc cải thiện
Hệ quản trị cơ sở dữ liệu phân đoạn cơ sở dữ liệu bằng cách giữ các cơ
sở dữ liệu gần với nơi mà nó cần thiết nhất. Việc định vị dữ liệu làm
giảm sự cạnh tranh của CPU và các thiết bị vào/ra I/O và đồng thời làm
giảm sự cản trở truy cập kéo theo trong các vùng mạng rộng. Khi một cơ
sở dữ liệu lớn được phân tán trên nhiều trạm, các cơ sở dữ liệu nhỏ tồn
tại trên mỗi trạm. Kết quả là các truy vấn địa phương và các giao tác truy
cập các dữ liệu tại một trạm riêng lẻ có hiệu suất tốt hơn do cơ sở dữ liệu
địa phương của nó nhỏ hơn. Số các giao tác tại mỗi trạm ít hơn số giao
tác được đưa ra đối với một cơ sở dữ liệu tập trung. Hơn nữa, tính song
song các truy vấn có thể đạt được bằng việc thực hiện nhiều truy vấn tại
các trạm khác nhau, hoặc bằng việc chia một truy vấn thành một số các
- 11 -


truy vấn con thực hiện một cách song song. Điều đó làm cho hiệu suất
được cải thiện.
Dễ mở rộng
Trong môi trường phân tán, việc mở rộng hệ thống theo nghĩa thêm vào
các dữ liệu làm tăng cỡ của cơ sở dữ liệu hoặc thêm vào các bộ xử lý là
dễ hơn nhiều.
I.2.3 Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu phân tán Tổng cục dạy nghề đang sử dụng là hệ
quản trị cơ sở dữ liệu phân tán– Oracle 9i. Đây là một hệ thống phần
mềm quản trị một cơ sở dữ liệu phân tán và làm cho việc phân tán trở

nên trong suốt đối với người sử dụng.
Hệ quản trị cơ sở dữ liệu Oracle là một hệ quản trị cơ sở dữ liệu mạnh
mẽ, với nhiều ưu điểm như:
 Hệ quản trị cơ sở dữ liệu Oracle có nhiều tính năng hỗ trợ cơ sở dữ
liệu phân tán rất tốt như các tính năng Oracle Recovery Manager,
Oracle Data Guard…
 Oracle 9i nhiều tính năng ưu việt hơn các hệ quản trị cơ sở dữ liệu
khác như: tính sẵn sàng cao, khả năng nâng cấp, bảo mật, quản trị
hệ thống.
 Chi phí khi hệ thống bị dừng hoạt động ngày một lớn, do vậy nhất
thiết bằng mọi cách phải nhanh chóng đưa Cơ Sở Dữ Liệu trở lại
hoạt động. Oracle9i cung cấp một số tính năng mới để tự động và
làm đơn giản việc phục hồi Cơ Sở Dữ Liệu. Công cụ Oracle
Recovery Manager bao gồm các tính năng mạnh như: dễ cài đặt
thiết lập, phục hồi tự động, khôi phục lại dữ liệu bị hỏng do sai sót
của người sử dụng. Công cụ này còn cung cấp tính năng chia nhỏ
các thao tác sao lưu và phục hồi nhanh hơn so với các phiên bản
trước.
 Oracle9i bao gồm chương trình Data Guard(sẵn sàng phục hồi dữ
liệu) để khôi phục Cơ Sở Dữ Liệu trong những trường hợp bất khả
kháng như thiên tai, hoả hoạn. Data Guard tự động thực hiện các
thao tác khôi phục hệ thống phức tạp và cung cấp phương tiện để
theo dõi, thông báo và điều khiển quá trình khôi phục hệ thống.
- 12 -


 Trong quá trình sao lưu và phục hồi dữ liệu nếu bị mất điện đột
ngột, quá trình thực hiện sẽ được tiếp tục chạy từ lúc mất điện thay
vì phải thực hiện lại từ đầu như các phiên bản trước. Phiên bản
mới còn cho phép xem được các câu lệnh mà người sử dụng đã

thao tác đồng thời có thể khôi phục được các dữ liệu đã bị nhầm
trước đó 1 giờ hoặc 1 ngày. Ngoài ra nó còn hỗ trợ cho các font
Unicode 3.0
Hệ thống cơ sở dữ liệu ORACLE cho phép quản lý số lượng dữ liệu rất
lớn với độ bảo mật và an toàn cao, hỗ trợ các tiện ích quản lý cơ sở dữ
liệu như đồng bộ dữ liệu, kiểm tra ràng buộc, toàn vẹn dữ liệu tại các
điểm lưu trữ khác nhau. Với nhiều tính năng hỗ trợ mạnh cho Internet,
khả năng lưu trữ dữ liệu cực lớn, dạng dữ liệu phong phú như hình ảnh,
âm thanh, công cụ hỗ trợ lập trình web như WEBDB, ORACLE thực
sự là giải pháp đúng đắn để phát triển ứng dụng.
Hệ thống ứng dụng quản quản lý nhân sự tại các trạm sử dụng mô hình
ứng dụng cục bộ, ứng dụng này được triển khai tại từng trạm, các truy
vấn tại trạm nào chỉ truy vấn đến dữ liệu tại trạm đó và được hệ thống
máy tính tại trạm đó xử lý hoàn toàn. Riêng ứng dựng quản lý nhân sự tại
Tổng cục lại sử dụng mô hình ứng dụng toàn cục, ứng dụng này cho
phép truy cập dữ liệu tại nhiều trạm đầu cuối. Cấu trúc dữ liệu tại của
ứng dụng nhân sự tại Tổng cục và các trạm Hải Dương, Hải Phòng, Hà
Tây đều được thiết kế giống nhau.
I.2.4 Phân tán dữ liệu
Hệ thống phân tán dữ liệu hiện tại đã đạt được một số ưu điểm như:
 Cục bộ xử lý (Processing Localty)
 Tính sẵn sàng sử dụng và tính đáng tin cậy (availability and
repliability)
 Sự phân tán công việc (workload distribution)
 Chi phí lưu trữ và tính sẵn sàng (storage costs and availability)

Phân đoạn dữ liệu
Đối với ứng dụng quản lý nhân sự của Tổng cục dạy nghề, dữ liệu được
phân doạn ngang dựa trên một số tiêu chí như sau:
 Ứng dụng cụ bộ tại Tổng cục và tại các sở giáo dục được thiết kế

với các chức năng giống nhau.
- 13 -


 Các ứng dụng cục bộ tại các sở giáo dục chỉ khai thác dữ liệu cục
bộ đặt tại sở mà không truy vấn dữ liệu đặt tại Tổng cục dạy nghề
và các sở khác (theo yêu cầu về mặt hành chính).
 Ứng dụng cục bộ tại Tổng cục dạy nghề ngoài việc truy vấn dữ
liệu cụ bộ còn có thể truy vấn đến các dữ liệu đặt tại các sở giáo
dục.
 Đặc điểm của cơ sở dữ liệu quản lý nhân sự là có rất nhiều bảng
danh mục, đây là bảng chứ các thông tin mà các bảng khác sử
dụng để tham chiếu đến. Các bảng danh mục này tại các sở giáo
dục chứa các dữ liệu giống nhau, ví dụ bảng Ngoại_Ngữ…
Cơ sở dữ liệu nhân sự có các quan hệ toàn cục như sau:
 NHÂN VIÊN( Mã nhân viên, Họ và tên, Ngày sinh, Giới tính,
Quê quán, Dân tộc, Tôn giáo, Điện thoại, Chỗ ở hiện nay, Thành
phần gia đình, Ngày vào Đảng, Chức vụ Đảng hiện nay, Năm vào
ngành giáo dục, Năm vào biên chế, Xếp loại công chức, Trình độ
tin hoc, Sở giáo dục)
 CHUYÊN MÔN( Mã chuyên môn, Hệ đào tạo, Ngành đào tạo)
 DANH HIỆU( Tên danh hiệu)
 CHÍNH TRỊ(Trình độ)
 NGOẠI NGỮ(Tên ngoại ngữ)
 QUẢN LÝ( Tên lớp quản lý)
 SÁNG KIẾN KINH NGHIỆM( Tên sáng kiến, kiểu sáng kiến,
cấp)
 LƢƠNG( Hệ số lương, bậc lương)
 NGẠCH CÔNG CHỨC(Mã ngạch công chức, Tên ngạch công
chức)

 BẬC HỌC(Tên bậc học)
 TRƢỜNG(Tên Trường, Địa chỉ, Điện thoại)
 TỔ CHUYÊN MÔN(tên tổ chuyên môn)
 THI ĐUA KHEN THƢỞNG(Số quyết định,Tên quyết định khen
thưởng, Hình thức khen thưởng, Loại khen thưởng, Ngày khen
thưởng)
 HỢP ĐỒNG(Loại hợp đồng)
 NHÓM CHỨC DANH(Tên nhóm chức danh)
 CHỨC DANH CHUYÊN MÔN(Tên chức danh chuyên môn)
- 14 -


 QUAN HỆ GIA ĐÌNH(Họ và tên, nghề nghiệp, tuổi, giới tính,
loại quan hệ, nơi công tác)
Từ sơ đồ quan hệ E-R, ta nhận thấy từ Mã nhân viên ta có suy ra được
các thuộc tính còn lại. Vì thế khi thiết kế cơ sở dữ liệu phân tán cho ứng
dụng quản lý nhân sự ta có thể thiết phân tán cho quan hệ toàn cục Nhân
viên, đối với các quan hệ khác sẽ được thiết kế dư thừa tại tất cả các
trạm.


Quan hệ toàn cục NHÂN VIÊN được chia thành các phân đoạn ngang,
theo thuộc tính Sở giao dục
NHÂN VIÊN (Mã nhân viên, Họ và tên, Ngày sinh, Giới tính, Quê quán,
Dân tộc, Tôn giáo, Điện thoại, Chỗ ở hiện nay, Thành phần gia đình,
Ngày vào Đảng, Chức vụ Đảng hiện nay, Năm vào nghành giáo dục,
Năm vào biên chế, Xếp loại công chức, Trình độ tin hoc, Sở giáo dục)
Khi đó phân đoạn ngang có thể được đinh nghĩa theo cách sau:
NHÂN VIÊN1= SL Sở giáo dục=”Tổng cục” NHÂN VIÊN
NHÂN VIÊN2= SL Sở giáo dục=”Hải Dương” NHÂN VIÊN

NHÂN VIÊN3= SL Sở giáo dục=”Hải Phòng” NHÂN VIÊN
NHÂN VIÊN4= SL Sở giáo dục=”Hà Tây” NHÂN VIÊN

Sự phân đoạn trên thỏa mãn điều kiện đầy đủ nếu thuộc tính Sở giáo dục
có 3 giá trị là Tổng cục, Hải Dương và Hải phòng. Ngược lại, chúng ta
không biết các bộ với các giá trị khác của Sở giao dục thuộc đoạn nào.
Tổng cụ dạy nghề
Sở giáo dục 1
Sở giáo dục 2
Sở giáo dục 3
NHÂN VIÊN1
NHÂN VIÊN
NHÂN VIÊN2
NHÂN VIÊN3
NHÂN VIÊN4
Hình 1. Thiết kế phân đoạn quan hệ NHÂN VIÊN
- 15 -


Điều kiện xây dựng lại dễ dàng được kiểm chứng bởi vì luôn có thể xây
dựng lại quan hệ toàn cục NHÂN VIÊN thông qua thao tác sau:
NHÂN VIÊN= NHÂN VIÊN1 UN NHÂN VIÊN2 UN NHÂN VIÊN3
UN NHÂN VIÊN4
Thiết kế phân đoạn dư thừa đối với quan hệ CHUYÊN MÔN















Trong đó CHUYÊN MÔN=CHUYÊN MÔN1= CHUYÊN MÔN2=CHUYÊN MÔN3=
CHUYÊN MÔN4

Thiết kế phân đoạn dư thừa đối với quan hệ DANH HIỆU














CHUYÊN MÔN1

CHUYÊN MÔN
CHUYÊN MÔN2


CHUYÊN MÔN3

CHUYÊN MÔN4

Hình 2. Thiết kế phân đoạn quan hệ CHUYÊN MÔN
DANH HIỆU1

DANH HIỆU
DANH HIỆU2

DANH HIỆU3

DANH HIỆU4

Hình 3. Thiết kế phân đoạn quan hệ DANH HIỆU
- 16 -


Trong đó DANH HIỆU= DANH HIỆU 1= DANH HIỆU 2= DANH HIỆU 3= DANH
HIỆU 4
Thiết kế phân đoạn dư thừa đối với quan hệ CHÍNH TRỊ
















Trong đó CHÍNH TRỊ= CHÍNH TRỊ 1= CHÍNH TRỊ 2= CHÍNH TRỊ 3= CHÍNH
TRỊ 4
Thiết kế phân đoạn dư thừa đối với quan hệ NGOẠI NGỮ














Trong đó NGOẠI NGỮ= NGOẠI NGỮ 1= NGOẠI NGỮ 2= NGOẠI NGỮ 3=
NGOẠI NGỮ 4
NGOẠI NGỮ1

NGOẠI NGỮ
NGOẠI NGỮ2


NGOẠI NGỮ3

NGOẠI NGỮ4

Hình 5. Thiết kế phân đoạn quan hệ NGOẠI NGỮ
CHÍNH TRỊ 1

CHÍNH TRỊ
CHÍNH TRỊ 2

CHÍNH TRỊ 3

CHÍNH TRỊ 4

Hình 4. Thiết kế phân đoạn quan hệ CHÍNH TRỊ
- 17 -




Thiết kế phân đoạn dư thừa đối với quan hệ QUẢN LÝ
















Trong đó QUẢN LÝ= QUẢN LÝ 1= QUẢN LÝ 2= QUẢN LÝ 3= QUẢN LÝ 4

I.2.5 Định vị dữ liệu
Các đoạn của quan hệ được định vị như sau:
QUAN HỆi với i =1 đặt tại site Tổng cục dạy nghề
QUAN HỆi với i =2 tại site Sở giáo dục Hải Phòng
QUAN HỆi với i =3 đặt tại site Sở giáo dục Hải Dương
QUAN HỆi với i =4 đặt tại site Sở giáo dục Hà Tây

QUẢN LÝ1
QUẢN LÝ
QUẢN LÝ2
QUẢN LÝ3

QUẢN LÝ4

Hình 6. Thiết kế phân đoạn quan hệ QUẢN LÝ
- 18 -


C
C
H

H
Ƣ
Ƣ
Ơ
Ơ
N
N
G
G


I
I
I
I
.
.
































































































































T
T


N
N
G
G



Q
Q
U
U
A
A
N
N


V
V




H
H




Q
Q
U
U


N

N


T
T
R
R




C
C
S
S
D
D
L
L


O
O
R
R
A
A
C
C
L

L
E
E














II.1 Kiến trúc cơ sở dữ liệu
II.1.1 Cấu trúc bộ nhớ
Bộ nhớ của CSDL Oracle bao gồm 2 cấu trúc được là SGA và PGA [7].
 SGA (System Global Area) là thành phần đầu tiên và cũng là quan
trọng nhất, hầu hết các yêu cầu về tài nguyên đều tham chiếu đến
vùng bộ nhớ này.
 PGA (Program Global Area) là vùng bộ nhớ dành cho các kết nối
của người dùng.


Hình 7: Kiến trúc tổng thế của CSDL Oracle

Oracle SGA

- 19 -


Oracle SGA là cấu trúc bộ nhớ quan trọng nhất trong Oracle. SGA lưu
trữ những dữ liệu thường được truy xuất, qua đó giúp tăng tốc độ xử lý,
khai thác và truy vấn dữ liệu.
SGA bao gồm 3 thành phần như sau là.
 buffer cache
 shared pool
 redo log buffer
Buffer cache bao gồm các vùng bộ đệm có kích thước tuân theo quy
định của database block. Chúng được thiết kế để lưu trữ dữ liệu thường
được truy vấn thông qua các câu lệnh SQL, nhằm cải thiện tốc độ truy
vấn và cập nhật thay đổi của dữ liệu
Share pool lại bao gồm 2 thành phần bắt buộc và 1 thành phần không bắt
buộc. Hai thành phần bắt buộc là shared SQL library cache và data
dictionary cache, còn thành phần không bắt buộc là thông tin về phiên
làm việc của người dùng
Redo log buffer được sử dụng để lưu trữ online redo log trong bộ nhớ
cho đến khi dữ liệu được ghi vào disk.
Shared Pool: bao gồm Library Cache (vùng nhớ chia sẽ các câu lệnh
SQL) và Row Cache (hay còn được gọi là Dictionary Cache hay Data
Dictionary Cache).
 Library cache được thiết kế để lưu trữ thông tin về các câu lệnh
SQL thường hay sử dụng, thông tin này bao gồm cú pháp câu lệnh,
các tham số và lịch trình thực hiện Khi một người dùng câu lệnh
SQL, Oracle sẽ kiểm tra câu lệnh này có sẵn trong Library cache
không, nếu có Oracle sẽ trả lại luôn kết quả, thay vì phải thực hiện
đầy đủ các thao tác xử lý.
 Row cache: bao gồm các định nghĩa về cơ sở dữ liệu thường hay

sử dụng như Table, indexs, colums, user và các quyền truy cập.
PGA (Program Global Area): là vùng bộ nhớ hỗ trợ các lệnh thực thi của
người dùng. Việc cấp phát và giải phóng vùng bộ nhớ này được thực
hiện ngay khi tiến trình của người bắt đầu và kết thúc. Đặc điểm của
PGA:
 Vùng bộ nhớ hỗ trợ cho việc sắp xếp rows trước khi trả lại cho
người dùng
 Lưu trữ trạng thái của các Con trỏ của phiên hiện tại
 Lưu trữ các tham số thực thay vì các tham biến cho câu lệnh SQL
- 20 -


 Vùng bộ nhớ lưu trữ các biến và mảng theo phiên
 Lữu trữ dữ liệu người dùng theo phiên làm việc, quyền và các
thông tin liên quan đến phiên làm việc
 PGA là vung bộ nhớ có thể ghi đè và không chia sẻ
II.1.2 Các tiến trình nền
Oracle có 5 tiến trình hệ thống chính [2, 3]:
 PMON ( Process Monitor)
 SMON (System Monitor)
 DBWR (Database Writer)
 LGWR (Log Writer)
 CKPT (Checkpoint Process)
PMON (Process Monitor)
 Xóa và làm sạch các phiên làm việc của người dùng kết thúc bất
thường
 Khôi phục lại bất các giao dịch nào Commit
 Giải phóng các chiếm dụng của các tiến trình đã kết thúc
 Giải phóng tài nguyên đã cấp phát cho các tiến trình thất bại
 Khởi động lại các shared server và các tiến trình dispatcher

SMON (System Monitor)
 Thực hiện tự động các khôi phục dữ liệu
 Khôi phục lại dữ liệu theo vết được ghi trong Online rodo log
trong trường hợp các các dữ liệu thay đổi này chưa được ghi vào
đĩa.
 Khôi phục lại tất cả giao dịch chưa được commit
 Tự động dò và giải phóng các vùng bộ nhớ được cấp phát những
đã không sử dụng trong một thời gian dài.
 Ghép các vùng không gian liên tiếp không sử dụng lại thành một
khối trong file dữ liệu
DBWR (Database Writer)
 Ghi tất cả các thay đổi trong Buffer cache vào file dữ liệu.
- 21 -


 Sử dụng LRU (least recently used) thuật toán cho phép lưa chọn
lưu trữ các khối dữ liệu hay sử dụng trong bộ nhớ.
 Tối ưu hoạt động vào ra dữ liệu.
 Ghi dữ liệu vào file dữ liệu trong một số trường hợp sau:
 Vùng bộ nhớ lưu trữ dữ liệu tạm thời đầy
 Sự kiện Time-out xảy ra
 Sự kiện checkpoint xảy ra
LGWR (Log Writer) – Ghi thông tin từ Redo log buffer vào redo log
files.
 Lệnh commit chưa được hoàn tất thực hiện cho đến khi tất cả các
thay đổi đã được ghi lại trong redo log file
 Việc ghi redo log buffer vào redo log files được thực hiện khi:
 Lệnh commit được thực hiện.
 Redo log buffer đầy 1/3.
 Redo log buffer đã ghi hơn 1MB thông tin về thay đổi dữ liệu.

 Trước khi DBWR thực hiện xong.
CKPT (Checkpoint Process) nhằm tăng tốc độ thực thi của cơ sở dữ liệu
có quá nhiều files.
 Thực hiện LGWR trong sự kiện checkpoint.
 Headers của file dữ liệu và file điều khiên được cập nhật tại cuối
sự kiện checkpoint.
II.1.3 Tổ chức file trong Oracle
Data Files [6, 7, 8]
 Lưu trữ dữ liệu về từ điển
 Đối tượng của người dùng
 Dữ liệu ảnh của các giao dịch(transactions ) hiện thời
Redo Logs
 Ghi lại tất cả các thay đổi của dữ liệu trong cơ sở dữ liệu.
 Redo logs được sử dụng lại, khi đầy sẽ được ghi đè lên.
- 22 -


 Mỗi nhóm redo log phải bao gồm ít nhất 2 file redo log và mỗi file
được lưu trên các ổ đĩa cứng khác nhau.
 Mỗi nhóm redo logs sẽ được gán cùng một số thứ tự.
Sử dụng lệnh ALTER DATABASE ADD LOGFILE MEMBER thêm
một redo log mới vào nhóm redo log hiện thời, và sử dụng ALTER
DATABASE DROP LOGFILE MEMBER để xóa thành phần redo log
khi file redo log không hợp lệ.
Để thay đổi vị trí của file log ta thực hiện lệnh:
 ALTER SYSTEM SWITCH LOGFILE ;
 Copy file log đến vị trị đã định bằng lệnh của hệ điều hành
 ALTER DATABASE RENAME FILE ; sẽ ghi lại sự thay đổi
trong file điều khiển (control files)
Control Files

 Đây là file nhị phân, chứa cấu trúc của cơ sở dữ liệu.
 Bắt buộc phải sử dụng trong các kiểu khởi động cơ sở dữ liệu như
mount, open, và truy cập CSDL.
 Các thông tin về đồng bộ dữ liệu cần thiết cho việc khôi phục cơ
sở dữ liệu
 Nên có ít nhất hai Control file để đề phòng hỏng hóc hoặc mất
mát.
Parameter File
 Tham số để xác kịnh kích thước của cùng bộ nhớ SGA và đường
dẫn đến control file.
 Bao gồm các tham số khởi tạo của Cơ sở dữ liệu.
Password File
 Lưu trữ mật khẩu của người dùng với quyền Admin.
 Chỉ sử dụng trong xác thực mức cơ sở dữ liệu
Archived redo log files
- 23 -


 Lưu trữ phiên bản offline của redo log files.
 Sử dụng trong việc khôi phục dữ liệu từ sự cố về media.
II.2 Sao lƣu dữ liệu
Sao lưu CSDL được dùng để tránh mất dữ liệu. Bất cứ điều gì cũng có
thể dẫn đến mất dữ liệu, vì thế cần thiết phải có hệ thống sao lưu. Sao lưu
bao gồm việc giữ các bản sao các tập tin CSDL khác nhau để CSDL có
thể được tạo lại khi cần toàn bộ hoặc từng phần. Sao lưu Oracle liên quan
đến sao chép các tập tin CSDL Oracle. Thường là các tập tin dữ liệu, tập
tin điều khiển và các tập tin redo log. Ta cũng có thể vận hành CSDL
Oracle ở 2 chế dộ: archivelog và noarchivelog. Nếu CSDL hoạt động ở
chế độ archivelog, Oracle sẽ lưu trữ tất cả các redo log trước khi ghi đè
chúng. Chế độ noarchivelog không lưu vết những thay đổi của CSDL do

nó ghi tất cả những thay đổi vào CSDL.
II.2.1 Các thuật ngữ trong sao lƣu của Oracle
Việc sao lưu CSDL là hoạt động then chốt và các kiểu sao lưư, các điều
kiện ta thực hiện sao lưu đóng vai trò quan trọng trong khả năng phục hồi
CSDL. Hiểu rõ về các kiểu sao lưu và các khái niệm sao lưu cực kỳ quan
trọng cho sự thành công của khôi phục CSDL.
Các chế độ archivelog và noarchivelog [4, 5]
Oracle ghi tất cả những thay đổi với các khối dữ liệu trong bộ nhớ vào
các redo log trực tuyến, thông thường trước khi chúng ghi vào các tập tin
CSDL. Trong quá trình phục hồi Oracle sẽ sử dụng những thay đổi đã
ghi trong các tập tin redo log để đưa CSDL về trạng thái mới cập nhật
gần nhất. Oracle có thể quản lý các tập tin redo log theo 2 cách. Trong
chế độ archivelog, Oracle lưu trữ các redo log đã đầy. Như vậy không có
vấn đề sao lưu CSDL cũ tới mức độ nào, nếu ta đang ở chế độ
archivelog ta có thể phục hồi CSDL tới bất cứ điểm thời gian nào bằng
các redo log đã lưu trữ.
Trong chế độ noarchivelog, các tập tin redo log đầy bị ghi đè và không
được lưu trữ. Chế độ noarchivelog ngụ ý rằng ta chỉ có thể phục hồi từ
dữ liệu sao lưu và ta sẽ mất tất cả những thay đổi đã thực hiện tới CSDL
sau thời điểm sao lưu được thực hiện. Chỉ có hoạt động ở chế độ
archivelog đảm bảo những điều sau:
 Có thể phục hồi hoàn toàn CSDL từ sự hư hỏng thiết bị phương
tiện cũng như thể hiện của CSDL
- 24 -


 Có thể phục hồi tất cả dữ liệu trong sự kiện hư hỏng ổ đĩa
 Có thể duy trì tính sẵn sàng cao bởi vì CSDL đang chạy ở chế độ
archivelog không cần phải dừng hoạt động để sao lưu. Ta có thể
sao lưu trực tuyến trong chế độ này.

 Có thể thực hiện sao lưu mở, nghĩa là sao lưu trong khi CSDL
đang hoạt động
 Để thực hiện phục hồi không gian bảng đến một điểm thời gian
bản phải chạy CSDL ở chế độ archivelog.
Sao lƣu CSDL từng phần và toàn bộ [4]
Ta có thể sao lưu toàn bộ hay một phần CSDL, chẳng hạn như sao lưu
một không gian bảng hoặc một tập tin dữ liệu. Thông thường hầu như
chúng ta đều thực hiện sao lưu toàn bộ CSDL, nó bao gồm tất cả tập tin
dữ liệu và một tập tin quan trọng khác đó là tập tin điều khiển. Không có
tập tin điều khiển, Oracle không mở được CSDL, vì thế ta cần bản sao
lưu mới nhất của tập tin điều khiển và tất cả các sao lưu tập tin dữ liệu
dùng cho phục hồi.
Sao lƣu nhất quán và không nhất quán
Sự khác nhau giữa sao lưu nhất quán và không nhất quán thật đơn giản.
Sao lưu nhất quán không cần thực hiện quá trình phục hồi. Khi một sao
lưu được dùng để phục hồi CSDL hoặc một phần CSDL (không gian
bảng hoặc tập tin dữ liệu), trước hết ta cần khôi phục CSDL từ bản sao
lưu và sau đó phục hồi CSDL. Trong trường hợp sao lưu nhất quán, thì
không cần quá trình phục hồi này. Ngược lại sao lưu không nhất quán
luôn cần thực hiện quá trình phục hồi.
Oracle gán cho mỗi giao dịch được ghi nhận (commit) một SCN (System
Change Number) duy nhất. Mỗi lần Oracle thực hiện checkpoint, tất cả
dữ liệu đã thay đổi trong tập tin dữ liệu trực tuyến được ghi vào đĩa. Và
mỗi lần có một checkpoint, chuỗi checkpoint trong tập tin điều khiển
được cập nhật bởi Oracle. Trong khi cập nhật chuỗi checkpoint này,
Oracle làm cho tất cả các tập tin dữ liệu và tập tin điều khiển nhất quán
có cùng SCN. Một CSDL nhất quán nghĩa là các SCN được lưu trong
phần header của tất cả tập tin dữ liệu là như nhau, và cũng bằng với các
SCN được lưu trong các tập tin điều khiển. Tóm lại điều quan trọng là
cùng một số SCN phải xuất hiện trong tất cả các tập tin dữ liệu và điều

khiển.

×