iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何增量备份恢复dataguard中standby端的数据
  • 548
分享到

如何增量备份恢复dataguard中standby端的数据

dataguard 2022-11-30 23:11:25 548人浏览 泡泡鱼
摘要

这篇文章主要讲解了“如何增量备份恢复dataguard中standby端的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何增量备份恢复dataguar

这篇文章主要讲解了“如何增量备份恢复dataguard中standby端的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何增量备份恢复dataguard中standby端的数据”吧!

很多正在使用dataguard的客户,都会遇到一个棘手的问题: 在备份端与主库同步的过程中由于网络原因或磁盘问题导致一个或多个归档日志丢失,进而dataguard同步无法继续。很多客户都选择了重新全库恢复,并重新搭建dataguard。 如果我们的源数据库非常大(超过100G的数据量),其实可以选择一种更简便并高效的恢复方法--通过rman的增量备份恢复dataguard中standby端的数据。

具体恢复过程如下:
1) Stop the managed recovery process (MRP) on the STANDBY database
sql> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
2) Determine the SCN of the STANDBY database.
SQL> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
--------------
3164433
SQL> select min(checkpoint_change#) from v$datafile_header
where file# not in (select file# from v$datafile where enabled = 'READ ONLY');
MIN(F.FHSCN)
----------------
3162298
comment:上面一个为控制文件中记录的SCN号,另一个为数据文件头记录的SCN号, 我们需要选择较小SCN号(3162298)的来备份。
3) Take an incremental backup of the PRIMARY database
RMAN> BACKUP INCREMENTAL FROM SCN 3162298 DATABASE FORMAT '/tmp/ForStandby_%U' tag 'FORSTANDBY';
4) Transfer all backup sets to STANDBY server
scp /tmp/ForStandby_* standby:/tmp
5) Catalog the backups in STANDBY controlfile.
RMAN> CATALOG START WITH '/tmp/ForStandby'; 
6) Recover the STANDBY database with the cataloged incremental backup:
RMAN> RECOVER DATABASE NOREDO; 
7) In RMAN, connect to the PRIMARY database and create a standby control file backup:
RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/tmp/ForStandbyCTRL.bck';
8) Copy the standby control file backup to the STANDBY system. 
9) Capture datafile information in STANDBY database.
We now need to refresh the standby controlfile from primary controlfile (for standby) backup. However, since the datafile names are likely different than primary, let's save the name of datafiles on standby first, which we can refer after restoring controlfile from primary backup to verify if there is any discrepancy. Run below query from Standby and save results for further use.
10) From RMAN, connect to STANDBY database and restore the standby control file:
RMAN> SHUTDOWN IMMEDIATE ;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE STANDBY CONTROLFILE FROM '/tmp/ForStandbyCTRL.bck';
11) Shut down the STANDBY database and startup mount:
RMAN> SHUTDOWN;
RMAN> STARTUP MOUNT;
scp /tmp/ForStandbyCTRL.bck standby:/tmp
12) Catalog datafiles in STANDBY if location/name of datafiles is different
Since the controlfile is restored from PRIMARY the datafile locations in STANDBY controlfile will be same as PRIMARY database, if the directory structure is different between the standby and primary or you are using oracle managed file names, catalog the datafiles in STANDBY will do the necessary rename operations. If the primary and standby have identical structure and datafile names, this step can be skipped.
Perform the below step in STANDBY for each diskgroup where the datafile directory structure between primary and standby are different.
RMAN> CATALOG START WITH '+DATA/mystd/datafile/';
To determine if any files have been added to Primary since the standby current scn:
SQL>SELECT FILE#, NAME FROM V$DATAFILE WHERE CREATION_CHANGE# > 3162298
If the above query returns with 0 zero rows, you can switch the datafiles. This will rename the datafiles to its correct name at the standby site:
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) Configure the STANDBY database to use flashback (optional)
SQL> ALTER DATABASE FLASHBACK OFF; 
SQL> ALTER DATABASE FLASHBACK ON;
14) On STANDBY database, clear all standby redo log groups:
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
....
15) On the STANDBY database, start the MRP
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
For more detailed info:
Steps to perform for Rolling Forward a Physical Standby Database using RMAN Incremental Backup. (Doc ID 836986.1)

感谢各位的阅读,以上就是“如何增量备份恢复dataguard中standby端的数据”的内容了,经过本文的学习后,相信大家对如何增量备份恢复dataguard中standby端的数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: 如何增量备份恢复dataguard中standby端的数据

本文链接: https://www.lsjlt.com/news/173694.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何增量备份恢复dataguard中standby端的数据
    这篇文章主要讲解了“如何增量备份恢复dataguard中standby端的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何增量备份恢复dataguar...
    99+
    2022-11-30
    dataguard
  • innobackupex怎么增量备份与恢复数据
    本篇内容主要讲解“innobackupex怎么增量备份与恢复数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“innobackupex怎么增量备份与恢复数据”吧...
    99+
    2024-04-02
  • mysql怎么增量备份和恢复数据
    这篇文章主要介绍“mysql怎么增量备份和恢复数据”,在日常操作中,相信很多人在mysql怎么增量备份和恢复数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql怎么增...
    99+
    2024-04-02
  • MySQL怎么全量、增量备份与恢复数据
    这篇文章主要讲解了“MySQL怎么全量、增量备份与恢复数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL怎么全量、增量备份与恢复数据”吧!数据备份...
    99+
    2024-04-02
  • Teradata中如何备份和恢复数据
    在Teradata中备份和恢复数据通常使用Teradata Parallel Transporter (TPT) 或 Teradat...
    99+
    2024-04-09
    Teradata
  • MySQL增量备份与恢复的示例
    小编给大家分享一下MySQL增量备份与恢复的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!文章目录一、MySQL 增量备份1...
    99+
    2024-04-02
  • oracle数据库如何备份恢复
    这篇文章给大家分享的是有关oracle数据库如何备份恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:1.逻辑备份是否包含表结构   &nbs...
    99+
    2024-04-02
  • SQLite中如何备份和恢复数据库
    SQLite提供了两种备份和恢复数据库的方法:使用SQLite命令行工具和使用SQLite的API。 使用SQLite命令行工具备...
    99+
    2024-04-09
    SQLite
  • noarchive非归档模式下如何使用增量备份恢复数据库
    这篇文章主要为大家展示了“noarchive非归档模式下如何使用增量备份恢复数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“noarchive非归档模式下如...
    99+
    2024-04-02
  • oracle基于增量备份如何解决dataguard gap问题
    本篇内容介绍了“oracle基于增量备份如何解决dataguard gap问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2024-04-02
  • 如何进行MySQL 5.6 xtrabackup 全量和增量的备份及恢复
    今天就跟大家聊聊有关如何进行MySQL 5.6 xtrabackup 全量和增量的备份及恢复,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。xtrab...
    99+
    2024-04-02
  • Cassandra中如何进行数据的备份和恢复
    在Cassandra中进行数据备份和恢复通常有两种方法:使用Cassandra自带的工具和第三方工具。 使用Cassandra自带...
    99+
    2024-04-02
  • 如何备份和恢复PostgreSQL数据库
    备份和恢复PostgreSQL数据库可以通过以下步骤进行: 备份数据库: 使用pg_dump命令备份数据库,例如: pg_dum...
    99+
    2024-04-09
    PostgreSQL
  • SQLite中如何进行数据备份和恢复
    在SQLite中进行数据备份和恢复可以采用以下方法: 数据备份: 使用SQLite的命令行工具进行数据备份: sqlite3 o...
    99+
    2024-03-14
    SQLite
  • 如何备份和恢复Oracle数据库
    备份和恢复Oracle数据库是非常重要的,以防止数据丢失或损坏。以下是备份和恢复Oracle数据库的步骤: 备份Oracle数据库:...
    99+
    2024-04-09
    Oracle
  • MySQL中如何进行数据备份和恢复
    MySQL 中可以通过使用 mysqldump 工具来进行数据备份和恢复操作。以下是备份和恢复的步骤: 数据备份: 打开命令行工具...
    99+
    2024-03-06
    MySQL
  • 如何在Oracle中备份和恢复数据库
    在Oracle中备份和恢复数据库可以使用以下步骤: 备份数据库: 使用expdp工具进行全库备份: expdp system/p...
    99+
    2024-04-09
    Oracle
  • FreeBSD中如何进行备份和恢复数据
    在FreeBSD中进行数据备份和恢复可以使用多种工具和方法,以下是其中一种常用的方法: 备份数据: 使用rsync命令进行数据...
    99+
    2024-04-02
  • MySQL中如何进行备份和恢复数据
    在MySQL中,可以使用mysqldump命令来备份数据库,使用mysql命令来恢复数据库。 备份数据: mysqldump -u ...
    99+
    2024-04-09
    MySQL
  • 如何备份和恢复SQLite数据库
    要备份SQLite数据库,可以使用以下方法之一: 使用SQLite的备份命令: sqlite3 your_database.db...
    99+
    2024-04-09
    SQLite
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作