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. 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ó 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:
Trang 1Mụ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
Trang 2Danh 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
RAC Real Application Cluster
RDBMS Relational Database Management
System
TCP Transmission Control Protocol
Danh mục hình vẽ
Trang 3Lờ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
Trang 4Chươ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ó
Trang 5phạ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
Trang 6tà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
Trang 7mở (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ữ….)
Trang 8Chươ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ó
Trang 9hiế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
Trang 10RAC 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
Trang 11Oracle 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
Trang 12Hì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á
Trang 13trình cài đặt Oracle Clusterware Đây là tiến trình xử lý đầu tiên được khởi động trong Oracle Clusterware
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
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 :
100 lần 10Mbps Ethernet và gấp 10 lần so với 100Mbps Fast Ethernet
Trang 14 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:
Tối đa 2gb tin trong 1 lượt truyền
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
Trang 15CSDL 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
Trang 16Hì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ừ
Trang 17mộ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