Trong quá trình vận hành database chúng ta không tránh khỏi việc đôi khi có sự cố với CSDL chính, lúc này chúng ta sẽ cần chuyển đổi Standby server thành Primary để vận hành hệ thống rồi sau đó dựng lại Standby sau. Hướng dẫn dưới đây sẽ giúp bạn thực hiện FAILOVER từ Standby thành Primary.
THÔNG TIN CHI TIẾT 2 NODE:
Items | Primary – SRV1 | Standby – SRV2 |
hostname | srv1 | srv2 |
ip | 192.168.1.11 | 192.168.1.12 |
db name | duodb | duodb |
instance_name | duodb | stand |
db_unique_name | duodb | stand |
version DB | 19.3 | 19.3 |
DB_HOME | /u01/app/oracle/ product/19.3.0/dbhome_1 | /u01/app/oracle/ product/19.3.0/dbhome_1 |
DB_BASE | /u01/app/oracle | /u01/app/oracle |
global database name | srv1.localdomain | srv2.localdomain |
SRV1 – server tôi đặt là Primary
SRV2 – server tôi đặt là Standby
Kiểm tra thông tin database:
Standby database: (hiện Primary đã hỏng nên chúng ta coi như KO có SRV1, shutdown nó khỏi hệ thống)
Check thông tin DB:
select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
——— ——————– —————-
DUODB MOUNTED PHYSICAL STANDBY
Cancel the MRP process:
Managed Recovery Process (MRP): Là một quy trình tự động trong Oracle Data Guard, MRP thực hiện việc áp dụng các bản ghi từ bản sao dự phòng (standby database) vào trong hệ thống cơ sở dữ liệu chính (primary database). Quy trình này đảm bảo rằng dữ liệu trên primary database luôn được cập nhật với dữ liệu mới nhất từ standby database.
ps -ef | grep mrp
[oracle@srv2 ~]$ ps -ef | grep mrp
oracle 16717 1 0 18:06 ? 00:00:00 ora_mrp0_stand
oracle 19683 16218 0 18:13 pts/1 00:00:00 grep –color=auto mrp
sqlplus / as sysdba recover managed standby database cancel;
SQL> recover managed standby database cancel;
Media recovery complete.
Chuyển Standby thành Primary:
alter database recover managed standby database finish; select name,open_mode,database_role from v$database; alter database activate standby database; select name,open_mode,database_role from v$database;
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
——— ——————– —————-
DUODB MOUNTED PRIMARY
shutdown immediate; startup select name,open_mode,database_role from v$database;
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
——— ——————– —————-
DUODB READ WRITE PRIMARY
FAILOVER thành công, hiện Standby đã trở thành Primary.
Chúc các bạn thành công.