Cách đây không lâu, tôi cần nâng cấp Oracle Clusterware và RDBMS từ 11.1.0.7 lên 11.2.0.2. Tôi có rất nhiều kinh nghiệm với phần mềm Oracle RDBMS, nhưng tôi nghi ngờ rằng tôi giống hầu hết các DBA ở chỗ trải nghiệm Clusterware của tôi không ở cùng cấp độ với trải nghiệm RDBMS của tôi. Vì vậy, trong khi tôi không lo sợ về việc nâng cấp phần mềm RDBMS, tôi đã tiếp cận bản nâng cấp Clusterware với một mức độ lo lắng. Phải thừa nhận rằng sự không thoải mái này được sinh ra từ mức độ trải nghiệm sản phẩm thấp hơn. Vì vậy, trước khi cố gắng sản xuất, tôi đã thử nghiệm, kiểm tra và thử nghiệm nhiều nhất có thể.
Việc nâng cấp Clusterware diễn ra suôn sẻ nhờ vào nhiều kế hoạch và thử nghiệm.
Sau khi nâng cấp, tôi đã suy nghĩ về những gì đã đúng và những gì đã sai, và những gì tôi có thể làm khác đi trong tương lai. Tôi chợt nhận ra rằng mình có thể đã hoàn thành việc nâng cấp Clusterware, phá hủy phần mềm Clusterware và vẫn có thể cài đặt Clusterware từ đầu và có thể thiết lập và chạy cơ sở dữ liệu RAC của mình. Bài đăng này sẽ hiển thị các bước tôi đã thực hiện trong môi trường thử nghiệm để thực hiện tác vụ này. Vì vậy, nếu bạn thấy mình đã nâng cấp hoặc cài đặt Clusterware hoàn toàn rối rắm, đừng lo lắng vì miễn là bạn vẫn còn các tệp cơ sở dữ liệu của mình, bạn sẽ có thể bắt đầu và chạy mọi thứ. Nếu nâng cấp Clusterware không thành công, bạn sẽ phải khắc phục nguyên nhân gốc của lỗi trước khi tiếp tục. Vì vậy, nếu bạn có cấu hình kết nối cụm không hợp lệ hoặc bộ nhớ không hợp lệ cho đĩa biểu quyết của mình, bạn sẽ cần giải quyết những vấn đề đó và sau đó bạn có thể làm theo các bước sau.
Tôi có một cơ sở dữ liệu hợp lệ với tất cả các tệp dữ liệu của tôi trong bộ nhớ dùng chung có thể truy cập được bởi tất cả các nút trong cụm. Thử nghiệm của tôi có hai nút cho cụm. Nó cũng được giả định rằng cơ sở dữ liệu đã được tắt sạch. Bài báo này giả định tên cơ sở dữ liệu là ORCL.
Lưu ý:Nếu cơ sở dữ liệu của bạn mà bạn đang thêm vào RAC đã là một phần của RAC, bạn có thể bỏ qua các bước 9-11 bên dưới. Các bước 9-11 là bắt buộc nếu bạn cũng đang chuyển đổi cơ sở dữ liệu từ cơ sở dữ liệu đơn lẻ sang cơ sở dữ liệu Oracle RAC trong khi thêm nó vào Clusterware.
Các bước
1. Sao lưu lạnh các tệp dữ liệu cơ sở dữ liệu của bạn. Trong trường hợp có điều gì đó xảy ra, bạn luôn có thể khôi phục từ bản sao lưu bằng cách sao chép các tệp từ phương tiện.
2. Đảm bảo rằng các nút được dọn dẹp khỏi quá trình cài đặt / nâng cấp Clusterware. Tham khảo Metalink Note 239998.1 để được hướng dẫn chi tiết nếu cần.
3. Cài đặt Oracle Clusterware đúng cách. Bạn nên khắc phục các sự cố khiến bước này không thành công ngay từ đầu.
a. Xác minh rằng cụm đang hoạt động.
i. Máy chủ trạng thái $ CRS_HOME / bin / crsctl
1. Tất cả các nút trong cụm phải là ONLINE.
4. Cài đặt Oracle RDBMS trên cụm.
a. OUI sẽ phát hiện phần mềm cụm và đề nghị thực hiện cài đặt RAC.
5. Kích hoạt DBCA để tạo cơ sở dữ liệu shell. Chúng tôi sẽ sử dụng DBCA để thiết lập mọi thứ trong CRS cho chúng tôi.
a. Chọn các tùy chọn để tạo cơ sở dữ liệu RAC.
b. Sử dụng cùng tên với cơ sở dữ liệu hiện có của bạn.
c. Tạo cơ sở dữ liệu shell trên tất cả các nút trong cụm.
d. Sử dụng một vị trí chung cho các tệp cơ sở dữ liệu, nhưng không ghi đè lên các tệp dữ liệu hiện có của bạn.
6. Tắt cơ sở dữ liệu shell
a. srvctl dừng cơ sở dữ liệu –d orcl
7. Thiết lập SPFILE của bạn
a. Nếu bạn có SPFILE của cơ sở dữ liệu cũ của mình:
i. Đặt tệp trên đĩa dùng chung.
ii. Cập nhật $ ORACLE_HOME / dbs / initorcl.ora để trỏ đến vị trí SPFILE chính xác. Làm điều này trên tất cả các nút
b. Nếu bạn không có SPFILE, hãy tạo PFILE từ đầu và sau đó sử dụng lệnh CREATE SPFILE FROM PFILE để tạo SPFILE.
i. Đảm bảo tham số CONTROL_FILES trỏ đến đúng vị trí, không phải tệp điều khiển của cơ sở dữ liệu shell.
c. (Tùy chọn) Nếu bạn có tệp mật khẩu, hãy sao chép tệp đó vào bộ nhớ dùng chung rồi cập nhật liên kết mềm trong $ ORACLE_HOME / dbs (trên tất cả các nút) để trỏ đến tệp mật khẩu. Nếu chưa có tệp mật khẩu, bạn có thể tạo tệp sau nếu muốn.
8. Cập nhật CRS với vị trí SPFILE (gốc)
a. cd $ CRS_HOME / bin
b. ./srvctl cấu hình cơ sở dữ liệu –d orcl
i. Kết quả sẽ cho bạn biết SPFILE nằm ở vị trí của cơ sở dữ liệu shell
c. ./srvctl sửa đổi cơ sở dữ liệu –d orcl –p /correct_path/spfileorcl.ora
i. Thực hiện bước 8b để xác minh thay đổi đã diễn ra.
ii. Xác minh sự thay đổi trên nút khác. Bạn chỉ cần chạy lệnh sửa đổi này một lần cho tất cả các nút.
9. Sửa đổi nội dung của SPFILE.
a. sqlplus / nolog
b. kết nối / dưới dạng sysdba
c. tạo pfile =’/ home / oracle / pfile.txt’ từ spfile =’/ path_to_spfile / spfileorcl.ora’;
d. Mở pfile trong trình soạn thảo văn bản và thực hiện các thay đổi sau:
i. Thêm:
1. * .cluster_database =true
2. * .cluster_database_instances =2
3. orcl1.instance_number =1
4. orcl2.instance_number =2
5. orcl1.thread =1
6. orcl2.thread =2
ii. Thay đổi tham số * .undo_tablespace thành orcl1.undo_tablespace
e. Sử dụng pfile để thay đổi spfile
i. tạo spfile =’/ path_to_spfile / spfileorcl.ora’ từ pfile =’/ home / oracle / pfile.txt’;
10. Tạo một vùng bảng UNDO mới cho trường hợp khác.
a. xuất ORACLE_SID =orcl1
b. sqlplus / as sysdba
c. khởi động
d. tạo không gian bảng hoàn tác undotbs2 datafile ‘/path/undotbs02.dbf’ kích thước 30m;
e. thay đổi hệ thống đặt undo_tablespace =undotbs2 scope =spfile sid =’orcl2 ′;
11. Tạo nhật ký làm lại cho luồng mới
a. thay đổi cơ sở dữ liệu thêm luồng logfile 2 nhóm 10 ‘/path/redo10.log’ kích thước 50m;
b. thay đổi cơ sở dữ liệu thêm luồng logfile 2 nhóm 11 ‘/path/redo11.log’ kích thước 50m;
c. thay đổi cơ sở dữ liệu thêm luồng logfile 2 nhóm 12 ‘/path/redo12.log’ kích thước 50m;
d. thay đổi cơ sở dữ liệu cho phép luồng công khai 2;
12. srvctl start database –d orcl
Tại thời điểm này, bây giờ bạn đã cài đặt Clusterware từ đầu và thêm một cơ sở dữ liệu hiện có vào nó. Bây giờ tôi đã có một phương pháp đã được chứng minh để lấy bất kỳ tập hợp tệp cơ sở dữ liệu nào và thêm chúng vào bất kỳ cài đặt phần mềm cụm nào, tôi đã giảm mức độ lo lắng của mình khi thực hiện nâng cấp Clusterware trên hệ thống sản xuất. Ngay cả khi tôi làm cho mọi thứ trở nên lộn xộn, tôi có thể thổi bay Clusterware, cài đặt lại nó và sau đó thêm cơ sở dữ liệu vào Clusterware và cơ sở dữ liệu RAC của tôi được thiết lập và chạy ngay lập tức.