Rebuild Oracle Data Guard sau khi FAILOVER sử dụng DGMGRL Utility Oracle Data Guard 19c

DGMGRL cho phép bạn thực hiện các hoạt động quản lý Data Guard như tạo cấu hình, thêm bản sao dữ liệu, kích hoạt và vô hiệu hóa cấu hình, kiểm tra trạng thái của các thành phần Data Guard, thực hiện failover và switchover, và nhiều hơn nữa.

Dưới đây là một số tính năng chính của DGMGRL:

  1. Quản lý cấu hình Data Guard: Tạo cấu hình, thêm hoặc xóa database, thiết lập connect identifiers.
  2. Quản lý trạng thái: Kiểm tra trạng thái của các bản sao dữ liệu và bản gốc, bao gồm lag, mode, protection, và role.
  3. Thực hiện failover và switchover: Chuyển đổi giữa các bản sao dữ liệu và bản gốc khi cần thiết, đảm bảo tính sẵn sàng và liên tục của hệ thống.
  4. Thực hiện các hoạt động về bảo trì: Kích hoạt và vô hiệu hóa cấu hình, tắt và bật quản lý Data Guard Observer.
  5. Xem báo cáo và log: Xem thông tin chi tiết về các sự kiện, log và báo cáo của Data Guard.

Các bạn có thể xem các bước dựng CSDL Data Guard tại đây: https://datalinks.vn/huong-dan-cai-dat-oracle-data-guard-physical-standby-ver-19c-voi-rman/

THÔNG TIN CHI TIẾT 2 NODE:

word image 1086 1

SRV1 – server tôi đặt là Primary

SRV2 – server tôi đặt là Standby

Mục tiêu của demo này là khi Primary SRV1 bị sự cố thì SRV2 Standby sẽ thành Primary.

Rebuild lại SRV1 trở thành Standby sau thảm hoạ.

Kiểm tra thông tin database: (yêu cầu phải cấu hình Oracle data guard broker trước khi thực hiện theo hướng dẫn này)

Nếu bạn chưa cấu hình Oracle data guard broker thì xem ở đây: https://datalinks.vn/cau-hinh-oracle-data-guard-broker-dgmgrl-oracle-data-guard-19c/

Primary + Standby: check thông tin cần thiết

select flashback_on,instance_name,database_role from v$database,V$instance;

SQL> select flashback_on,instance_name,database_role from v$database,V$instance;

FLASHBACK_ON INSTANCE_NAME DATABASE_ROLE

—————— —————- —————-

YES duodb PRIMARY

FLASHBACK_ON INSTANCE_NAME DATABASE_ROLE

—————— —————- —————-

YES stand PHYSICAL STANDBY

Standby: check thông tin và tiến hành Failover

select process,status,sequence# from v$managed_standby;

select status, gap_status from v$archive_dest_status where dest_id = 2;

dgmgrl

connect sys/oracle@stand

show configuration;

validate database stand;

failover to stand;

select flashback_on,instance_name,database_role from v$database,V$instance;

SQL> select process,status,sequence# from v$managed_standby;

PROCESS STATUS SEQUENCE#

——— ———— ———-

ARCH CONNECTED 0

DGRD ALLOCATED 0

DGRD ALLOCATED 0

ARCH CONNECTED 0

ARCH CLOSING 25

ARCH CONNECTED 0

RFS IDLE 26

RFS IDLE 0

RFS IDLE 0

MRP0 APPLYING_LOG 26

10 rows selected.

SQL> select status, gap_status from v$archive_dest_status where dest_id = 2;

STATUS GAP_STATUS

——— ————————

INACTIVE

[oracle@srv2 ~]$ dgmgrl

DGMGRL for Linux: Release 19.0.0.0.0 – Production on Tue May 7 23:49:01 2024

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.

Welcome to DGMGRL, type “help” for information.

DGMGRL> connect sys/oracle@stand

Connected to “STAND”

Connected as SYSDBA.

DGMGRL> show configuration;

Configuration – duong_primary

Protection Mode: MaxPerformance

Members:

duodb – Primary database

stand – Physical standby database

Fast-Start Failover: Disabled

Configuration Status:

SUCCESS (status updated 50 seconds ago)

DGMGRL> failover to stand;

Performing failover NOW, please wait…

Failover succeeded, new primary is “stand”

SQL> select flashback_on,instance_name,database_role from v$database,V$instance;

FLASHBACK_ON INSTANCE_NAME DATABASE_ROLE

—————— —————- —————-

YES stand PRIMARY

Sau khi failover thì hiện tại Stand đang là Primary còn Primary cũ giả sử là đang Crash rồi chúng ra phải dựng lại nó thành Standby.

SRV1: check thông tin và tiến hành restart DB, Mount sau đó Rebuild SRV1

select flashback_on,instance_name,database_role from v$database,V$instance;

shut immediate

startup mount

exit

dgmgrl

connect sys/oracle@stand

reinstate database 'duodb';

show configuration;

show database 'stand';

show database 'duodb';

exit

sqlplus / as sysdba

select flashback_on,instance_name,database_role from v$database,V$instance;

select status, gap_status from v$archive_dest_status where dest_id = 2;

SQL> select flashback_on,instance_name,database_role from v$database,V$instance;

FLASHBACK_ON INSTANCE_NAME DATABASE_ROLE

—————— —————- —————-

YES duodb PRIMARY

SQL> shut immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area 1828713632 bytes

Fixed Size 8897696 bytes

Variable Size 436207616 bytes

Database Buffers 1375731712 bytes

Redo Buffers 7876608 bytes

Database mounted.

SQL> exit

Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

Version 19.3.0.0.0

[oracle@srv1 ~]$ dgmgrl

DGMGRL for Linux: Release 19.0.0.0.0 – Production on Wed May 8 10:29:39 2024

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.

Welcome to DGMGRL, type “help” for information.

DGMGRL> connect sys/oracle@stand

Connected to “STAND”

Connected as SYSDBA.

DGMGRL> reinstate database ‘duodb’;

Reinstating database “duodb”, please wait…

Reinstatement of database “duodb” succeeded

DGMGRL> show configuration;

Configuration – duong_primary

Protection Mode: MaxPerformance

Members:

stand – Primary database

duodb – Physical standby database

Fast-Start Failover: Disabled

Configuration Status:

SUCCESS (status updated 52 seconds ago)

DGMGRL> show database ‘stand’;

Database – stand

Role: PRIMARY

Intended State: TRANSPORT-ON

Instance(s):

stand

Database Status:

SUCCESS

DGMGRL> show database duodb;

Database – duodb

Role: PHYSICAL STANDBY

Intended State: APPLY-ON

Transport Lag: 0 seconds (computed 1 second ago)

Apply Lag: 0 seconds (computed 1 second ago)

Average Apply Rate: 7.00 KByte/s

Real Time Query: ON

Instance(s):

duodb

Database Status:

SUCCESS

DGMGRL> exit

[oracle@srv1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 – Production on Wed May 8 10:33:53 2024

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

Version 19.3.0.0.0

SQL> select flashback_on,instance_name,database_role from v$database,V$instance;

FLASHBACK_ON INSTANCE_NAME DATABASE_ROLE

—————— —————- —————-

YES duodb PHYSICAL STANDBY

SQL> select process,status,sequence# from v$managed_standby;

PROCESS STATUS SEQUENCE#

——— ———— ———-

ARCH CLOSING 1

ARCH CONNECTED 0

ARCH CONNECTED 0

ARCH CLOSING 2

DGRD ALLOCATED 0

DGRD ALLOCATED 0

MRP0 APPLYING_LOG 3

RFS IDLE 3

RFS IDLE 0

RFS IDLE 0

10 rows selected.

SQL> select status, gap_status from v$archive_dest_status where dest_id = 2;

STATUS GAP_STATUS

——— ————————

INACTIVE

Quá trình rebuild đã hoàn tất thành công.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận