Chủ Nhật, 28 tháng 2, 2021

Cách xử lý GAPS trong standby database (Data Guard) sử dụng backup RMAN incremental

Các bước trong bài đăng này có thể được sử dụng để giải quyết sự cố nếu cơ sở dữ liệu physical sandby bị mất hoặc bị hỏng archived redo data hoặc thiếu archived log (gap)

1. Đảm bảo rằng bạn dừng tiên trình khôi phục được quản lý (MRP) trước khi tiếp tục các bước tiếp theo.

-- PRIMARY
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

2. Trên STANDBY DATABASE (cơ sở dữ liệu dự phòng) , tìm SCN sẽ được sử dụng để incremental backup tại cơ sở dữ liệu chính (Primary Database). Bạn cần sử dụng 'SCN thấp nhất' từ 3 truy vấn dưới đây:

--STANDBY 
SQL> SELECT CURRENT_SCN FROM V$DATABASE;

CURRENT_SCN
--------------
3164433 

SQL> select min(fhscn) from x$kcvfh;

MIN(FHSCN)
----------------
3162298

SQL> select min(f.fhscn) from x$kcvfh f, v$datafile d
      where f.hxfil =d.file#
        and d.enabled != 'READ ONLY'     ;

MIN(F.FHSCN)
----------------
3162298

3. Bạn cần sử dụng ' SCN thấp nhất ' từ 3 truy vấn, ở đây là -> SCN: 3162298. Trong RMAN, hãy kết nối với cơ sở dữ liệu PRIMARY và tạo bản incremental backup từ SCN được dẫn xuất ở bước trước:

--PRIMARY 
RMAN> BACKUP INCREMENTAL FROM SCN 3162298 DATABASE FORMAT '/tmp/ForStandby_%U' tag 'FORSTANDBY';

4. Chuyển tất cả các bộ backup được tạo trên hệ thống chính sang hệ thống dự phòng.

--PRIMARY
primary $ scp /tmp/ForStandby_* standby:/tmp

Trên  STANDBY catalog các backup pieces để nó nhận được bản backup (thông tin này được ghi vào control file của Standby database):

--STANDBY
RMAN> CATALOG START WITH '/tmp/ForStandby'; 

using target database control file instead of recovery catalog 
searching for all files that match the pattern /tmp/ForStandby 

List of Files Unknown to the Database 
===================================== 
File Name: /tmp/ForStandby_2lkglss4_1_1 
File Name: /tmp/ForStandby_2mkglst8_1_1 

Do you really want to catalog the above files (enter YES or NO)? YES 
cataloging files... 
cataloging done 

List of Cataloged Files 
======================= 
File Name: /tmp/ForStandby_2lkglss4_1_1 
File Name: /tmp/ForStandby_2mkglst8_1_1

5. Khôi phục cơ sở dữ liệu STANDBY với incremental backup đã được catalog:

--STANDBY 
RMAN> RECOVER DATABASE NOREDO; 

starting recover at 03-JUN-09 
allocated channel: ORA_DISK_1 
channel ORA_DISK_1: sid=28 devtype=DISK 
channel ORA_DISK_1: starting incremental datafile backupset restore 
channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
destination for restore of datafile 00001: +DATA/mystd/datafile/system.297.688213333 
destination for restore of datafile 00002: +DATA/mystd/datafile/undotbs1.268.688213335 
destination for restore of datafile 00003: +DATA/mystd/datafile/sysaux.267.688213333 
channel ORA_DISK_1: reading from backup piece /tmp/ForStandby_2lkglss4_1_1 
channel ORA_DISK_1: restored backup piece 1 
piece handle=/tmp/ForStandby_2lkglss4_1_1 tag=FORSTANDBY 
channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 
Finished recover at 03-JUN-09

6. Trong RMAN, kết nối với cơ sở dữ liệu PRIMARY và tạo bản sao lưu standby control file:

--PRIMARY 
RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/tmp/ForStandbyCTRL.bck';

7. Sao chép bản sao standby control file vào hệ thống STANDBY .

--PRIMARY 
primary $ scp /tmp/ForStandbyCTRL.bck standby:/tmp

8. Sao lưu vị trí của datafile ở standby trong trường hợp tên / vị trí datafile khác với tên / vị trí tệp Primary.

--standby 
SQL> spool datafile_names_step8.txt
set lines 200
col name format a60
select file#, name from v$datafile order by file# ;
spool off

9. Từ RMAN, kết nối với cơ sở dữ liệu STANDBY và khôi phục standby control file:

--STANDBY 
RMAN> SHUTDOWN IMMEDIATE ;
RMAN> STARTUP NOMOUNT; 
RMAN> RESTORE STANDBY CONTROLFILE FROM '/tmp/ForStandbyCTRL.bck'; 

Starting restore at 03-JUN-09 
using target database control file instead of recovery catalog 
allocated channel: ORA_DISK_1 
channel ORA_DISK_1: sid=36 devtype=DISK 

channel ORA_DISK_1: restoring control file 
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07 
output filename=+DATA/mystd/controlfile/current.257.688583989 
Finished restore at 03-JUN-09

10. Tắt cơ sở dữ liệu STANDBY và startup mount:

--STANDBY 
SQL> SHUTDOWN; 
SQL> STARTUP MOUNT;

11. Vì control file được khôi phục từ PRIMARY, các vị trí datafile trong STANDBY controlfile  sẽ giống với cơ sở dữ liệu PRIMARY, vì vậy các catalog datafile trong STANDBY sẽ thực hiện các thao tác đổi tên cần thiết. Thực hiện bước dưới đây trong STANDBY cho mỗi diskgroup trong đó cấu trúc thư mục datafile giữa chế độ primary và chế độ standby là khác nhau.

--STANDBY
RMAN> CATALOG START WITH '+DATA/mystd/datafile/'; 

List of Files Unknown to the Database 
===================================== 
File Name: +data/mystd/DATAFILE/SYSTEM.309.685535773 
File Name: +data/mystd/DATAFILE/SYSAUX.301.685535773 
File Name: +data/mystd/DATAFILE/UNDOTBS1.302.685535775 
File Name: +data/mystd/DATAFILE/SYSTEM.297.688213333 
File Name: +data/mystd/DATAFILE/SYSAUX.267.688213333 
File Name: +data/mystd/DATAFILE/UNDOTBS1.268.688213335 

Do you really want to catalog the above files (enter YES or NO)? YES 
cataloging files... 
cataloging done 

List of Cataloged Files 
======================= 
File Name: +data/mystd/DATAFILE/SYSTEM.297.688213333 
File Name: +data/mystd/DATAFILE/SYSAUX.267.688213333 
File Name: +data/mystd/DATAFILE/UNDOTBS1.268.688213335

12. Chuyển các datafile sang tên chính xác của nó tại standby :

--STANDBY 
RMAN> SWITCH DATABASE TO COPY; 

datafile 1 switched to datafile copy "+DATA/mystd/datafile/system.297.688213333" 
datafile 2 switched to datafile copy "+DATA/mystd/datafile/undotbs1.268.688213335" 
datafile 3 switched to datafile copy "+DATA/mystd/datafile/sysaux.267.688213333"

13. Trên cơ sở dữ liệu ở standby, xóa tất cả các standby redo log group:

--STANDBY 
SQL> ALTER DATABASE CLEAR LOGFILE GROUP [group number];

Xác minh:
Chạy lại các truy vấn từ bước 2 để xác nhận rằng incremental apply đã chuyển các datafile forwared. SCN bây giờ phải lớn hơn giá trị ban đầu của nó:

--STANDBY 
SQL> SELECT CURRENT_SCN FROM V$DATABASE;

CURRENT_SCN
--------------


SQL> select min(fhscn) from x$kcvfh;

MIN(FHSCN)
----------------


SQL> select min(f.fhscn) from x$kcvfh f, v$datafile d
      where f.hxfil =d.file#
        and d.enabled != 'READ ONLY'     ;

MIN(F.FHSCN)
----------------

14. Bắt đầu quá trình MRP ở standby

--standby
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

Bạn cũng có thể lấy và thực hiện incremental backup các datafile từ SCN ở standby ​​trên cơ sở dữ liệu chính. Bằng cách đó, bạn có thể giảm thời gian sao lưu và khôi phục.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
hoặc
https://bit.ly/oaz_fp
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database
Các tìm kiếm liên quan đến học oracle
database
Tự học Oracle
Tài liệu Oracle 12c tiếng Việt
Hướng dẫn sử dụng Oracle Database
Oracle SQL cơ bản
Oracle SQL là gì
Khóa học Oracle Hà Nội
Học chứng chỉ Oracle ở đầu
Khóa học Oracle online
khóa học pl/sql
học dba
học dba ở việt nam
khóa học dba
khóa học dba sql
tài liệu học dba oracle
Khóa học Oracle online
học oracle sql
học oracle ở đâu tphcm
học oracle bắt đầu từ đâu
học oracle ở hà nội
oracle database tutorial
oracle database 12c
oracle database là gì
oracle database 11g
oracle download
oracle database 19c
oracle dba tutorial
oracle tunning
sql tunning
oracle 12c
oracle dataguard
oracle goldengate
oracle weblogic
oracle exadata
hoc solaris
hoc linux
hoc aix

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master