Tải bản đầy đủ (.doc) (34 trang)

Tính toán lưới trên 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 (605 KB, 34 trang )

GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Mục lục
Mục lục 1
Danh mục từ viết tắt 2
Danh mục hình vẽ 2
1.1. Tính toán lưới là gì? 4
1.2. Tại sao lại phát triển tính toán lưới ? 5
1.3. So sánh tính toàn lưới với một số mô hình tính toán khác 6
2.1. RAC (Real Application Clusters) 8
2.2. Kiến trúc RAC 10
2.3. Database file trong RAC 15
2.4. Tính nhất quán trong RAC 18
2.5. Quản lý các nguồn tài nguyên 19
2.6. Quản lý khóa 22
2.7. Quản lý lưu trữ 23
2.7.1. Đĩa 23
2.7.2. RAID 25
2.7.3. Sự hoạt động của dữ liệu 26
2.7.5. Tùy chọn lưu trữ cho RAC 28
2.7.6 Quản lý lưu trữ tự động (ASM – Automatic Storage Management) 28
2.8. Phục hồi (Recovery) 29
2.8.1 Khôi phục cache 30
2.8.2 Phục hồi giao dịch 30
2.8.3 Phục hồi khối trực tuyến 31
Nhóm 4 – AT8B 1
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Danh mục từ viết tắt
Từ viết tắt Phiên âm tiếng anh Phiên âm tiếng việt
CNTT Công nghệ thông tin
CSDL Database Cơ sở dữ liệu
GC Grid Control Trình điều khiển lưới


RAC Real Application Cluster
WWW World Wide Web
RDBMS
Relational Database Management
System
TCP Transmission Control Protocol
Danh mục hình vẽ
Nhóm 4 – AT8B 2
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Lời nói đầu
Oracle database là một hệ quản trị cơ sở dữ liệu quan hệ của Oracle, được
tích hợp để cho phép quản lý thông tin một cách toàn diện. Hiện nay, Oracle
database là một trong những cơ sở dữ liệu mạnh nhất được sử dụng nhiều trong
các ngân hàng, doanh nghiệp, tổ chức lớn. Cùng với sự phát triển của công nghệ
thông tin ngày càng có nhiều công nghệ mới ra đời, trong đó phải kể đến điện
toán lưới. Việc kết hợp Oracle với điện toán lưới mở ra một hướng đi mới về dữ
liệu trên điện toán lưới. Các phiên bản hệ quản trị cơ sở dữ liệu của Oracle như
Oracle 10g, Oracle 11g được xây dựng để tích hợp với điện toán lưới.
Dưới đây là nội dung tìm hiểu của chúng em với đề tài “Tính toán lưới
với Oracle 10g” . Với những nội dung chính sau:
Chương 1: Giới thiệu về Grid Computing – Tính toán lưới
Chương 2: Tính toán lưới trên Oracle 10g
Vì thời gian có hạn nên trong quá trình thực hiện đề tài còn nhiều thiếu
sót, chúng em rất mong nhận được sự góp ý của cô để hoàn thiện hơn đề tài này.
Nhóm 4 – AT8B 3
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Chương I : Giới thiệu Grid Computing - Tính toán lưới
1.1. Tính toán lưới là gì?
Tính toán phân nhánh là một nhánh nghiên cứu quan trọng trong tính
toán hiệu năng cao (High Performance Computing). Năng lực xử lý của các máy

tính ngày càng tăng, kết hợp với sự ra đời của các hạ tầng mạng tốc độ cao đã
thúc đẩy sự phát triển của các hệ thống xử lý phân tán. Mặt khác, nhu cầu tính
toán của con người ngày càng cao, yêu cầu thời gian thực thi các ứng dụng phải
được rút ngắn, do đó, hiện nay có rất nhiều nghiên cứu tập chung vào lĩnh vực
xử lý phân tán.
Khái niệm tính toán lưới được đưa ra lần đầu vào thập niên 90 với nghĩa
ẩn dụ là làm cho việc sử dụng máy tính dễ dàng như việc sử dụng điện năng.
Dưới đây là định nghĩa về Grid được đưa ra bởi tiến sỹ Ian Foster – người đầu
tiên đưa ra định nghĩa về điện toán lưới:
“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa
chọn, kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác
nhau dựa trên tinh thần sẵn sàng, khả năng, chi phí của chúng và yêu cầu về
chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng
có quy mô lớn trong khoa học, kỹ thuật và thương mại. Từ đó hình thành nên
các ” tổ chức ảo” (Virtual Organization(VO)), các liên minh tạm thời giữa các
tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng
nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về
tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên mạng máy tính”.
Grid computing là một trong những công nghệ mới trong lĩnh vực tính
toán phân tán. Grid computing là đề tài được tập chung nghiên cứu bởi nhiều tổ
chức cũng như các tập đoàn lớn về công nghệ thông tin như IBM, Oracle, Sun
MicroSystems,….và trong các trường, viện nghiên cứu.
Tính toán lưới ra đời giúp việc phối hợp hoạt động của các hệ thống tính
toán nằm phân tán nhau về mặt địa lý trở nên dễ dàng hơn. So với công nghệ ra
đời trước là máy tính cụm (Cluster computing), công nghệ tính toán lưới có
Nhóm 4 – AT8B 4
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
phạm vi phân tán và hoạt động rộng hơn. Mỗi một cluster có thể trở thành một
phần tính toán trong hệ thống lưới. Công nghệ lưới không đòi hỏi các thành
phần có sự tương đồng với nhau về cấu trúc, năng lực xử lý. Có thể xem môi

trường lưới là một tập hợp rất nhiều các tài nguyên tính toán và có cấu trúc
không đồng nhất. Sử dụng công nghệ tính toán chúng ta có thể xây dựng một hệ
thống bao gồm hàng trăm, hàng triệu bộ xử lý.
Dưới đây là những đặc điểm quan trọng của một hệ thống lưới mà Ian Foster
đưa ra:
- Hệ thống lưới không bị ràng buộc bởi một cơ chế quản lý tập chung mà là sự
phối hợp các tài nguyên phân tán. Các tài nguyên vẫn là tài sản riêng của các tổ
chức khác nhau, có những chính sách hoạt động, bảo mật độc lập riêng của từng
tổ chức quy định.
- Hệ thống lưới phải sử dụng các giao thức mở, chuẩn hóa: do các tài nguyên
độc lập và thuộc quản lý của nhiều tổ chức nên các giao tiếp giữu chúng phải
tuân theo quy tắc chung và được chuẩn hóa. Điều này đòi hỏi quá trình nghiên
cứu về công nghệ lưới phải có sự tham gia, phối hợp của nhiều tổ chức.
- Hệ thống lưới phải chú trọng, quan tâm đến chất lượng dịch vụ: một hệ thống
lưới đúng nghĩa phải bảo đảm thời gian thực thi ứng dụng nhanh chóng, khả
năng sẵn sàng phục vụ và khả năng chịu lỗi cao. Vì môi trường lưới sẽ là môi
trường thực thi các ứng dụng rất lớn nên điều này là một đòi hỏi quan trọng.
1.2. Tại sao lại phát triển tính toán lưới ?
Sự phát triển nhanh chóng của công nghệ đã tạo ra những sản phẩm mang
tính đột phá trong công nghệ sản xuất phần cứng giúp tạo ra các hệ thống máy
tính ngày càng mạnh. Sự phát triển nhanh chóng của công nghệ mạng khiến khả
năng kết nối những hệ thống máy tính với nhau cũng dễ dàng hơn.
Các tổ chức, doanh nghiệp có cơ sở hạ tầng CNTT nằm rải rác khắp nơi.
Phần cứng và phần mềm trong hệ thống của tổ chức hoặc được sử dụng đúng
mức hoặc không đúng mức gây ra thiếu hoặc thừa tài nguyên. Điều này ảnh
hưởng rất nhiều đến hoạt động của tổ chức, doanh nghiệp. Khi nhu cầu sử dụng
Nhóm 4 – AT8B 5
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
tài nguyên của các tổ chức, doanh nghiệp không cao sẽ dẫn đến lãng phí tiền
của, ngược lại khi nhu cầu của họ cao mà các tài nguyên này không đáp ứng đủ

sẽ làm cho công việc của họ bị ngưng trệ. Trong rất nhiều tổ chức (các trường
đại học, viện nghiên cứu…) hệ thống máy tính được vận hành hết khả năng. Hầu
hết các máy tính để bàn chỉ được khai thác khoảng 30% khả năng hoạt động,
ngay cả các máy chủ cũng có rất nhiều thời gian rảnh rỗi. Việc kết nối các tài
nguyên rảnh rỗi sẽ mang lại nguồn lợi lớn, tiết kiệm chi phí đầu tư và vận hành.
Một ví dụ nổi bật khi kết nối các máy tính nhàn rỗi lại là Search for Extra-
Terrestrial Intelligence At Home (SETI@home), đây là một dự án tính toán khai
thác sức mạnh sử lý của 5.000.000 máy tính nhàn rỗi, các máy tính này được kết
nối Internet với nhau để phân tích dữ liệu tín hiệu từ kính viễn vọng vô tuyến để
tìm sự sống ngoài trái đất.
Nhu cầu phối hợp, chia sẻ kết quả công việc: con người đang phải giải
quyết các vấn đề ngày càng phức tạp. Nếu mỗi tổ chức đều muốn riêng lẻ thực
thi những nghiên cứu của mình, chi phí đầu tư cho những thiết bị chuyên dụng
có thể sẽ rất đắt. Tính toán lưới cho phép tận dụng tài nguyên chuyên biệt của
nhiều tổ chức như: thiết bị đo đạc nhiệt độ, hướng gió, ….với các tài nguyên
tính toán mạnh mẽ của các viện nghiên cứu, doanh nghiệp. Điều này sẽ giúp các
tổ chức giảm được chi phí đầu tư và khả năng chia sẻ kết quả nghiên cứu của
các tổ chức với nhau.
Những người dùng thông thường trước đây hầu như không có cơ hội tiếp
xúc với những hệ thống siêu máy tính vì chí phí quá cao. Với sự ra đời của hệ
thống lưới, khả năng tiếp cận với các hệ thống này trở nên khả thi hơn rất nhiều.
Sự ra đời của tính toán lưới đã giúp con người có trong tay những công cụ và
phương pháp làm việc mới, hiện đại hơn phục vụ cho nhu cầu ngày càng cao của
mình.
1.3. So sánh tính toàn lưới với một số mô hình tính toán khác
a. World Wide Web (Web computing): WWW hiện nay đang phát triển rất
mạnh mẽ và được sử dụng rộng khắp. Sử dụng các chuẩn mở và các giao thức
Nhóm 4 – AT8B 6
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
mở (TCP, HTML, XML, SOAP). WWW có thể được sử dụng để xây dựng các

tổ chức ảo, tuy nhiên nó thiếu một số đặc tính quan trọng như các cơ chế chứng
thực một lần, ủy nhiệm, các cơ chế phối hợp sự kiện….
b. Các hệ thống tính toán phân tán (Distributed computing systems): một số
công nghệ tính toán phân tán hiện tại như CORBA, J2EE và DCOM rất thích
hợp cho các ứng dụng phân tán, tuy nhiên chúng không cung cấp một nền tảng
phù hợp cho việc chia sẻ tài nguyên giữa các thành viên trong tổ chức ảo. Công
nghệ này khó khăn trong việc khai thác tài nguyên, đảm bảo an ninh và xây
dựng động các tổ chức ảo. Thêm nữa việc tương tác giữa các công nghệ này
cũng gặp phải khó khăn. Tuy nhiên cũng đã có một số nghiên cứu nhằm mở
rộng những công nghệ này cho môi trường lưới, ví dụ như Java JINI.
c. Các hệ thống tính toán ngang hàng (Peer – to –peer Computing System):
tính toán ngang hàng cũng là một lĩnh vực của tính toán phân tán. Những đặc
điểm khác biệt chính giữa tính toán ngang hàng và tính toán lưới là:
- Tính toán lưới có cộng đồng người sử dụng có thể nhỏ hơn tuy nhiên tập
chung nhiều vào các ứng dụng và có yêu cầu cao hơn về an ninh cũng như tính
toàn vẹn của ứng dụng. Trong khi các ứng dụng và có yêu cầu cao hơn về an
ninh cũng như tính toàn vẹn của ứng dụng. Trong khi đó các hệ thống mạng
ngang hàng có thể có số người sử dụng rất lớn bao gồm cả các người dùng đơn
lẻ và các tổ chức tuy nhiên không đòi hỏi cao về an ninh và mô hình chia sẻ tài
nguyên cũng đơn giản hơn.
- Môi trường lưới liên kết các nguồn tài nguyên mạnh hơn, đa dạng hơn và chặt
chẽ hơn.
d. Tính toán phân cụm: Tính toán lưới thường bị nhầm lẫn với tính toán
phân cụm. Tuy nhiên sự khác biệt chính giữa hai kiểu tính toán này là: cụm tính
toán là một tập hợp các nút tính toán tập chung trên một khu vực địa lý nhất
định, trong khi một lưới bao gồm nhiều cụm tính toán và những loại tài nguyên
khác nhau (như mạng, thiết bị lưu trữ….).
Nhóm 4 – AT8B 7
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Chương II : Tính toán lưới với Oracle 10g

Oracle 10g cung cấp cho cơ sở hạ tầng phần mềm các thuộc tính sẵn có
trước đây và bổ xung thêm các giải pháp cho tính toán lưới. Cơ sở hạ tầng phần
mềm bao gồm ba tầng chính là:
- Oracle Database Clustering: tính năng nhóm các CSDL Oracle 10g lại với nhau
được sử dụng thông qua Real Application Cluster (RAC). RAC là một thành
phần giúp hai (hay nhiều) CSDL Oracle vật lý có thể chia sẻ dữ liệu với nhau.
- Oracle Application Server: là hệ thống máy chủ ứng dụng dùng cho tính toán
lưới, có hỗ trợ đầy đủ các tính năng cho J2EE và tính toán lưới. Các phần mềm
hệ thống cổng giao dịch dành cho doanh nghiệp được tích hợp sẵn, tốc độ sử lý
giao dịch cao, tìm kiếm thông tin doanh nghiệp….
- Enterprise Manager Grid Control: cung cấp giải pháp quản lý các lớp khác
nhau trong hệ thống của doanh nghiệp (ví dụ: giao diện quản trị Web, máy chủ
ứng dụng, máy chủ CSDL, và hệ thống lưu trữ). Grid Control (GC) cung cấp
một cách quản lý được đơn giản hóa để tập chung quản lý các nguồn lực của
doanh nghiệp và phân tích hiệu suất của một hệ thống lưới. Quản trị viên có thể
quản lý môi trường lưới thông qua giao diện web.
Để hiểu rõ hơn về hệ thống lưới trên Oracle 10g ta sẽ đi tìm hiểu xem
RAC là gì, kiến trúc của nó, cũng như cách quản lý các cơ sở hạ tầng của nó như
thế nào.
2.1. RAC (Real Application Clusters)
RAC được xem như là phần mở rộng của cấu hình single-instance. Đúng
vậy vì RAC là một thành phần của Oracle. Tuy nhiên, có một vài sự khác biệt
nhỏ giữa quản lý các thành phần này là: quá trình xử lý nền, thêm file, và chia sẻ
tài nguyên giữa các thành phần, mà không quan tâm tới các lớp thành phần được
thêm vào tại mức HĐH để hỗ trợ môi trường phần cứng. Tất cả các thành phần
được thêm vào hệ thống RAC tạo nên sự khác biệt so với single-instance. Điểm
khác biệt thực chất giữa một CSDL và một thành phần cũng được chú ý trong
RAC. Trong khi sự khác biệt này đã tồn tại trong cấu hình single-instance, nó
Nhóm 4 – AT8B 8
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle

hiếm khi được chú ý vì một CSDL và một thành phần không được phân biệt
nhau như trong RAC.
RAC hỗ trợ tất cả các tính năng chuẩn của Oracle, như xác nhận nhanh,
thích hợp với nhóm, và ghi chậm. Nó cũng hỗ trợ chuẩn hóa mức thấp thông qua
các thành phần. Việc chặn có thể bị chia sẻ bởi các đa giao dịch, truy cập vào dữ
liệu từ bất kỳ thành phần nào tham gia vào cấu hình nhóm.
Dưới đây là các đặc trưng của RAC so với hệ thống Single-instance:
- Các thành phần của Oracle chạy trên các nút.
- Các thành phần chia sẻ một CSDL đơn.
- Tất cả thành phần có dữ liệu và kiểm soát.
- Mỗi thành phần có một file log độc lập và phân khúc.
- Tất cả các thành phần có thể thực thi giao dịch đồng thởi trên
CSDL đơn.
- Các thành phần tham gia vào cấu hình nhóm truyền thông thông
qua kết nối nhóm sử dung bộ nhớ đệm.
- Bộ đệm Oracle đồng bộ giữa các thành phần thông qua kết nối.
Hình 1: Một hệ thống RAC
Nhóm 4 – AT8B 9
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
RAC cung cấp bổ xung các lợi ích về hiệu suất qua việc cho phép các tính
năng sau :
- Bộ đệm hợp nhất: là một công nghệ cho phép các yêu cầu chặn đặc biệt
thỏa mãn thông qua kết nối nhóm.
- Trình tự phát: Tất cả các chủ thể, gồm STT trong chia sẻ CSDL là có thể
truy cập từ một hoặc nhiều thành phần.
- SCN (System Change Number): SCN thực hiện trên một thành phần, được
truyền thông thông qua kết nối nhóm tới các thành phần khác, cung cấp một cái
nhìn về trạng thái giao dịch.
- Failover: Một cấu hình cluster chứa hai hoặc nhiều hơn các nút tham gia
vào cấu hình. Trong một CSDL nhóm, kiểu cấu hình này cung cấp dự phòng

ứng dụng bằng cách cho phép tái kết nối tới CSDL sử dụng một thành phần còn
hoạt động khác trong trường hợp kết nối tới thành phần lúc đầu bị lỗi.
- Quản lý phân phối công việc: Bằng việc phân phối công việc thông qua
các thành phần khác nhau, dựa trên các chức năng của ứng dụng và yêu cầu tài
nguyên hệ thống.
- Khả năng mở rộng: Bằng việc cho phép thành viên của nhóm có thể bỏ
hoặc gia nhập nhóm, RAC cung cấp khả năng mở rộng. Nó cho phép thêm các
cấu hình dựa vào việc gia tăng công việc của người dùng.
- Cân bằng tải: Một nhóm CSDL có chứa hai hoặc nhiều hơn các thành phần
giúp cân bằng tải, cho phép cân bằng tài nguyên trên các thành phần của nhóm.
Cân băng tải cũng giúp tăng khả năng mở rộng mạng.
2.2. Kiến trúc RAC
Là 1 tính năng mới trong Oracle 10g, RAC cung cấp 1 nhóm giao diện
chuẩn trên tất cả các nền tảng:
Kiến trúc của Oracle Clusterware: Bên cạnh các thành phần khác nhau
tạo nên nhóm và hạ tầng phần cứng trong môi trường RAC, các nút có các
thông tin và được đồng nhất thông qua một thành phần nhân được gọi là quản lý
nhóm. Quản lý nhóm luôn sẵn sàng bởi các máy hỗ trợ 1 giải pháp phần cứng.
Nhóm 4 – AT8B 10
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Oracle Clusterware là thành phần chính của trong cấu hình và cài đặt của RAC.
Ngoài ra Oracle Clusterware còn có thể kết hợp với một clusterware của một
bên thứ 3. Khi bên thứ 3 này được tích hợp, Oracle Clusterware sẽ tích hợp nó
để cung cấp một điểm duy nhất cho nhóm.
Oracle Clusterware Registry (OCR): OCR là một nhóm registry được sử
dụng để duy trì các tài nguyên ứng dụng và luôn sẵn sàng trong mô trường
RAC. Registry là các file được tạo trong hệ thống con chia sẻ lưu trữ trong quá
trình cài đặt Oracle Clusterware. OCR chứa thông tin của các nhóm RAC, được
duy trì và cập nhật bởi các ứng dụng client. OCR cũng duy trì nguồn ứng dụng
được định nghĩa trong Oracle Clusterware, đặc biệt là CSDL, thành phần, dịch

vụ, và thông tin nút ứng dụng. Oracle Clusterware đọc file ocr.loc (tại thư mục
/etc/ trong Linux hay trong Registry của Window), nó nằm trên registry và xác
định nguồn ứng dụng nào cần khởi động lại và nút nào sẽ khởi động lại nó.
Oracle sử dụng kiến trúc chia sẻ bộ nhớ đệm trong tiến trình quản lý nhóm để tối
ưu hóa các truy vấn. Mỗi nút duy trì bản copy của OCR trong bộ nhớ. Oracle
Clusterware sử dụng tiến trình xử lý cơ bản để truy nhập bộ nhớ đệm OCR. Như
mô tả trong hình 2, chỉ một tiến trình OCR trong nhóm thực hiện việc đọc/ghi
đĩa. Sau khi các thông tin mới được đọc bởi tiến trình OCR, nó sẽ refresh bộ nhớ
đệm OCR nội bộ và bộ nhớ đệm OCR trên các nút khác của nhóm. Vì các bộ
nhớ OCR được kết nối với nhau thông qua các nút trong nhóm, các máy OCR
client truyền thông trực tiếp với tiến trình OCR nội bộ trong các nút để thu về
các thông tin cần thiết. Trong khi đọc các thông tin từ registry được tổ chức
thông qua các tiến trình chính trên nhóm, bất kỳ việc ghi (cập nhật) lên
đĩa/registry sẽ không được tập trung.
Nhóm 4 – AT8B 11
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Hình 2: Kiến trúc ORC.
Tiến trình ORC trên nút ORADB2 làm việc như một trình chủ, và lấy
thông tin từ kho và cập nhật tiến trình bộ nhớ đệm OCR trên tất cả các nút của
nhóm. Trong hình 2, các client xử lý như: EM Agent, tiện ích srcvtl và OUI,
được gắn vào tiến trình OCR, thực hiện cập nhật file OCR chứa thông tin liên
quan đến tất cả các tầng của nhóm CSDL. Bóc tách file OCR này sẽ thấy các
tham số khác nhau được lưu trữ, vd tên-giá trị dùng và duy trì tại một kiến trúc
có mức độ khác nhau. Mỗi 1 tầng được quản lý và quản trị bởi tiến trình
daemon: với đặc quyền thích hợp. Ví dụ, tất cả các mức tài nguyên SYSTEM
hoặc ứng dụng sẽ đòi hỏi root hoặc superuser, đặc quyền để khởi động, dừng và
thực thi tài nguyên tại mức này. Tuy nhiên những cái trên tại mức DATABASE
sẽ đòi hỏi đặc quyền dba để thực thi.
• Cluster Synchronization Service (CSS): CSS là thành phần con của
Oracle Clusterware. Nó duy trì các thành viên trong nhóm thông qua 1 file đặc

biệt được gọi là voting disk, đây cũng là một hệ thống lưu trữ chia sẻ có thể thấy
tại tất cả các nút tham gia vào nhóm. CSS voting disk được cấu hình trong quá
Nhóm 4 – AT8B 12
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
trình cài đặt Oracle Clusterware. Đây là tiến trình xử lý đầu tiên được khởi động
trong Oracle Clusterware.
• Oracle Clusterware Stack: Tại mức này, việc xử lý chính của Oracle
Clusterware là cung cấp 1 giao diện chuẩn nhóm trên tất cả các nền tảng và thể
hiện mức sẵn sàng cao trên mỗi nút của cluster. Hình dưới mô tả các xử lý khác
nhau đã tạo nên Oracle Clusterware Stack.
• Kết nối Cluster: Như từ “kết nối”, kết nối nhóm thực hiện kết nối tất cả
các máy tính lại với nhau. Điểm khác biệt của mỗi mạng này là một mạng thông
thường giữa các máy tính được sử dụng cho user truy cập, truy cập công cộng,
do đó có tên mạng công cộng. Kết nối, theo nghĩa khác, là chỉ được sử dụng bới
2 máy tính để truyền thông với nhau, nó không sẵn sàng cho truy cập công
cộng, ít nhất là một cách trực tiếp. Do đó nó được gọi là mạng riêng. Kết nối
cluster là một băng thông cao, độ trễ truyền thông được kết nối từ nút này tới nút
khác trong nhóm và định tuyến thông báo giữa các nút. Một số kiểu kết nối
truyền thống như Giagabit Ethernet và một kiểu đang dần phổ biến hiện nay là
Infiniband.
o Giagabit Ethernet được phát triển từ chuẩn 10Mbps Ethernet, 10 BASE-T
và chuẩn 100 Mbps Fast Ethernet, 100 BASE-TX và 100 BASE-FX. IEEE và 10
Gigabit Ethernet Alliance hỗ trợ phát triển 10 Gigabit Ethernet. Ưu điểm của sử
dụng Gigabit Ethernet so với các loại trước :
 Giga Ethernet nhanh gấp
100 lần 10Mbps Ethernet và gấp 10 lần so với 100Mbps Fast Ethernet.
 Tăng tốc độ băng thông và
loại bỏ tình trạng cổ chai.
 Hiệu suất gấp đôi, cho phép
hỗ trợ ảo.

 Nó có khả năng tương thích
cài đặt dựa trên Ethernet và Fast Ethernet
Nhóm 4 – AT8B 13
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
 Lượng dữ liệu lớn có thể
được trên trên mạng
Oracle hỗ trợ và khuyên dùng UDP trên môi trường *NIX và TCP trên môi
trường Window như là lớp truyền thông trên các kết nối. UDP được đinh nghĩa
để tạo một datagram sẵn sàng truyền thông giữa các máy tính trong môi trường
kết nối mạng máy tính. Giao thức này giả định rằng IP là giao thức ở dưới được
sử dụng. TCP thiết lập luật cùng việc sử dụng IP để gửi dữ liệu theo một chuẩn
thông báo giữa các máy tính trên Internet. Trong khi IP giải quyết các vấn đề dữ
liệu, TCP giữ đơn vị cá nhân của đơn vị (call packet).
o Infiniband Teachnology: Do nhu cầu của Internet và tính toán phân cụm là
thách thức khả năng mở rộng, độ tin cậy, tính sẵn sàng và hiệu suất của server.
Kiến trúc Infiniband đại diện cho bước tiến mới tới công nghệ vào/ra và dựa trên
việc sưu tầm các nghiên cứu, hiểu biết, kinh nghiệm của các nhà lãnh đạo sản
xuất máy tính. Infiniband liên kết chuyên dữ liệu với tốc độ 2.5 Gbps, sử dụng
cả cable đồng cable quang cho phổ truyền. Nó có thể mang bất kỳ sự kết hợp
vào/ra, mạng và thông báo IPC. Kiến trúc của Infiniband có những đặc trưng
sau:
 Mức người dùng truy cập để chuyển tin.
 RDMA ở chế độ đọc/ghi.
 Tối đa 2gb tin trong 1 lượt truyền .
• Virtual IP or Virtual Interface (VI): Kiến trúc VI là 1 mức kiến trúc
truyền thông bộ nhớ mức người dùng được thiết kế để đạt độ trễ thấp, băng
thông mạng cao. VIP định nghĩa trong Oracle Clusterware 11g là một sự logic,
địa chỉ IP công cộng được giao tới nút. Nó không phải là dải vật lý tới card
mạng. Logic tự nhiên cho phép CRS để quản lý nó khởi động/dừng. Có 2 kiểu
VIP được hỗ trợ bởi Oracle Clusterware :

o Cấu hình CSDL VIP Oracle Clusterware 10g đòi hỏi việc sử dụng VIP
như giao diện thông thường giữa các nút trong CSDL server và client, giao diện
này gọi là CSDL VIP. Ưu điểm của việc dùng VIP khi tạo nên các kết nối tới
Nhóm 4 – AT8B 14
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
CSDL so sánh với kiểu TCP truyền thống. VIP cấu hình bởi Oracle Clusterware
cung cấp giao diện mạng tốt và sẵn sàng cao. Điều này làm được bằng việc di
chuyển địa chỉ VIP và quay trở lai acknowledgement (NAK), nguyên nhân để
client truy cập tới VIP khác từ một danh sách địa chỉ sẵn sàng. Vì khi VIP lỗi và
client cố gắng truy cập tới cổng 1521, nó nhận thất bại hơn là chờ đợi cho hết
thời gian timeout của TCP. Nó lấy lỗi ngay lập tức (hoặc NAK) vì IP là hoạt
động nhưng không có gì vì IP mở cổng để client cố gắng truy cập tới. Địa chỉ IP
bên nghe mở cổng sử dụng dòng (IP= FIRST) trong file listener.ora.
o Application VIP :Trong Oracle Database 10 Realease 2, Oracle giới thiệu
ứng dụng VIPs, cũng giống như CSDL VIPs, một điểm khác biệt là nó có thể
dùng truy cập tới ứng dụng của nút khi nó đang chạy. CSDL VIPs có thể chỉ
được sử dụng để truy cập tới ứng dụng (bên nghe) tại nút chủ cho VIP. Điều này
có nghĩa khi có một nút lỗi, và VIPs di chuyển tới một nút tồn tại, nó có thể sử
dụng bởi ứng dụng và VIP có thể cung cấp các acknowledgement.
2.3. Database file trong RAC
Trong một môi trường RAC, tất cả các file liên quan đến CSDL được chia
sẻ giữa các nút với nhau. Tuy nhiên, một file redo log, file lưu trữ log… không
được shared.
File thống số Server (Server Parameter file - SP): file SP chứa các định
nghĩa tham số khác nhau đòi hỏi thực hiện chức năng của các thành phần. Trong
khi tham số là các thành phần đặc biệt, giá trị tham số sẽ giống hệt nhau trên tất
cả các thành phần. File SP có một cấu trúc định nghĩa mới cho phép lưu trữ tất
cả tất cả các tham số trên tất cả các thành phần vào một file. File này có thể
được lưu trữ trên hệ thống con chia sẻ ổ đĩa với liên kết tới thư mục
$ORACLE_HOME/dbs cho phép hiển thị tới một file đơn từ tất cả các thành

phần. Vì hội đủ các điều kiện tham số, tên thành phần, tham số là một thành
phần đặc biệt. Nếu tham số không hội đủ các điều kiện với một tên thành phần
thì nó áp tất cả các thành phần vào nhóm.
Nhóm 4 – AT8B 15
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Hình 3: mô tả các file sử dụng trong cấu hình RAC.
File dữ liệu: File dữ liệu chứa dữ liệu chia sẻ bởi tất cả các thành phần
tham gia nhóm giống như chúng trên các hệ thống con chia sẻ đĩa. Trong quá
trình hệ thống con khởI động, Oracle khẳng định lại file nào là hiển thị và truy
cập được.
File kiểm soát: Lưu trữ trạng thái của kiến trúc vật lý của CSDL và quan
trọng trong hoạt động. File kiểm soát được chia sẻ trên tất cả các thành phần của
nhóm. Ví dụ, thông tin thành phần đặc biệt liên quan tới file redo log, thông tin
file log… thông tin backup Recovery Managemer có thể được thấy bởi từ điển
dữ liệu.
Online redo log File: Redo Log có thể chứa thông tin liên quan đến một
thành phần và nằm trong lưu trữ chia sẻ. Điều này giúp quá trình phục hồi lỗi
một thành phần. Khi trên một thành phần, user tạo ra dữ liệu, những thay đổi
này được lưu trữ trên rollback trong một không gian bảng. Định kỳ, hoặc trong
một trả lời tới một yêu cầu COMMIT, quá trình LOG WRITER ghi lại thông tin
trên log file. Trong cấu hình single-instance của Oracle, mỗi thành phần chứa ít
nhất 2 nhóm của file redo log. Để xác định một thiết lập redo log được tạo ra từ
Nhóm 4 – AT8B 16
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
một thành phần này tới thành phần khác, file redo log được tổ chức trong các
mục. Ví dụ, trong một cấu hình RAC bao gồm 2 nút, các truy vấn dưới đây mô
tả việc sử dụng của các THREAD và số GROUP :
Trong mỗi file log, Oracle ghi một bản ghi file kiểm soát để mô tả nó. Chỉ
mục của một bản ghi file kiểm soát được gọi tới chính số log của nó. Các số log
này tương đương số log nhóm.

Lưu trữ lại các tập tin ghi lại sự kiện: Lưu trữ các tập tin ghi lại các sự
kiện có liên quan đến một trường hợp cụ thể, lưu trữ tập tin, là bản sao của tập
tin ghi lại các sự kiện, có chứa thông tin liên quan đến một trường hợp cụ thể.
Tập tin ghi lại sự kiện có thể lưu trữ trên bộ nhớ chia sẻ hoặc cục bộ. Tuy nhiên,
để dễ dàng cho việc sao lưu và phục hồi, tập tin này phải nhìn thấy rõ trong tất
cả các trường hợp.
Các tập tin khác: Các tập tin có chứa thông tin về trường hợp cụ thể,
chẳng hạn như các bản ghi cảnh báo hoặc các dấu vết tập tin được tạo ra bởi các
nền tảng khác nhau và các quá trình nền trước.
Nhóm 4 – AT8B 17
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
2.4. Tính nhất quán trong RAC
Trong chế độ dự phòng cho người dùng với một phản ánh thống kê về các
hàng (rows) trong khi những người dùng khác sửa đổi các row và các thao tác
của họ lại chưa hoàn thành, Oracle duy trì việc phản ảnh thống kê trong việc đọc
dữ liệu. Một phản ánh thống kê của row cung cấp cho tất cả các người dùng một
cái nhìn phù hợp về các dữ liệu đó.
Quản lý rủi ro: Khi một người dùng thay đổi các dữ liệu trong một
CSDL, Oracle lưu trữ dữ liệu ban đầu (trước khi thay đổi được thực hiện) liên
quan đến một giao dịch với một phần rủi ro cho đến khi người sử dụng đã đưa ra
một cam kết hoặc hủy thao tác. Tại thời điểm đó, dữ liệu sửa đổi được lưu vĩnh
viễn trong cơ sở dữ liệu hoặc các thay đổi được hoàn tác và các dữ liệu ban đầu
được khôi phục.
Các tính năng quản lý rủi ro được kích hoạt bằng cách thiết lập các thông
số sau đây:
*.UNDO_MANAGEMENT = AUTO
SSKY1.UNDO_TABLESPACE = (undo tablespace name)
Trong một môi trường RAC, mỗi trường hợp tham gia trong cluster sẽ có
một bản sao undo tablespace riêng của mình để khôi phục lại. Ví dụ, lúc khởi
động, mỗi undo tablespace sẽ chứa 10 undo segment. Số lượng của các segment

được bổ sung online trong thời gian khởi động và được dựa trên các tham số
SESSIONS. Oracle phân bố khoảng một undo segment cho mỗi giao dịch. Đây
là kích thước theo thuật toán tự động phân bố cho tablespaces quản lý cục bộ.
Các thuật toán cơ bản là: 16 mức độ đầu tiên có kích thước 64 KB, 63 mức độ
tiếp theo là 1 MB, 120 mức độ tiếp theo là 8 MB, và tất cả các mức độ bổ sung
là 64 MB.
Phương pháp quản lý rủi ro cung cấp một số tính năng hoặc tùy chọn mới.
Một trong những tính năng là quay trở lại lịch sử để tái tạo lại một giao dịch.
Tính năng này được kích hoạt bằng cách thiết lập tham số UNDO_RETENTION
đến một giá trị thích hợp. Thiết lập tham số này cho phép các DBA chọn thời
Nhóm 4 – AT8B 18
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
điểm cũ để lấy bất kỳ dữ liệu cụ thể nào nếu như nó xuất hiện tại điểm đó bằng
cách sử dụng tính năng "truy vấn hồi tưởng". Tham số được thiết lập trong vài
giây và mặc định 900 giây. Ví dụ, nếu dữ liệu được giữ lại cho một khoảng thời
gian 24 giờ, tham số được thiết lập để một giá trị 86400.
Tất cả các quy tắc áp dụng cho trường hợp quản lý rủi ro duy nhất áp
dụng RAC, ngoại trừ trong trường hợp làm lại một tập tin ghi lại các sự kiện,
undo tablespace cũng nên được đặt trên một bộ lưu trữ chia sẻ.
2.5. Quản lý các nguồn tài nguyên
Căn cứ vào nhu cầu về sử dụng một tập tin cụ thể, tài nguyên được duy trì
trên các trường hợp được sử dụng nhiều nhất. Ví dụ, nếu SSKY1 được truy cập
vào một đối tượng A1 và đối tượng đã được xử lý khoảng 1.500 yêu cầu dữ liệu
từ người sử dụng, tất cả các trường hợp kết nối SSKY1, và trường hợp SSKY2
truy cập cũng cần thiết đến các đối tượng A1 cho 100 người sử dụng, rõ ràng là
SSKY1 sẽ có nhiều người dùng truy cập vào đối tượng A1 này. Do đó, trường
hợp SSKY1 sẽ được phân bổ như chủ tài nguyên cho đối tượng này, và GRD
(Global Resource Directory) cho đối tượng này sẽ được duy trì trên SSKY1. Khi
SKY2 yêu cầu thông tin từ đối tượng này, nó sẽ phải phối hợp với GCS (Global
Cache Services) và GRD trên SSKY1 để lấy / chuyển dữ liệu qua kết nối cluster.

Nếu mô hình sử dụng thay đổi, ví dụ, số lượng người dùng trên SSKY2
tăng đến 2.000 và trên SSKY1 giảm xuống đến 500, tiến trình GCS và GES
(Global Enqueue Service), sẽ kết hợp và đánh giá mô hình sử dụng hiện tại và
chuyển giao quản lý tài nguyên thông qua các kết nối đến SSKY2. Toàn bộ quá
trình quản lý lại các nguồn tài nguyên này được gọi là mối quan hệ tài nguyên.
Nói cách khác, mối quan hệ tài nguyên là việc sử dụng các nguồn tài nguyên
động quản lý lại để di chuyển vị trí của quản lý tài nguyên cho một tập tin cơ sở
dữ liệu với các trường hợp hoạt động khối thường xuyên xảy ra nhất.
Mối quan hệ tối ưu hóa hệ thống nguồn tài nguyên trong các tình huống
giao dịch cập nhật được thực hiện trên một trong những trường hợp. Nếu hoạt
Nhóm 4 – AT8B 19
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
động không được khoanh vùng, quyền sở hữu tài nguyên được phân phối đến
các trường một cách công bằng.
Hình 4, minh họa phân phối tài nguyên trong một nhóm bốn nút. Đó là các
các trường hợp SSKY1, SSKY2, SSKY3, SSKY4 và nguồn tài nguyên tương
ứng R1, R2, R3, R4, R5, R6, R7.
Hình 4: Quản lý nguồn tài nguyên
Quản lý tài nguyên trên các trường hợp mà tại đó các hoạt động của người
dùng là cao nhất cho phép tối ưu hóa trên cluster và giúp đạt được khối lượng
phân phối công việc và thời gian khởi động nhanh hơn. Trên một hệ thống bận
rộn, hiệu năng hệ thống có thể bị ảnh hưởng nếu khối lượng công việc thay đổi
liên tục trên hệ thống đó, dẫn đến sử dụng nguồn lực để thay đổi và, đến lượt nó
làm cho nguồn tài nguyên này hoạt động liên tục. Quá trình này cũng xảy ra khi
có một nút tham ra hoặc rời khỏi nhóm. Tuy nhiên, thay vì quản lý tất cả các
khóa/các nguồn tài nguyên trên tất cả các nút, Oracle sử dụng một thuật toán gọi
là “lazy remastering”. Theo thuật toán này, thay vì các nguồn cân bằng tải bằng
cách loại bỏ tất cả các nguồn tài nguyên và quản lý tài nguyên như nhau trên các
instances, Oracle chỉ quản lý các nguồn tài nguyên thuộc quyền sở hữu của
instances đã rời nhóm.

Nhóm 4 – AT8B 20
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Hình 5: Minh họa việc quản lý lại các nguồn lực từ trường hợp SSKY4
đến trường hợp SSKY2, và SSKY3 tương ứng.
Hình 5: Quản lý lại nguồn tài nguyên
Nếu trường hợp SSKY4 xảy ra lỗi, SSKY1 và SSKY2 sẽ tiếp tục làm chủ
các nguồn tài nguyên của chúng, cụ thể là R1 R2, R3, R4. Là một phần của quá
trình phục hồi, quản lý các nguồn tài nguyên trong trường hợp xảy ra lỗi, lúc đó
các nguồn tài nguyên này sẽ được làm chủ bởi một trong các instance còn lại.
Oracle sử dụng khái niệm quản lý lại và tự động đặt các nguồn tài nguyên lên
một trong các instance còn lại. Do đó, trong hình trên, R6 được thừa hưởng bởi
SSKY2 và R7 được kế thừa SSKY3, SSKY1 không bị ảnh hưởng.
Sau một khoảng thời gian, khi khối lượng công việc người sử dụng đã ổn
định (tức là phục hồi được hoàn thành), GCS và GES sẽ đánh giá lại tình hình và
thực hiện một hoạt động quản lý lại trên các trường hợp nơi mà nhu cầu cao.
Một hoạt động tương tự sẽ xảy ra khi một instance tham gia vào nhóm. Về cơ
bản, một tài nguyên được lấy ra từ mỗi instance có sẵn và chuyển đến các
instance tham gia vào nhóm.
Nhóm 4 – AT8B 21
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Quản lý lại cũng sẽ xảy ra khi một instance không hoạt động. Oracle yêu
cầu nguồn lực bổ sung để quản lý tổng thể tài nguyên khác. Trong hoàn cảnh
này, Oracle sẽ quản lý di chuyển nguồn tài nguyên mà không được truy cập đến
một instance ít hoạt động hơn.
2.6. Quản lý khóa
Trong trường hợp Oracle được cài đặt, nó sẽ là một cấu hình độc lập hoặc
một cấu hình đa instance, lúc đó sẽ có một số lượng đáng kể tài nguyên được
chia sẻ giữa các phiên (session). Những tài nguyên này có thể là một định nghĩa
bảng (table definition), giao dịch, hoặc bất kỳ loại cấu trúc có thể chia sẻ giữa
các phiên. Để đảm bảo rằng các phiên truy cập đến các tài nguyên này dựa trên

nhu cầu của chúng là đúng và hoạt động được thực hiện, Oracle sử dụng khóa
cho các tài nguyên này.
Ví dụ, một phiên cố gắng để thực hiện một truy vấn SQL: SELECT *
FROM PRODUCT, sẽ yêu cầu một khóa được chia sẻ trên bảng PRODUCT.
Khi một số lượng các phiên thử truy cập vào cùng một tài nguyên, Oracle sẽ
tuần tự xử lý bằng cách đặt một số các phiên trong một chế độ chờ cho đến khi
phiên vào trước đó hoàn thành công việc. Mỗi phiên khi truy cập vào các nguồn
tài nguyên này đòi hỏi phải có một khóa, và khi nó đã hoàn thành chức năng
hoặc thao tác, nó sẽ giải phóng các khóa. Các khóa được cấp bởi các phiên khi
người dùng cam kết cấp phát hoặc thực hiện câu lệnh DDL hoặc bởi tiến trình
SMON nếu phiên đã kết thúc.
Trong quá trình hoạt động, Oracle sẽ tự động thu các loại khóa khác nhau
ở các mức khác nhau tùy thuộc vào nguồn tài nguyên của các khóa và thao tác
được thực hiện. Có nghĩa là với mỗi thao tác và mỗi nguồn tài nguyên khác nhau
sẽ có một khóa khác nhau. Một hệ thống xử lý RAC là sự cấu thành từ hai hoặc
nhiều instance giao tiếp với một cơ sở dữ liệu chia sẻ. Do đó, tất cả các giao
dịch áp dụng cho một instance sẽ được áp dụng cho các instance khác trong
RAC.
Nhóm 4 – AT8B 22
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
Ngoài việc quản lý khóa DML, DDL, latch, và các khóa nội còn được áp
dụng cho một instance, việc quản lý khóa trong đa instance liên quan đến việc
cấu hình quản lý khóa trên các instance cụ thể nằm trong các kết nối cluster.
Một sự khác biệt lớn giữa cấu hình đơn instance và cấu hình đa instance là trong
khi các khóa tiếp tục được duy trì và quản lý ở các mức khác nhau, khi nói đến
đa khóa instance, thì khóa ở đây có mức cao hơn nhiều và các khóa này được tổ
chức ở mức khối. Một khối chứa các hàng hoặc các bản ghi dữ liệu.
2.7. Quản lý lưu trữ
Lưu trữ là một thành phần quan trọng của bất kỳ hệ thống máy tính nào kể
từ khi phát minh ra máy tính. Việc chuyển đổi từ các thiết bị lưu trữ có kích

thước lớn dung lượng nhỏ tới các thiết bị băng từ và ổ đĩa di động nhỏ, cầm tay
với khả năng lưu trữ lớn. Một hệ thống lưu trữ bao gồm một hoặc nhiều đĩa. Từ
phiên bản đầu tiên của Oracle, quản trị cơ sở dữ liệu (Database Administrator –
DBA) đã tích hợp thêm các đĩa có dung lượng nhỏ do lúc đó vẫn còn bị giới hạn
bởi số lượng đĩa do giới hạn của vào/ra. Việc sử dụng nhiều đĩa có nghĩa là số
đầu đọc/ghi nhiều hơn điều này làm cho hiệu suất tổng thể của CSDL tăng.
Ngày nay các đĩa này đã có dung lượng lớn hơn, hoạt động của vào/ra cũng
được cải thiện nên có thể kết nối nhiều đĩa với nhau hơn. Chính điều này đặt ra
vấn đề quản lý đĩa như thế nào là hợp lý để không làm ảnh hưởng đến hiệu suất
tổng thể của CSDL.
2.7.1. Đĩa
Một ổ đĩa bao gồm đĩa cứng hình trụ được bọc bằng vật liệu từ tính đặt
trong một hộp (vỏ thép) để giữa cho đĩa không chịu tác động từ môi trường
không khí bên ngoài làm hỏng đĩa và dứ liệu mà nó chứa bên trong. Thời gian
thực hiện để lấy dữ liệu từ một ổ đĩa được xác định bởi các yếu tố:
• Write rate: Số lượng dữ liệu có thể được truyền tải trên mỗi giây.
• Rotation speed: Tốc độ thực tế mà tại đó các đĩa hoặc đĩa cứng xoay cho
phép đầu đọc/ghi truy xuất hoặc lưu trữ dữ liệu.
Nhóm 4 – AT8B 23
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
• Seek time (Thời gian tìm kiếm): Thời gian trung bình cần thiết để tìm dữ
liệu trên đĩa cứng, thường là thành phần quan trọng nhất trong thời gian tổng thể
sử dụng dịch vụ đĩa, có nghĩa là cho đầu đọc di chuyển giữa các sector để xác
định vị trí của dữ liệu.
Đĩa cứng được tổ chức như một chồng đĩa phẳng, các bề mặt đĩa chứa
vòng tròn đồng tâm gọi là track, và những phần nhỏ hơn trên mỗi track gọi là
sector. Một sector là đơn vị cơ bản của lưu trữ dữ liệu trên một đĩa cứng. Các
vòng tròn sectors được định nghĩa như một track. Bởi vì các sector thì nhỏ dần
về phía trung tâm và to dần đối với bên ngoài của đĩa nên dung lượng dữ liệu
được lưu trữ trên những sector này là khác nhau, tùy thuộc vào vị trí của các

sector trên đĩa. Các sector ở ngoài đĩa thì đường kính lớn hơn và sẽ lưu trữ được
nhiều dữ liệu hơn các sector nhỏ hơn về phía trung tâm, lưu trữ được ít dữ liệu
hơn.
Hình 6: Cấu trúc đĩa
Điều gì sẽ xảy ra khi đĩa bị mất những thông tin quan trọng? Giải pháp đặt
ra là tạo các bản sao lưu của dữ liệu. Sao lưu dữ liệu quan trọng để lưu trữ và
khôi phục khi gặp sự cố là có khả thi, nhưng trong các hệ thống lớn, khi dữ liệu
được đọc, ghi trên đĩa liên tục và khi thời gian hoạt động của hệ thống là quan
trọng và cần thiết, nghĩa là thời gian lỗi và thời gian bị lỗi nên được giữ càng
thấp càng tốt. Do đó, vấn đề là có nhiều bản ghi của đĩa có thể nhân đôi và có
sẵn khi đĩa chính bị lỗi.
Nhóm 4 – AT8B 24
GVHD: Trần Thị Lượng Tính toán lưới trên Oracle
2.7.2. RAID
RAID (Redundant Array of Inexpensive Disks) là công nghệ giúp mở
rộng năng lực của hệ thống truy xuất vào/ra khi muốn sử dụng khả năng lưu trữ
dữ liệu dự phòng. RAID sử dụng hai hay nhiều ổ đĩa vật lý để tạo một ổ đĩa
logic, các ổ đĩa vật lý hoạt động song song sẽ làm tăng khả năng lưu trữ và băng
thông lớn hơn. RAID cung cấp khả năng mở rộng và tính sẵn sàng cao trong môi
trường truy xuất vào/ra và hiệu năng hệ thống.
RAID có các mức khác nhau, từ những phân chia đơn giản đến việc ánh
xạ đã cung cấp các mức chuẩn cho những loại dữ liệu khác nhau phù hợp với
từng công nghệ tương ứng. Sau đây là một số cấu hình RAID sử dụng cho
RDBMS:
- RAID 0: RAID 0 chia vùng dữ liệu đơn thành nhiều phần bằng nhau đặt
trên các đĩa, hiệu quả là mang lại cho phân vùng khả năng truy suất cao. Đơn vị
truyền dữ liệu trên các thiết bị gọi là các kích thước dải hay kích cỡ đoạn, tiêu
biểu là 32K , 64K, 128K. Nhưng khi có sự cố xảy ra với một đĩa thì tất cả dữ
liệu trên các đĩa khác đều không thể sử dụng được đây là nhược điểm lớn nhất
của RAID 0.

- RAID 1: RAID 1 được biết đến như một cái gương, và tất cả những gì
được ghi lại trên đĩa sẽ được sao chép vào đĩa khác. Điều này cung cấp một giải
pháp có tính sẵn sàng cao, nếu đĩa chính bị lỗi thì đĩa thứ 2, là một bản sao có
thể được sử dụng mà không có sự mất mát dữ liệu nào. Ngoài việc cung cấp khả
năng dự phòng cho dữ liệu trên đĩa, việc nhân bản cũng làm giảm các tranh chấp
đọc bằng các chỉ thị đọc trực tiếp lên đĩa khi nó hết bận.
- RAID 0 + 1 (RAID 01): RAID 01 là sự kết hợp của 2 mức 0 và 1. RAID
01 thể hiện chính xác những gì như tên gọi của nó, phân chia và nhân bản đĩa.
RAID 01 kết hợp lợi thế của cả 2 mức RAID 0 và RAID 1. Do đó, phương pháp
này là việc gộp nhóm và chia các dải, nếu một trong những dải đó lỗi thì cả hệ
thống lỗi. Điều này làm giảm đi khả năng phục vụ của thiết bị lưu trữ.
Nhóm 4 – AT8B 25

×