Chủ Nhật, 20 tháng 4, 2025

Xóa và add node ORACLE RAC 19.15

Môi trường ORACLE RAC chạy trên VMware

Node 1:

OS: Windows server 2019 standard

Server name: SVR-1145-DB

CPU: 32 core, RAM 64GB

Oracle: 19.15

Node 2:

OS: Windows server 2019 standard

Server name: SVR-1146-DB

CPU: 32 core, RAM 64GB

Oracle: 19.15

1. Vấn đề hệ thống

Dùng tool zerto move Node 1 qua môi trường khác start cluster không lên. Node 2 ở DC vẫn hoạt động bình thường

Move node 1 về lại môi trường cũ start lại cluster cũng không lên.

Lưu ý: Node 1 đã không chạy trong thời gian dài trên 2 tháng.

Lúc setup đặt tên cluster dài hơn 15 ký tự nó vẫn cho cài tiếp nhưng khi đến bước addnode thứ hai có thể sẽ bị lỗi

bởi vì tại bước này nó thực thi file gridconfig.bat, trong file này sẽ tiếp tục gọi đến file crsgenconfig_params nằm trong 

đường dẫn ( C:\oracle\app\19.0.0\gridhome\crs\install) để lấy cluster name lúc này cluster name chỉ còn 15 ký tự nên 

nó không hiểu và sinh ra lỗi không addnode được.

Giải pháp để xử lý trước khi add node lại

    1. Xác định đúng cluster name

    2. Edit cluster name trong file  crsgenconfig_params trên node còn hoạt động cho đúng với cluster name được yêu 

cầu trong log khi quá trình addnode bị lỗi sinh ra. Sau khi sửa xong tiến hành addnode trở lại và tiếp tục theo dõi log 

mới để trouble. 

2. Giải quyết vấn đề

2.1 Clone toàn bộ hệ thống Prod đưa vào môi trường isolate để làm UAT

  • Kiểm tra phần share disk trên tất cả các node. 

    Đảm bảo tất cả các disk phải được share theo đúng thứ tự vmdk và các controller.

  • Dùng diskpart để kiểm tra:
    Mở Command Prompt với quyền Administrator
    Nhập lệnh:

    diskpart
    list disk
       
    select disk 1
    online disk -- nếu nó chưa online
    detail disk -- xem chi tiết disk 1 nếu nó read only
    attribute disk clear readonly -- remove thuộc tính readonly của disk 1
    --Current Read-only State : No

    Tất cả disk phải có trạng thái online

  • Kiểm tra lại môi trường như

    • Tắt tất cả local firewall trên tất cả các node
      Tắt tất cả local firewall trên tất cả các node

    • Chạy lệnh cluvfy stage -pre crsinst svr-1145-db, svr-1146-db -verbose

  • Start lại cluster trên node 1 đứng trên node 1

    • Kiểm tra asm disk bằng lệnh asmca hoặc asmtool -list

    • Kiểm tra toàn bộ trạng thái resource trong cluster

  • Trong trường hợp này instance database startup mount nhưng không thể open

 

  • Đứng trên node 2 delete instance node 1 ra khỏi cluster.

  • Sqlplus và instance node 2 kiểm tra redo log group của node 1 xem còn không? 
    nếu còn thì phải xóa tất cả các redo log group 1 ra khỏi database bằng câu lệnh sau:

         Status: inactive

    SQL> ALTER DATABASE DISABLE THREAD 1;

SQL> ALTER DATABASE DROP LOGFILE GROUP 1;

SQL> ALTER DATABASE DROP LOGFILE GROUP 2;

SQL> ALTER DATABASE DROP LOGFILE GROUP 3;

SQL> ALTER DATABASE DROP LOGFILE GROUP 4;

SQL> ALTER DATABASE DROP LOGFILE GROUP 14;

  • Deinstall database software (database home trên node 1)

         deinstall.bat -local

  • Deinstall grid software (grid home trên node 1)    

         deinstall.bat -local

  • Kiểm tra thông tin (đứng trên node 2)

    • olsnodes -s -t -n --> đảm bảo không còn node 1

    • resource VIP của node 1 trong cluster --> nếu còn phải remove

    • Chạy cluvfy stage -post nodedel svr-1145-db -verbose      

    • Chạy cluvfy stage -pre nodeadd svr-1145-db -verbose

  • Thực hiện add grid home vào cluster (đứng trên node 2 add node 1)

    • Restart lại node 1

    • Kiểm tra WTime32

    • Tạo grid home

    • Chạy lại cluvfy stage -pre nodeadd svr-1145-db -verbose (fix hết các lỗi nếu có mới tiến hành add node)

    • Đứng trên grid home node 2 chạy lệnh addnode.bat với quyền Administrator

    • Đứng trên node 1 chạy lệnh gridconfig.bat trên node 1 ( chú ý cluster name không được lớn 15 ký tự)

    • Kiểm tra tất cả resource của node 1 trên cluster

  • Thực hiện add database home và cluster (đứng trên node 2 add node 1)

    • Đứng trên database home node 2 chạy lệnh addnode.bat với quyền Administrator

    • Làm theo yêu cầu từ màn hình

  •  Add instance database vào cluster

    • Đứng trên node 2 khai bao môi trường database home chạy lệnh DBCA để add instance vào cluster 

    • Add instance database vào cluster

2.2 Thực hiện trên môi trường Prod

 👉 Trường hợp này cluster trên node 1 bị lỗi không start được

 👉 Instance database không chạy

 

 Giải quyết:

 1. Manual xóa tất cả các thành phần

  • Xóa redo log group của instance 1

    Status: inactive

    SQL> ALTER DATABASE DISABLE THREAD 1;

SQL> ALTER DATABASE DROP LOGFILE GROUP 1;

SQL> ALTER DATABASE DROP LOGFILE GROUP 2;

SQL> ALTER DATABASE DROP LOGFILE GROUP 3;

SQL> ALTER DATABASE DROP LOGFILE GROUP 4;

SQL> ALTER DATABASE DROP LOGFILE GROUP 14;

  • Deinstall database software (database home trên node 1)

         deinstall.bat -local 

  • Deinstall grid software (grid home trên node 1)    

         deinstall.bat -local

  • Kiểm tra thông tin (đứng trên node 2)

    • olsnodes -s -t -n --> đảm bảo không còn node 1 → nếu còn cần phải restart cluster trên node 2 và thực hiện lệnh sau:

crsctl delete node -n svr-1145-db

  • resource VIP của node 1 trong cluster --> nếu còn phải remove

  • Chạy cluvfy stage -post nodedel svr-1145-db -verbose      

  • Chạy cluvfy stage -pre nodeadd svr-1145-db -verbose

2. Thực hiện add node vào cluster

Lưu ý: Kiểm tra phải restart process OracleRemExecServiceV2 thành công trên cả 2 node

  • Thực hiện add grid home vào cluster (đứng trên node 2 add node 1)

    • Restart lại node 1

    • Kiểm tra WTime32

    • Tạo grid home

    • Chạy lại cluvfy stage -pre nodeadd svr-1145-db -verbose (fix hết các lỗi nếu có mới tiến hành add node)

    • Đứng trên grid home node 2 chạy lệnh addnode.bat với quyền Administrator

    • Đứng trên node 1 chạy lệnh gridconfig.bat trên node 1 (chú ý cluster name không được lớn 15 ký tự)

    • Kiểm tra tất cả resource của node 1 trên cluster

    • Chỉnh 2 tham số này trong registry trên cả 2 node có giá trị 600 (MaxNegPhaseCorrection,MaxPosPhaseCorrection)

  • Thực hiện add database home và cluster (đứng trên node 2 add node 1)

    • Đứng trên database home node 2 chạy lệnh addnode.bat với quyền Administrator

    • Làm theo yêu cầu từ màn hình

  •  Add instance database vào cluster

    • Đứng trên node 2 khai báo môi trường database home chạy lệnh DBCA để add instance vào cluster 

    • Add instance database vào cluster