ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
MỤC LỤC
MỤC LỤC ................................................................................................................................. 1
LỜI CAM ĐOAN ...................................................................................................................... 4
LỜI CẢM ƠN ............................................................................................................................ 5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ............................................................... 6
DANH MỤC CÁC BẢNG ......................................................................................................... 8
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ...................................................................................... 9
Chương 1: Mở đầu ................................................................................................................... 11
1.1 Lý do chọn đề tài và tên đề tài ......................................................................................... 11
1.2 Mục đích và nhiệm vụ .................................................................................................... 11
1.3 Phạm vi nghiên cứu......................................................................................................... 12
1.4 Phương pháp nghiên cứu ................................................................................................. 12
1.5 Ý nghĩa thực tiễn của luận văn ........................................................................................ 12
1.6 Bố cục của luận văn ........................................................................................................ 12
Chương 2: Kiến thức tổng quan ................................................................................................ 14
2.1 Giới thiệu chung về Oracle. ............................................................................................. 14
2.1.1 Oracle Instance. ........................................................................................................ 16
2.1.2 Oracle database......................................................................................................... 18
2.2 Công nghệ Oracle RAC .................................................................................................. 25
2.2.1 Giới thiệu chung về Oracle RAC: ............................................................................. 25
2.2.2 Các khái niệm trong Oracle RAC .............................................................................. 26
2.2.3 Tại sao sử dụng RAC ................................................................................................ 29
2.2.4 Các khả năng trong công nghệ RAC ......................................................................... 29
Luận Văn Thạc Sỹ
Trang 1
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
2.2.5 Nguyên tắc về Phần mềm RAC ................................................................................. 32
2.2.6 Nguyên tắc lưu trữ cơ sở dữ liệu RAC ...................................................................... 33
2.3 So sánh SQL server 2005 và Oracle RAC ....................................................................... 34
2.3.1 So sánh khả năng mở rộng ........................................................................................ 35
2.3.2 So sánh khả năng sẵn sàng ........................................................................................ 36
2.3.3 So sanh về mặt chi phí .............................................................................................. 37
2.3.4 So sánh chung........................................................................................................... 38
Chương 3: Khảo sát hệ thống tính cước tại Unitel Lào .............................................................. 42
3.1 Lý do lựa chọn và nội dung bài toán................................................................................ 42
3.1.1 Lý do lựa chọn.......................................................................................................... 42
3.1.2 Nội dung bài toán .................................................................................................... 42
3.2 Giới thiệu Công ty Unitel Lào ........................................................................................ 43
3.3 Thực tế việc áp dụng công nghệ RAC tại Unitel Lào. ...................................................... 45
3.3.1 Mô hình tổng quát .................................................................................................... 45
3.3.2 Các thông số kết nối đến hệ thống: ........................................................................... 51
3.3.3 Mô tả hệ thống.......................................................................................................... 52
3.4 Hệ thống Tính cước (Billing). ......................................................................................... 57
3.4.1 Cước thông tin (đã bao gồm VAT)............................................................................ 57
3.4.2 Nguyên tắc tính cước: ............................................................................................... 59
3.4.3 Nguyên tắc làm tròn: ................................................................................................ 62
3.5 Thiết kế phần cứng cho hệ thống: .................................................................................... 62
3.6 Quy mô hệ thống:............................................................................................................ 64
3.6.1 Hệ thống máy chủ server: ......................................................................................... 64
3.6.2 Hệ thống lưu trữ Storage:.......................................................................................... 66
Luận Văn Thạc Sỹ
Trang 2
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
3.6.3 Hệ thống Backup (Snapshot): ................................................................................... 67
Chương 4: Mô hình mô phỏng ứng dụng công nghệ ................................................................. 69
4.1 Quá trình cải đặt oracle 10g RAC Trên Windows 2003 Sử dụng VMware Server. ........... 69
4.1.1 Giới thiệu ................................................................................................................. 70
4.1.2 Phần cài đặt. ............................................................................................................. 71
4.1.3 Kiểm tra tình trạng của RAC. ................................................................................... 72
4.2 Mô hình tổng thể: ............................................................................................................ 73
4.3 Module cho hệ thống tổng đài (CDR app) ....................................................................... 74
4.4 Module Appserver app (Application Server) ................................................................... 76
4.5 Module Billing ................................................................................................................ 77
Chương 5: Kết luận và hướng phát triển ................................................................................... 84
5.1 Những đóng góp của luận văn ......................................................................................... 84
5.2 Những hạn chế của luận văn. ........................................................................................... 84
5.3 Các hướng nghiên cứu tiếp theo. ..................................................................................... 84
5.4 Kết luận .......................................................................................................................... 85
TÀI LIỆU THAM KHẢO ........................................................................................................ 86
PHỤ LỤC .................................................................................. Error! Bookmark not defined.
Luận Văn Thạc Sỹ
Trang 3
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
LỜI CAM ĐOAN
Tôi xin cam đoan những kết quả đạt được trong luận văn này là do tôi nghiên
cứu, sưu tầm, tổng hợp và sắp xếp lại phù hợp với yêu cầu của luận văn, không sao
chép từ các tài liệu khác. Toàn bộ những điều được trình bày trong luận văn hoặc là
của cá nhân, hoặc được tham khảo và tổng hợp từ các nguồn tài liệu khác nhau. Tất cả
tài liệu tham khảo đều được trích dẫn với nguồn gốc rõ rang.
Tôi xin hoàn toàn trách nhiệm về lời cam đoan của mình. Nếu có điều gì sai trái,
tôi xin chịu mọi hình thức kỷ luật theo qui định.
Hà nội, 11 tháng 9 năm 2012
Học viên
Phengthong Chememalay
Luận Văn Thạc Sỹ
Trang 4
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
LỜI CẢM ƠN
Em xin được gửi lời cảm ơn chân thành tới toàn thể các thầy cô giáo trong trường Đại
học Bách Khoa nói chung, Viện Công nghệ thông tin và Truyền thông, bộ môn Hệ thống
thông tin nói riêng đã trao cho em những kiến thức quý báu để làm người và đủ vững tin bước
vào cuộc sống.
Em xin bày tỏ lời cảm ơn sâu sắc nhất tới Thầy TS. Cao Tuấn Dũng, người thầy đã
luôn hướng dẫn tận tình, ủng hộ và truyền cho em có được những kiến thức quý báu để hoàn
thành tốt nhất luận văn tốt nghiệp này và định hướng phát triển trong tương lai.
Cuối cùng, xin gửi lời cảm ơn chân tình đến những người bạn đã cùng nhau sẻ chia
kiến thức, rùi mài kinh sử dưới mái trường Bách Khoa thân yêu này và đã giúp nhau vượt qua
những lúc khó khăn nhất trong cuộc sống.
Học viên
Phengthong Chememalay
Luận Văn Thạc Sỹ
Trang 5
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
STT
Các thuật ngữ
Giải nghĩa
1
CSDL
Cơ sở dữ liệu phân tán
2
DBMS
Database Management System
3
RAC
Real Application Clusters
4
CNTT
Công nghệ thông tin
5
SGA
System Global Area
6
I/O
Input/Output
7
DBW0
Database Writer
8
LGWR
Log Writer
9
SMON
System Monitor
10
PMON
Process Monitor
11
CKPT
Checkpoint Process
12
SQL
Standard Query Language
13
CPU
Center Processing Unit
14
LMON
Global Enqueue Service Monitor
15
LMD0
Global Enqueue Service Daemon
16
LMSx
Global Cache Service Process
17
LCK0
Lock process
18
DIAG
Diagnosability process
19
NFS
hệ thống tập tin mạng
20
CFS
hệ thống tập tin cluster
21
SMP
Server Migration Pack
Luận Văn Thạc Sỹ
Trang 6
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
22
LTC
Lao Telecommunications Company
23
ETL
Enterprise of Telecommunications Lao
24
BCCS
Billing and Customer Care System
25
CDR
Call Detail Record
26
RI
Revenue Insurance
27
SAN
Storage Area Network
28
NAS
Network Attached Storage
29
MIN/ESN
Mobile Identification Number/Electronic Serial Number
30
IN
Intelligent Network
31
SMSC
Short Message Service Center
32
RMAN
Recovery Mannager
Luận Văn Thạc Sỹ
Trang 7
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
DANH MỤC CÁC BẢNG
Bảng 1: các khái niệm cơ bản trong Oracle ............................................................................... 24
Bảng 3: So sánh khả năng non- clustered trên máy chủ SMP. ................................................... 36
Bảng 4: Các cước thông tin của thuê bao trả trước .................................................................... 58
Bảng 5: Các cước thông tin của thuê bao trả sau ....................................................................... 59
Bảng 6: Khảo sát số liệu sử dụng CPU trong thực tế ................................................................. 66
Bảng 7: Lưu trữ thuê bao trong thực tế ..................................................................................... 66
Bảng 8: Các thông số định cỡ ................................................................................................... 67
Bảng 9: Chính sách backup ...................................................................................................... 68
Luận Văn Thạc Sỹ
Trang 8
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ.
Hình vẽ 1: Kiến trúc Oracle Server ........................................................................................... 17
Hình vẽ 2: Kiến trúc database ................................................................................................... 19
Hình vẽ 3. Quan hệ giữa database, tablespace và datafile .......................................................... 22
Hình vẽ 4 : cấu trúc của cluster ................................................................................................ 27
Hình vẽ 5: cấu trúc của Real Application Clusters(RAC) .......................................................... 28
Hình vẽ 6: clusters và scalability .............................................................................................. 30
Hình vẽ 7: Scaleup và Speedup................................................................................................. 31
Hình vẽ 8: Nguyên tắc về phần mềm RAC ............................................................................... 33
Hình vẽ 9: Nguyên tắc về lưu trữ RAC ..................................................................................... 34
Hình vẽ 10: So sánh về mặt chi phí........................................................................................... 38
Hình vẽ 11: Mô hình kiến trúc tổng quan của hệ thống Unitel Lào............................................ 45
Hình vẽ 12: Mô hình chức năng phần cứng. .............................................................................. 52
Hình vẽ 13: Mô hình thiết kế phần cứng ................................................................................... 63
Hình vẽ 14: Quy trình hệ thống backup (Snapshot) ................................................................... 67
Hình vẽ 15: Mô hình demo ....................................................................................................... 73
Hình vẽ 16: kiểm tra tình trạng Instance rac1/rac2 ................................................................... 77
Hình vẽ 17: kiểm tra tình trạng các dịch vụ trong Oracle RAC ................................................. 78
Hình vẽ 18: kiểm tra kết nối ..................................................................................................... 79
Hình vẽ 19: kiểm tra bảng Billing ............................................................................................. 80
Hình vẽ 20: Thực hiện chạy module CDR app .......................................................................... 80
Hình vẽ 21: Kết quả sau khi tạo chạy lệnh CDR ....................................................................... 81
Hình vẽ 22: Thực hiện chạy Module Appserver App ................................................................ 82
Luận Văn Thạc Sỹ
Trang 9
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Hình vẽ 23: Thực hiện thao tác tắt 1 node rac2 ......................................................................... 82
Hình vẽ 24: Kiểm tra dữ liệu trong bảng billing ........................................................................ 83
Luận Văn Thạc Sỹ
Trang 10
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Chương 1: Mở đầu
1.1 Lý do chọn đề tài và tên đề tài
Như chúng ta đã biết hệ quản trị CSDL quan hệ Oracle cung cấp một phương
pháp mở, toàn diện và thông minh đối với việc quản lý thông tin. Nó quản lý một khối
lượng lớn dữ liệu trong môi trường nhiều user, nên cùng lúc có thể có nhiều user truy
cập vào cùng một dữ liệu, Kíp thời nó cũng ngăn chặn những truy cập trái phép và
cung cấp các giải pháp khôi phục dữ liệu.
Ngày nay, các hệ thống CSDL Oracle được cài đặt khai thác sử dụng cho các
doanh nghiệp, các cơ quan, xí nghiệp… đang trở thành các hệ thống sống còn đối với
mọi mục đích sử dụng.
Công nghệ Oracle Real Application Clusters (RAC) ra đời cung cấp một hệ
thống CSDL có mức độ sẵn sàng cao nhất và tính khả mở nhiều nhất. Việc áp dụng
thực tế công nghệ này tại các doanh nghiệp và đánh giá tính hiệu quả của RAC là một
vấn đề cần được triển khai và phát triển một cách hiệu quả nhất.
1.2 Mục đích và nhiệm vụ
Mục đích:
Tìm hiểu công nghệ Oracle RAC và các mô hình ứng dụng công nghệ này trong
việc hệ thống tính cước của công ty viễn thông Unitel Lào.
Nhiệm vụ:
Tổng quan và giới thiệu hệ CSDL Oracle
Công nghệ Oracle RAC.
Hiện trạng hệ thống CSDL của Hệ thống Billing (tính cước) trong mạng Unitel
Lào.
Luận Văn Thạc Sỹ
Trang 11
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Tìm hiểu việc ứng dụng công nghệ Oracle RAC vào hệ thống CSDL của Hệ
thống Billing (tính cước) trong mạng Unitel Lào.
1.3 Phạm vi nghiên cứu
Đề tài tập trung vào việc đặc tả, phân tích, kiểm thử vấn đề liên quan đến hệ
thống sử dụng công nghệ Oracle RAC.
1.4 Phương pháp nghiên cứu
- Phương pháp nghiên cứu dựa trên lý thuyết về công nghệ RAC và các công nghệ áp
dụng trên thế giới.
- Thu thập tìm hiểu thực tế áp dụng công nghệ RAC tại công ty viễn thông Unitel Lào.
- Xây dựng hệ thống mô phỏng áp dụng trong mô hình tính cước của Unitel Lào có sử
dụng RAC.
1.5 Ý nghĩa thực tiễn của luận văn
- Đưa ra các giải pháp mới để áp dụng công nghệ hiệu quả hơn tại công ty Unitel Lào.
1.6 Bố cục của luận văn
Luận văn đã tập trung nghiên cứu công nghệ cơ sở dữ liệu Oracle và áp dụng công
nghệ Oracle RAC vào hệ thống Billing của công ty viễn thông Unitel Lào. Cơ sở lý
thuyết đã tìm hiểu về công nghệ Oracle, được trình bày trong chương 2.Khảo sát thực
tế tình trạng công nghệ và hiện được sử dụng trên công ty Unitel Lào áp dụng Công
nghệ Oracle RAC để xử lý database cụ thể trong chương 3. Thử nghiệm công nghệ
được sử dụng thực tế thông qua mô hình đêmô được minh họa trong chương 4. Cụ thể
tác giả chia luận văn gồm 5 chương có bố cục như sau:
Chương 1: Mở đầu.
Chương 2: Kiến thức tổng quan.
Luận Văn Thạc Sỹ
Trang 12
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Chương 3: Khảo sát hệ thống tính cước tại Unitel Lào.
Chương 4: Mô hình mô phỏng ứng dụng công nghệ.
Chương 5: Kết luận và hướng phát triển.
Luận Văn Thạc Sỹ
Trang 13
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Chương 2: Kiến thức tổng quan
2.1 Giới thiệu chung về Oracle.
Trong cuộc sống hàng ngày quản lý là một công việc người ta luôn phải làm.
Các công việc quản lý xảy ra trong mọi lĩnh vực. Có rất nhiều bài toán quản lý: Quản
lý nhân sự, quản lý vật tư, … Trong lĩnh vực quản lý, việc xử lý các thông tin nhận
được là một vấn đề rất phức tạp vì lượng thông tin nhận được ngày càng lớn và thường
xuyên. Để giải phóng công việc của người làm công tác quản lý thì cần đến sự trợ giúp
của máy tính rất nhiều.
Ngoài ra với ưu thế của hệ cơ sở dữ liệu Oracle là cơ chế bảo mật dữ liệu rất
chặt chẽ giúp cho hệ thống hoạt động rất tốt và rất an toàn trong việc cập nhật và truy
cập dữ liệu, tránh được việc mất dữ liệu.
Lịch sử CSDL của Oracle:
Oracle7 được phát hành năm 1993, bao gồm nhiều thay đổi kiến trúc về bộ nhớ,
CPU và tiện ích xuất/nhập. Oracle7 là hệ quản trị cơ sở dữ liệu quan hệ đầy đủ chức
năng nhất, được sử dụng trong nhiều năm. Nó có nhiều ưu điểm nhờ tính năng dễ sử
dụng, công cụ SQL*DBA và các tiện ích khác.
Năm 1997, Oracle giới thiệu Oracle8, thêm phần mở rộng đối tượng cũng như
nhiều tính năng và công cụ quản trị mới. Sau đó (1999), Oracle 8.1.5 với tên gọi
Oracle8 i, phiên bản hỗ trợ nhiều tính năng mới và đặc biệt là các ứng dụng cơ sở dữ
liệu Internet..Phiên bản Oracle9i Release 1 (9.0.1) được đưa ra thị trường vào đầu năm
2001 và được cải tiến, bổ sung thêm một số chức năng, đặc điểm mới. Các đặc điểm
này đã làm cho việc quản lý cơ sở dữ liệu trở nên mềm dẻo, linh hoạt và hiệu quả hơn.
Luận Văn Thạc Sỹ
Trang 14
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Oracle Database 10 g được phát hành với phiên bản 10.1.0.2 vào mùa xuân năm
2004. Oracle Database 10 g là hệ thống cơ sở dữ liệu đầu tiên được thiết kế nhằm tăng
sức mạnh lưu trữ và xử lý dữ liệu dựa trên công nghệ tính toán lưới (Grid Computing).
Các tính năng của hệ quản trị CSDL Oracle:
Khả năng thích ứng cao cho mọi quy mô xử lý giao dịch.
Hiệu năng cao cho các xử lý giao dịch.
Tính sẵn sàng cao.
An toàn cho hệ thống.
Tích hợp Web.
Kết nối ứng dụng: Cho phép ứng dụng chạy trên môi trường Windows có thể
truy cập dữ liệu Oracle thông qua ODBC hoặc qua SQL*Net.
Các đối tượng trong cơ sở dữ liệu Oracle:
Bảng, Cột, Dòng, Ô.
Ràng buộc: khóa chính, khóa ngoại, duy nhất, NOT NULL và CHECK.
Khung nhìn (View).
Chỉ mục (Index).
Bảng tổ chức theo chỉ mục (Index-organized table).
Phân hoạch (Partition).
Cụm (Cluster).
Luận Văn Thạc Sỹ
Trang 15
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Bộ tuần tự (Sequence).
Đồng nghĩa (Synonym).
Thủ tục nội tại (Stored procedure).
Trigger.
Hàm Gói (Package).
Kiểu DL người dùng định nghĩa (User-defined Datatype).
Dữ liệu nhị phân kích thước lớn (BLOB).
Kiến trúc Oracle Server.
Oracle server là một hệ thống quản trị cơ sở dữ liệu đối tượng-quan hệ cho phép
quản lý thông tin một cách toàn diện. Oracle server bao gồm 2 thành phần chính là
Oracle instance và Oracle database.
2.1.1 Oracle Instance.
Oracle instance bao gồm một cấu trúc bộ nhớ System Global Area (SGA) và các
background processes (tiến trình nền) được sử dụng để quản trị cơ sở dữ liệu. Oracle
instance được xác định qua tham số môi trường ORACLE_SID của hệ điều hành.
Luận Văn Thạc Sỹ
Trang 16
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Hình vẽ 1: Kiến trúc Oracle Server
System Global Area - SGA
SGA là vùng bộ nhớ chia sẻ được sử dụng để lưu trữ dữ liệu và các thông tin
điều khiển của Oracle server. SGA được cấp phát (allocated) trong bộ nhớ của máy
tính mà Oracle server đang hoạt động trên đó. Các User kết nối tới Oracle sẽ chia sẻ
các dữ liệu có trong SGA, việc mở rộng không gian bộ nhớ cho SGA sẽ làm nâng cao
hiệu suấ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 vài cấu trúc bộ nhớ chính:
Shared pool: Là một phần của SGA lưu các cấu trúc bộ nhớ chia sẻ.
Database buffer cache: Lưu trữ các dữ liệu được sử dụng gần nhất.
Luận Văn Thạc Sỹ
Trang 17
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Redo log buffer: Được sử dụng cho việc dò tìm lại các thay đồi trong cơ sở dữ
liệu và được thực hiện bởi các background process.
Background process
Background process (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. Nó đ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 Background process như:
Database Writer (DBW0): Ghi lại các thay đổi trong data 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 database.
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.
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.1.2 Oracle database
Oracle database là tập hợp các dữ liệu được xem như một đơn vị thành phần
(Unit). Database có nhiệm vụ lưu trữ và trả về các thông tin liên quan. Database được
xem xét dưới hai góc độ cấu trúc logic và cấu trúc vật lý. Tuy vậy, hai cấu trúc dữ liệu
này vẫn tồn tại tách biệt nhau, việc quản lý dữ liệu theo cấu trúc lưu trữ vật lý không
gây ảnh hưởng tới cấu trúc logic. Oracle database được xác định bởi tên một tên duy
nhất và được quy định trong tham số DB_NAME của parameter file.
Luận Văn Thạc Sỹ
Trang 18
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Hình vẽ 2: Kiến trúc database
Cấu trúc vật lý database
Cấu trúc vật lý bao gồm tập hợp các control file, online redo log file và các
datafile:
Datafiles
Mỗi một Oracle database đều có thể có một hay nhiều datafiles. Các database
datafiles chứa toàn bộ dữ liệu trong database. Các dữ liệu thuộc cấu trúc logic của
database như tables hay indexes đều được lưu trữ dưới dạng vật lý trong các datafiles
của database.
Một số tính chất của datafiles:
Luận Văn Thạc Sỹ
Trang 19
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Mỗi datafile chỉ có thể được sử dụng trong một database.
Bên cạnh đó, datafiles cũng còn có một số tính chất cho phép tự động mở rộng
kích thước mỗi khi database hết chỗ lưu trữ dữ liệu.
Một hay nhiều datafiles tạo nên một đơn vị lưu trữ logic của database gọi là
tablespace.
Một datafile chỉ thuộc về một tablespace.
Dữ liệu trong một datafile có thể đọc ra và lưu vào vùng nhớ bộ đệm của
Oracle. Ví dụ: khi một user muốn truy cập dữ liệu trong một table thuộc database.
Trong trường hợp thông tin yêu cầu không có trong cache memory hiện thời, nó sẽ
được đọc trực tiếp từ các datafiles ra và lưu trữ vào trong bộ nhớ.
Tuy nhiên, việc bổ sung hay thêm mới dữ liệu vào database không nhất thiết
phải ghi ngay vào các datafile. Các dữ liệu có thể tạm thời ghi vào bộ nhớ để giảm
thiểu việc truy xuất tới bộ nhớ ngoài (ổ đĩa) làm tăng hiệu năng sử dụng hệ thống.
Công việc ghi dữ liệu này được thực hiện bởi DBWn background process.
Redo Log Files
Mỗi Oracle database đều có một tập hợp từ 02 redo log files trở lên. Các redo
log files trong database thường được gọi là database's redo log. Một redo log được tạo
thành từ nhiều redo entries (gọi là các redo records).
Chức năng chính của redo log là ghi lại tất cả các thay đổi đối với dữ liệu trong
database. Redo log files được sử dụng để bảo vệ database khỏi những hỏng hóc do sự
cố. Oracle cho phép sử dụng cùng một lúc nhiều redo log gọi là multiplexed redo log
để cùng lưu trữ các bản sao của redo log trên các ổ đĩa khác nhau.
Các thông tin trong redo log file chỉ được sử dụng để khôi phục lại database
trong trường hợp hệ thống gặp sự cố và không cho phép viết trực tiếp dữ liệu trong
Luận Văn Thạc Sỹ
Trang 20
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
database lên các datafiles trong database. Ví dụ: khi có sự cố xảy ra như mất điện bất
chợt chẳng hạn, các dữ liệu trong bộ nhớ không thể ghi trực tiếp lên các datafiles và
gây ra hiện tượng mất dữ liệu. Tuy nhiên, tất cả các dữ liệu bị mất này đều có thể khôi
phục lại ngay khi database được mở trở lại. Việc này có thể thực hiện được thông qua
việc sử dụng ngay chính các thông tin mới nhất có trong các redo log files thuộc
datafiles. Oracle sẽ khôi phục lại các database cho đến thời điểm trước khi xảy ra sự
cố.
Công việc khôi phục dữ liệu từ các redo log được gọi là rolling forward.
Control Files
Mỗi Oracle database đều có ít nhất một control file. Control file chứa các mục
thông tin quy định cấu trúc vật lý của database như:
Tên của database.
Tên và nơi lưu trữ các datafiles hay redo log files.
Time stamp (mốc thời gian) tạo lập database, ...
Mỗi khi nào một instance của Oracle database được mở, control file của nó sẽ
được sử dụng để xác định data files và các redo log files đi kèm. Khi các thành phần
vật lý cả database bị thay đổi (ví dụ như, tạo mới datafile hay redo log file), Control
file sẽ được tự động thay đổi tương ứng bởi Oracle.
Control file cũng được sử dụng đến khi thực hiện khôi phục lại dữ liệu.
Cấu trúc logic databse
Cấu trúc logic của Oracle database bao gồm các đối tượng tablespaces, schema
objects, data blocks, extents, và segments.
Tablespaces
Luận Văn Thạc Sỹ
Trang 21
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Một database có thể được phân chia về mặt logic thành các đơn vị gọi là các
tablespaces, Tablespaces thường bao gồm một nhóm các thành phần có quan hệ logic
với nhau.
Databases, Tablespaces, và Datafiles
Mối quan hệ giữa các databases, tablespaces, và datafiles có thể được minh hoạ
bởi hình vẽ sau:
Hình vẽ 3. Quan hệ giữa database, tablespace và datafile
Có một số điểm ta cần quan tâm:
Mỗi database có thể phân chia về mặt logic thành một hay nhiều tablespace.
Mỗi tablespace có thể được tạo nên, về mặt vật lý, bởi một hoặc nhiều datafiles.
Kích thước của một tablespace bằng tổng kích thước của các datafiles của nó.
Ví dụ: trong hình vẽ ở trên SYSTEM tablespace có kích thước là 2 MB còn
USERS tablespace có kích thước là 4 MB.
Luận Văn Thạc Sỹ
Trang 22
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Kích thước của database cũng có thể xác định được bằng tổng kích thước của
các tablespaces của nó. Ví dụ: trong hình vẽ trên thì kích thước của database là 6
MB.
Schema và Schema Objects
Schema là tập hợp các đối tượng (objects) có trong database. Schema objects là
các cấu trúc logic cho phép tham chiếu trực tiếp tới dữ liệu trong database. Schema
objects bao gồm các cấu trúc như tables, views, sequences, stored procedures,
synonyms, indexes, clusters, và database links.
Data Blocks, Extents, and Segments
Oracle điểu khiển không gian lưu trữ trên đĩa cứng theo các cấu trúc logic bao
gồm các data blocks, extents, và segments.
Oracle Data Blocks: Là mức phân cấp logic thấp nhất, các dữ liệu của Oracle database
được lưu trữ trong các data blocks. Một data block tương ứng với một số lượng nhất
định các bytes vật lý của database trong không gian đĩa cứng. Kích thước của một data
block được chỉ ra cho mỗi Oracle database ngay khi database được tạo lập. Database sử
dụng, cấp phát và giải phóng vùng không gian lưu trữ thông qua các Oracle data
blocks.
Extents: Là mức phân chia cao hơn về mặt logic các vùng không gian trong database.
Một extent bao gồm một số data blocks liên tiếp nhau, cùng được lưu trữ tại một thiết
bị lưu giữ. Extent được sử dụng để lưu trữ các thông tin có cùng kiểu.
Segments: là mức phân chia cao hơn nữa về mặt logic các vùng không gian trong
database. Một segment là một tập hợp các extents được cấp phát cho một cấu trúc
logic. Segment có thể được phân chia theo nhiều loại khác nhau:
Luận Văn Thạc Sỹ
Trang 23
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Mỗi một non-clustered table có một data segment. Các dữ liệu trong
một table được lưu trữ trong các extents thuộc data segment đó. Với
một partitioned table thì mỗi each partition lại tương ứng với một data
Data
segment.
segment
Mỗi Cluster tương ứng với một data segment. Dữ liệu của tất cả các
table trong cluster đó đều được lưu trữ trong data segment thuộc
Cluster đó.
Mỗi một index đều có một index segment lưu trữ các dữ liệu của nó.
index
segment
Trong partitioned index thì mỗi partition cũng lại tương ứng với một
index segment.
Một hoặc nhiều rollback segments của database được tạo lập bởi
người quản trị database để lưu trữ các dữ liệu trung gian phục vụ cho
việc khôi phục dữ liệu.
rollback
Các thông tin trong Rollback segment được sử dụng để:
segment
Tạo sự đồng nhất các thông tin đọc được từ database
Sử dụng trong quá trình khôi phục dữ liệu
Phục hồi lại các giao dịch chưa commit đối với mỗi user
Temporary segments được tự động tạo bởi Oracle mỗi khi một câu
temporary
lệnh SQL statement cần đến một vùng nhớ trung gian để thực hiện các
segment
công việc của mình như sắp xếp dữ liệu. Khi kết thúc câu lệnh đó, các
extent thuộc temporary segment sẽ lại được hoàn trả cho hệ thống.
Bảng 1: các khái niệm cơ bản trong Oracle
Oracle thực hiện cấp phát vùng không gian lưu trữ một cách linh hoạt mỗi khi
các extents cấp phát đã sử dụng hết.
Các cấu trúc vật lý khác
Luận Văn Thạc Sỹ
Trang 24
Phengthong Chememalay
ỨNG DỤNG THỰC TẾ CÔNG NGHỆ ORACLE RAC TẠI UNITEL LÀO
Ngoài ra, Oracle Server còn sử dụng các file khác để lưu trữ thông tin. Các file đó bao
gồm:
Parameter file: Parameter file chỉ ra các tham số được sử dụng trong database.
Người quản trị database có thể sửa đổi một vài thông tin có trong file này. Các
tham số trong parameters file được viết ở dạng văn bản.
Password file: Xác định quyền của từng user trong database. 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.
2.2 Công nghệ Oracle RAC
2.2.1 Giới thiệu chung về Oracle RAC:
Oracle RAC là một môi trường CSDL chia sẻ với nhiều nút máy chủ chia sẻ các
thực thể CSDL, với việc chia sẻ truy cập đồng thời tới hệ thống lưu trữ. Tháng 112003, hãng Gartner đã phân tích cách sử dụng và triển khai phiên bản Oracle Database
9i RAC. Tại thời điểm đó, RAC cũng đã được tin cậy và cung cấp khả năng sẵn sàng
và khả năng mở rộng được cải tiến. Tuy nhiên, nó cũng rất phức tạp và yêu cầu các
quản trị viên phải có kinh nghiệm chuyên môn rất cao để thực sự vận hành hiệu quả.
Tính phức tạp là nhân tố kiềm chế sự phổ biến của RAC.
Năm năm tiếp theo ra đời nhiều phiên bản mới Oracle đã cải tiến một cách đáng
kể khả năng quản trị hệ thống RAC và do đó giảm bớt yêu cầu kỹ năng cần có để triển
khai và quản trị hệ thống. Tuy vậy, RAC không phải áp dụng cho mọi ứng dụng.
Đến cuối năm 2003, Oracle đã có khoảng 1,000 khách hàng triển khai RAC; và
hiện nay RAC đã trở thành xu hướng chủ đạo. RAC chạy trên tất cả các nền tảng được
Oracle hỗ trợ với Linux là nền tảng được lựa chọn. Gần 30% các hệ thống RAC trên
thực tế được triển khai trên Linux.
Luận Văn Thạc Sỹ
Trang 25
Phengthong Chememalay