Nếu physical standby database mất hoặc hỏng archived redo data hoặc có archive gap không thể giải quyết, là kết quả của archive logs bị thiếu trên primary database hoặc archive bị hỏng, thì không có backup hợp lệ nào tồn tại để khôi phục.
Nếu archive tồn tại trên primary database, hãy troubleshoot vấn đề, và nếu archive không bị hỏng, archive sẽ tự động được chuyển. Nếu archive bị hỏng ở cấp hệ điều hành (OS) và bạn có backup, thì restore database bằng cách dùng archive log từ backup. Nếu không có giải pháp nào trong số này hoạt động, bạn có thể khôi phục standby database với incremental system change number (SCN) cho standby/Roll Forward.
Blog này chỉ cho bạn cách sử dụng Oracle® Recovery Manager (RMAN) incremental backup để roll standby database forward nhanh hơn so với việc dùng redo log apply.
Incremental backup hoạt động như thế nào?
Hình sau minh họa quy trình incremental backup:
Tất cả thay đổi giữa SCN của image copy gốc và SCN của incremental backup được áp dụng vào image.
Để dùng phương pháp này, tạo backup trên primary database bắt đầu từ current SCN của standby database, sau đó dùng để roll forward standby database.
Các bước roll forward physical standby database
Sử dụng các bước sau để roll forward physical standby database.
Tìm SCN gap
Dùng mã sau để ghi lại SCN gap giữa standby và production database:
SQL> select status,instance_name,database_role from v$database,v$instance; STATUS INSTANCE_NAME DATABASE_ROLE ------------ ---------------- ---------------- MOUNTED PROD PHYSICAL STANDBY SQL> SELECT to_char(CURRENT_SCN) FROM V$DATABASE; CURRENT_SCN ------------- 5997422841660 SQL> select min(fhscn) from x$kcvfh; CURRENT_SCN ------------- 5997422841643Ghi chú SCN thấp hơn từ các truy vấn trước, và chạy mã sau:
SQL> select status,instance_name,database_role from v$database,v$instance; STATUS INSTANCE_NAME DATABASE_ROLE ------------ ---------------- ---------------- OPEN PROD PRIMARY SQL> SELECT to_char(CURRENT_SCN) FROM V$DATABASE; CURRENT_SCN ------------- 5997428587053
Lấy incremental SCN backup và tạo standby controlfile backup
Chạy mã sau trên production server để lấy SCN backup:
[oracle@pslmtli.rackspace.com] $ rman target / RMAN>BACKUP INCREMENTAL FROM SCN 5997422841643 DATABASE FORMAT '/u01/orapi/stage/TEMP/DBDR_%U' tag 'ArchiveGap'; Starting backup at 25-MAR-18 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set channel ORA_DISK_1: starting piece 1 at 25-MAR-18 channel ORA_DISK_1: finished piece 1 at 25-MAR-18 piece handle=/u01/orapi/stage/TEMP/ DBDR123.bak tag= ArchiveGap comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03 Finished backup at 25-MAR-18Chạy mã sau để tạo standby controlfile backup:
RMAN> backup current controlfile for standby format ='/u01/orapi/stage/TEMP/standby_control.bctl';Chuyển backup từ primary server sang standby.
Chạy mã sau để áp dụng incremental SCN backup trên standby database, catalog tất cả backup pieces và controlfile:
[oracle@nslmtli.rackspace.com] $ rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Sun Mar 2515:51:02 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: PSTLI (DBID=431934829, not open) RMAN> catalog start with ‘/u01/archives/stage/temp/’;Chạy mã sau để recover standby database với cataloged incremental backup pieces:
RMAN> RECOVER DATABASE NOREDO;Chạy mã sau để shutdown physical standby database, khởi động ở stage nomount, và restore standby controlfile backup mà bạn lấy từ primary database:
RMAN> shutdown immediate database dismounted Oracle instance shut down RMAN> startup nomount connected to target database (not started) Oracle instance started Total System Global Area 659730432 bytes Fixed Size 2216264 bytes Variable Size 398462648 bytes Database Buffers 255852544 bytes Redo Buffers 3198976 bytes RMAN> restore standby controlfile from ‘/u01/archives/stage/temp/standby_control.bctl’; Finished restore at 25-MAR-18Shutdown standby database và mount standby database để bạn có thể mount standby database với controlfile mới được restored ở bước trước.
Bây giờ standby database đã được đồng bộ với primary database.
Kết luận
Bạn có thể dùng RMAN incremental backups để đồng bộ physical standby database với primary database. Bằng cách dùng lệnh RMAN BACKUP INCREMENTAL FROM SCN, bạn có thể tạo backup trên primary database bắt đầu từ current SCN của standby database, sau đó dùng để roll standby database forward về phía trước về mặt thời gian.
Sử dụng tab Feedback để đưa ra bình luận hoặc đặt câu hỏi.
Tối ưu môi trường của bạn với quản trị, quản lý và cấu hình chuyên nghiệp
Các chuyên gia Dịch vụ ứng dụng của Rackspace (RAS) cung cấp các dịch vụ chuyên nghiệp và được quản lý sau đây trên danh mục ứng dụng rộng:
- Nền tảng eCommerce và Trải nghiệm số
- Quản trị nguồn lực doanh nghiệp (ERP)
- Business Intelligence
- Salesforce Quản trị quan hệ khách hàng (CRM)
- Databases
- Lưu trữ Email và Năng suất
Chúng tôi cung cấp:
- Chuyên môn khách quan: Chúng tôi đơn giản hóa và hướng dẫn hành trình hiện đại hóa của bạn, tập trung vào các khả năng mang lại giá trị ngay lập tức.
- Fanatical Experience™: Chúng tôi kết hợp phương pháp Process first. Technology second.® với hỗ trợ kỹ thuật chuyên dụng để cung cấp giải pháp toàn diện.
- Danh mục không đối thủ: Chúng tôi áp dụng kinh nghiệm đám mây rộng lớn để giúp bạn chọn và triển khai công nghệ phù hợp trên đám mây phù hợp.
- Giao hàng Agile: Chúng tôi gặp gỡ bạn ở bất kỳ đâu trong hành trình của bạn và điều chỉnh thành công của chúng tôi với của bạn.
Chat ngay để bắt đầu.