DataGurad-主库丢失归档日志恢复备库方案
- 格式:docx
- 大小:34.23 KB
- 文档页数:14
oracle--DG模式备库归档缺失问题(1)01.问题描述 备库的归档⽇志没有增加,⼀直等待⼀个查询问题:SQL>SELECT*FROM V$ARCHIVE_GAP;THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#---------- ------------- --------------164346435select name ,sequence# from v$archived_log;NAME SEQUENCE#-------------------------------------------------------------------------------- ----------/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6414_1000748999.dbf 6414/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6417_1000748999.dbf 6417/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6420_1000748999.dbf 6420/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6421_1000748999.dbf 6421/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6419_1000748999.dbf 6419/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6418_1000748999.dbf 6418/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6425_1000748999.dbf 6425/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6426_1000748999.dbf 6426/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6423_1000748999.dbf 6423/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6422_1000748999.dbf 6422/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6424_1000748999.dbf 6424NAME SEQUENCE#-------------------------------------------------------------------------------- ----------/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6366_1000748999.dbf 6366/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6427_1000748999.dbf 6427/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6428_1000748999.dbf 6428/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6429_1000748999.dbf 6429/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6509_1000748999.dbf 6509/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6431_1000748999.dbf 6431/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6432_1000748999.dbf 6432/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6430_1000748999.dbf 6430/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6433_1000748999.dbf 6433/u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6436_1000748999.dbf 6436⼆,问题解决思路 01,查看本地库存不存在这个归档⽇志 存在就直接⼿⼯注册上这个⽇志⽂件 ⼿⼯注册:alter database register logfile ' XXX' 如果存在也注册了但是未注册成功的话可能是归档传输过程出现了问题,重新传输然后换个路径应⽤归档rman target /catalog start with'XXXX';---注册⽇志 02,查看主库存不存在归档⽇志 如果存在的话k拷贝到备库然后⼿⼯组测 如果不存在的话⽣成基于SCN的备份集查看备库最⼩的scn号:select to_char(current_scn) from v$database;select min(checkpoint_change#) from v$datafile;select min(checkpoint_change#) from v$datafile_header;⽐对最⼩的scn然后再备库⽣成基于SCn的备份集backup as compressed backupset incremental from scn $MIN database format '/backup/inc_%d_%T_%s_%p'; backup current controlfile for standby format '/backup/inc.ctl';然后scp 传输到备库上备库恢复备份集shutdown abort;startup nomount;restore standby controlfile from "/backup/inc.ctl";alter database mount;catalog start with "/backup/" NOPROMPT;shutdown immediate;startup mount;recover database;重新开启实时应⽤归档alter database recover managed standby database disconnect from session using current logfile;。
数据库日志的分析与恢复技巧在数据库管理和维护过程中,数据库日志是非常重要的一部分。
它记录了数据库中每个操作的详细信息,包括修改、插入和删除数据的操作,并保证了数据的完整性和一致性。
然而,有时数据库发生意外故障或数据丢失的情况,需要进行日志的分析和恢复。
本文将介绍数据库日志的分析与恢复技巧,帮助管理员解决这些问题。
首先,我们需要了解数据库的日志类型。
主要有三种类型:事务日志、错误日志和还原日志。
事务日志用于记录数据库中事务的起始、提交和回滚操作,以确保数据的一致性。
错误日志用于记录数据库中发生的错误和异常情况,便于排查和调试问题。
还原日志用于记录数据库的还原操作和相关信息,通常用于数据库的备份和还原操作。
数据库日志的分析是定位故障和问题的第一步。
当数据库发生故障时,我们可以通过分析日志文件获得有关故障原因的线索。
以下是一些常用的日志分析技巧:1. 查看错误日志:错误日志是我们了解数据库运行中发生故障和错误的重要来源。
管理员可以查看错误日志,了解数据库中发生的异常情况,并根据错误信息采取相应的措施解决问题。
2. 事务日志的分析:事务日志记录了数据库中每个事务的详细操作。
当数据库发生异常时,可以通过分析事务日志来确定事务是否成功完成,并找出导致异常的操作。
根据事务日志,管理员可以回滚具体的事务或者采取其他恢复操作。
3. 使用日志分析工具:许多数据库管理系统提供了专门的日志分析工具,可以帮助管理员更高效地分析日志文件。
这些工具通常提供各种分析功能,例如日志过滤、查询和统计等,使管理员能够更快地获取有价值的信息。
当数据库发生数据丢失或者需要进行数据恢复时,我们需要采用相应的恢复技巧。
下面是一些常用的数据库恢复技巧:1. 数据库备份和还原:数据库备份是一种常见的预防数据丢失的方法。
管理员可以定期备份数据库,并在需要时使用备份文件进行还原操作来恢复数据。
备份和还原工具的选择和使用是非常重要的,需根据数据库的类型和需求来确定。
数据库备份恢复过程中的日志管理与恢复技术数据库备份和恢复是数据库管理中至关重要的一环。
无论是由于硬件故障、人为错误还是其他原因,数据库出现问题时,通过日志进行数据库恢复是一种常见且有效的方法。
在数据库备份恢复过程中,日志管理和恢复技术起着重要的作用,它们不仅可以保证数据的完整性,还可以提供快速可靠的恢复方法。
在数据库备份恢复过程中,日志管理起着至关重要的作用。
数据库日志是记录着数据库操作过程中每一个更改的详细信息的文件,它可以用于恢复数据库到某一个特定的时间点。
通过日志管理,我们可以跟踪和记录数据库的操作,包括增、删、改等,当数据库发生故障时,可以追溯到故障发生前的状态,并进行相应的修复。
日志管理主要包括日志的写入和日志的刷写。
日志写入是指将数据库操作的详细信息记录到日志文件中,它需要保证日志的一致性和原子性,以确保更改的操作能够被恢复。
日志刷写是指将内存中的日志数据写入到磁盘中,以保证数据的持久性,同时也可以释放内存空间,提高数据库的性能。
日志刷写可以根据不同的策略进行,例如定时刷写和事务提交时刷写等。
在数据库备份恢复过程中,日志恢复技术是必不可少的。
日志恢复技术主要分为两类:前向恢复和后退恢复。
前向恢复是指从数据库的备份文件开始恢复数据,然后按照日志的顺序依次应用日志中的操作,使数据库恢复到故障前的状态。
相比于后退恢复,前向恢复的优点在于可以避免再次执行已经执行过的操作,节省了时间和资源。
后退恢复是指根据日志的逆序应用日志中的操作,将数据库恢复到故障发生时的状态。
后退恢复可以避免因为操作错误造成的不一致性,并且可以还原已经提交的事务。
在实际的数据库备份恢复过程中,常用的日志管理和恢复技术有两种:基于检查点和日志文件的增量恢复。
基于检查点的日志恢复是通过在数据库备份时先记录一个检查点,将日志刷写并备份时的数据库状态记录下来,当数据库发生故障时,可以通过检查点来恢复数据库到一个更近的状态,然后应用相应的日志进行数据的恢复。
数据库备份恢复中的恢复策略与方案在数据库管理中,备份恢复是一项重要的任务,它确保了在事件发生时数据库的可靠性和可恢复性。
数据库备份是将数据复制到备份存储设备以防止数据丢失的过程。
而恢复是将备份的数据从备份设备还原到数据库系统中的过程。
在数据库备份恢复中,恢复策略和方案起着至关重要的作用。
恢复策略是指在数据库备份恢复中如何决定何时以及如何进行恢复操作。
恢复策略通常基于恢复点的概念,即在事务发生错误之前的时间点。
下面将介绍几种常见的恢复策略。
完全恢复策略(Full Recovery)是一种常见的恢复策略,它要求在备份之外还要记录数据库的任何更改。
这意味着在备份之后,所有事务的更改将被记录,这样可以在发生故障时更准确地进行恢复。
完全恢复策略需要定期备份数据库以保持数据的完整性,并使用日志文件来记录所有更改。
当系统发生故障时,可以使用备份和日志文件来还原数据库到最近的恢复点。
差异恢复策略(Differential Recovery)是另一种常见的恢复策略,它通过记录某一时间点后的所有更改来减少恢复时间。
与完全恢复相比,差异恢复策略只需要备份所有已更改的数据块,而不需要备份整个数据库。
然而,在发生故障时,差异恢复策略需要将最近的完整备份与差异备份组合起来进行恢复。
尽管差异恢复策略可以减少备份所需的存储空间,但由于需要重复合并备份,因此恢复时间相对较长。
增量恢复策略(Incremental Recovery)是一种更高效的备份恢复策略。
它只需备份最近的完整备份和发生变化的数据块,而不需备份所有已更改的数据。
与差异恢复相比,增量恢复策略恢复时间更短,因为只需将最近的完整备份与增量备份进行恢复,不需要合并备份。
然而,增量恢复策略会增加备份所需的存储空间。
恢复方案是指如何执行备份恢复操作的一系列步骤和流程。
恢复方案应该包括以下关键步骤:首先,确定故障的原因。
可能的故障原因包括硬件故障、软件错误、操作员失误等。
在确定了故障原因之后,可以采取相应的恢复措施。
解决Oracle数据库日志文件丢失恢复方案由于inactive日志文件组表示已经完成了检查点(dirty数据已经被写入数据文件)。
数据库本身不会发生数据库丢失,如果在这个时候相应的redo丢失/损坏,可以通过clear重建日志文件组恢复。
一.丢失inactive日志文件组的恢复:由于inactive日志文件组表示已经完成了检查点(dirty数据已经被写入数据文件)。
数据库本身不会发生数据库丢失,如果在这个时候相应的redo丢失/损坏,可以通过clear重建日志文件组恢复。
通过命令:alter database clear logfile group n如果数据库模式是archived的,则需要强制清除alter database clear unarchived logfile group n二.丢失active或current日志文件组的恢复:丢失情况分两种:一个是正常关闭数据库(如shutdown immediate)另一个是异常关闭数据库(如shutdown abort)1.在损失当前日志时,数据库是正常关闭状态。
由于shutdown immediate会执行全面的checkpoint,所以当前日志在实例恢复时可以不需要redo在Oracle 8i中我们完全可以通过alter database clear logfile group n来进行恢复.但是在Oracle 9i中,则可能无法对current的redo日志进行clear,需要通过recover database until cancel恢复后(必须要做的) 用resetlogs选项打开。
比如:alter database clear logfile group nrecover database until cancel;alter database open resetlogs;2.在损失当前日志时,数据库是异常关闭的:这种情况下,由于没有在执行全面检查点时,数据库就已经关闭了,那么Oracle在进行实例恢复的时候必须要求当前的日志,否则Oracle数据库将无法open.这样的情况下,我们通常需要从备份中恢复数据文件,通过应用归档日志进行向前推演。
DataGuard 环境中使用DD 命令恢复数据文件一背景DataGUard 是Oracle 提供的一种高可用解决方案。
在采用Physical standby 形式时。
数据文件在数据块级是一致的。
这样在备用库的数据文件损坏时,除了采用常用的RMAN备份和恢复数据文件,也可以使用操作系统的dd命令来完成数据文件的恢复;二应用场景1 数据文件丢失;2 数据文件损坏;3其他需要进行数据文件恢复的情况三检查数据文件offset在lv 归属于标准卷组时,使用dd命令时需要跳过首块,可通过如下命令查看是否需要跳过:Select block_size,block1_offset from v$datafile两字段如果相等,则不需要跳过首块,否者就需要跳过首块四恢复步骤1 在备用库确认损坏的数据文件:Select file#,name,status,ts#,block_size,block1_offset from v$datafile where status <> ‘ONLINE’ ;File# name status ts# 1494 /home/db/oracle/oradata/ecidb/eci_rpub_new_ind_02_001_4g recovery 2952 确认损坏的数据文件对应的ln(备库)ls -la /home/db/oracle/oradata/ecidb/eci_rpub_new_ind_02_001_4gln 为:/dev/recipdv5l34153确认完好的数据文件对应的ln(主库)Ls -la /home/db/oracle/oradata/ecidb/eci_rpub_new_ind_02_001_4gln 为:/dev/reciidxl31004 确认数据文件归属的表空间Select name from v$tablespace where ts# = 295;NameNEW_IND_025 备份完好的数据文件(主库)5.1 将表空间置于备份状态:Alter tablespace NEW_IND_02 begin backup;5.2 备份数据文件:dd if=/dev/reciidxl3100 of=/home/db/orarch2/reciidxl3100 bs=40965.3 结束表空间备份状态Alter tablespace NEW_IND_02 end backup;6 将备份的文件传输到备库scp /home/db/orarch2/reciidxl3100 sos-ecif-db05: /home/db/oraarch_old7 恢复损坏的数据文件(备库)7.1 关闭备库Shutdown immediate ;7.2 恢复数据文件dd if=/home/db/oraarch_old/reciidxl3100 of=/dev/recipdv5l3415 bs=40967.3 启动数据库(备库)Startup nomount;Alter database mount standby database;7.4 开始应用日志Alter database recover managed standby database disconnect fron session;在开始应用日志之前,最好现在主库的各节点进行切换日志操作,并在备库检查生成的日志文件已经全部传输到备库;7.5 验证数据文件恢复7.5.1 Alter database open readonly;如果恢复成功完成,数据库应能够以只读的形式打开,不然系统会报错!7.5.2 验证数据文件状态Select file#,name,status,ts# from v$datafile where status <> ‘ONLINE’ ;全部数据文件应状态正常8 将备库设置为日志应用状态Alter database recover managed standby database disconnect from session;。
主库丢失归档恢复备库(oracle 11.2.0.3)文档历史信息一、使用范围 (3)1、使用对象 (3)2、使用场景 (3)二、具体操作 (3)备库查询scn (3)主库创建增量备份 (4)备库恢复数据 (4)启动主库 (5)一、使用范围1、使用对象数据库维护人员。
现场实施人员。
2、使用场景在系统运转过程中由于人为,或网络,等其他意外情况导致主库归档日志未在备库正常应用,丢了若干个归档序号。
同时主库是归档日志由于定时rman任务清除,使归档日志无法完成同步。
使用命令SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;可查看日常DG同步情况,如在备库中出现短号情况适用本文档。
二、具体操作备库查询scn1、前提条件备库监听已经启动>netstat –an |grep 1521备库数据库处于Standby状态>sqlplus /nologSql>connect /as sysdbasql> shutdown immediatesql>startup mount;sql> Alter database recover managed standby database disconnect from session;2、查询备库同步scn号> sqlplus /nologsql> connect /as sysdbasql> select current_scn from v$database;显示结果:CURRENT_SCN-----------227761主库创建增量备份1、前提条件主库运行正常2、创建基于scn的增量备份使用rman target / nocatalog命令进入rman命令行如果不能执行命令,请用:/home/oracle/product/11gR2/db/bin/rman target / nocatalog注意:创建增量备份,scn一定要与备库一直,并保证备份文件夹为空。
数据库恢复的几种方法一、数据库恢复的概述数据库是现代信息系统中的核心组成部分,承载着重要的数据资产。
然而,由于各种原因,数据库可能会遭受到破坏或数据丢失,这时就需要进行数据库恢复操作。
数据库恢复是指将数据库从损坏或不可用状态恢复到正常可用状态的过程。
而数据库恢复的方法则是实现数据库恢复的具体手段。
二、备份恢复方法备份恢复是最常见也是最基本的数据库恢复方法之一。
备份是指将数据库的数据和结构进行备份,以便在数据丢失或损坏时进行恢复。
常见的备份恢复方法有完全备份、增量备份和差异备份。
1. 完全备份:完全备份是指将数据库的所有数据和结构都备份到一个独立的媒介中。
完全备份通常是在数据库初始化后进行,或者在数据库版本升级前进行。
在数据库损坏或数据丢失时,可以通过完全备份将数据库恢复到最新状态。
2. 增量备份:增量备份是指只备份自上次完全备份或增量备份以来发生变化的数据和结构。
增量备份可以减少备份时间和存储空间的消耗。
在数据库恢复时,需要先进行最近一次完全备份的恢复,然后再逐个应用增量备份,以还原数据库到最新状态。
3. 差异备份:差异备份是指只备份自上次完全备份以来发生变化的数据和结构。
与增量备份不同的是,差异备份是以最近一次完全备份为基础,而不是以上次备份为基础。
在数据库恢复时,需要先进行最近一次完全备份的恢复,然后再应用最近一次差异备份,以还原数据库到最新状态。
三、事务日志恢复方法事务日志恢复是数据库管理系统提供的一种高级恢复方法。
事务日志记录了数据库中所有事务的操作,包括开始、提交或回滚。
通过事务日志,可以将数据库恢复到指定的时间点或者特定的事务状态。
事务日志恢复的过程如下:1. 将数据库恢复到最近一次完全备份的状态;2. 应用事务日志中的操作,将数据库恢复到指定的时间点或者特定的事务状态。
事务日志恢复方法可以实现较为精细的数据库恢复,可以避免数据丢失和数据不一致的问题。
四、镜像恢复方法镜像恢复是指通过数据库的镜像副本进行恢复的方法。
数据库的数据恢复和修复方法数据在任何系统中都是至关重要的资产之一,而数据库作为储存大量数据的关键组件,其数据安全和稳定性显得尤为重要。
然而,由于各种原因,数据库可能会遭受到数据丢失、损坏或者其他故障,而需要进行数据恢复和修复的操作。
本文将介绍数据库的数据恢复和修复方法,以帮助用户更好地应对数据问题。
一、备份与还原备份与还原是数据库中常用的数据恢复和修复方法之一。
它通过定期备份数据库的数据,将数据复制到备份设备上。
当数据库发生问题时,可以通过将备份设备上的数据还原到数据库中,来恢复数据库的完整性和可用性。
备份与还原的优势在于可靠性高,可以将数据库恢复到特定时间点的状态。
备份可以分为完全备份和增量备份两种方式,完全备份是对整个数据库进行备份,而增量备份则是对增量变化的数据进行备份。
二、事务日志恢复事务日志恢复是另一种常见的数据库数据恢复方法。
事务日志是指记录了数据库操作的一系列日志文件,包括对数据库的修改、更新和删除等操作。
通过事务日志,可以查看和还原每一个操作,从而恢复数据库到指定的时间点。
事务日志恢复的主要步骤包括将事务日志应用到数据库文件中,以及执行相应的重做和撤销操作。
三、数据库镜像和复制数据库镜像和复制是一种将数据库的内容复制到另一个地方以备份和恢复的方法。
数据库镜像是指将主数据库的数据实时复制到一个或多个备库中,以实现数据的冗余备份。
当主数据库发生故障时,可以通过切换到备库进行同步,从而实现数据的恢复。
数据库复制则是指将数据库的一部分或全部数据复制到其他地方,如备份服务器或者远程服务器,以达到备份和恢复的目的。
四、数据完整性检查和修复数据库数据的完整性是指数据的正确性和一致性,而数据完整性检查和修复则是保障数据库的重要环节之一。
通过定期进行数据完整性的检查,可以及时发现数据的错误、丢失或者损坏等问题。
一旦发现问题,可以通过数据修复的方式来修正数据,保证数据库的可用性和正确性。
五、专业数据恢复软件在某些情况下,数据库遭受到严重的数据损坏或者意外删除,传统的数据恢复方法可能无法完全恢复数据。
恢复归档日志文件的常用方法恢复归档日志文件恢复归档文件也是使用RESTORE命令,如果只是为了在恢复数据文件后应用归档文件,那并不需要手动对归档文件进行恢复,RMAN会在RECOVER的时候自动对适当的归档进行恢复。
单独恢复归档文件一般是有特别的需求,如创建了Data Guard环境,Standby 端丢失了部分归档文件,必须从Primary端重新获取。
或者是需要通过LogMiner 对之前的归档进行分析等。
恢复归档文件非常灵活,可以全部恢复归档文件,也可以精确指定恢复哪些备份的归档文件,以下是具体例子:1.恢复全部的归档日志文件RMAN>Restore archivelog all;2.恢复归档序号为20到30之间的归档文件:RMAN> RESTORE ARCHIVELOG SEQUENCEBETWEEN 20 AND 30;3.恢复从哪个归档日志起RMAN> restore archivelog from logseq 5;4.恢复7天内的归档日志RMAN> restore archivelog from time 'sysdate-7';5.恢复到哪个日志文件为止RMAN> restore archivelog until logseq 100;默认情况下,RMAN将归档文件恢复到初始化参数LOG_ARCHIVE_DEST_1指定的路径下,有时候我们希望将恢复出来的归档文件存储到其他路径下,而不要与当前系统正在生成的归档文件混在一起,那么可以在执行RESTORE命令前,通过SET ARCHIVELOG DESTINATION TO命令设置归档的新路径,例如:1.RMAN>RUN{2.2>SET ARCHIVELOG DESTINATION TO'F:\ORACLE\BACKUP\ARCLOG';3.3> RESTORE ARCHIVELOG SEQUENCE BETWEEN 35 AND 40;4.4> }这样,恢复出来的SEQUENCE序号为35~40的归档文件就将被存储到F:\oracle\backup\arclog目录下。
DataGurad-主库丢失归档日志恢复备库方案
主库丢失归档恢复备库
(oracle 11.2.0.3)
文档历史信息
当前修订
日期:
2013-09-29
版本号修订日
期
修订人变更内
容
备注
0.1 2013-
09-29 陈伟创建文
档
一、使用范围 (6)
1、使用对象 (6)
2、使用场景 (6)
二、具体操作 (6)
备库查询scn (7)
主库创建增量备份 (8)
备库恢复数据 (9)
启动主库 (12)
一、使用范围
1、使用对象
数据库维护人员。
现场实施人员。
2、使用场景
在系统运转过程中由于人为,或网络,等其他意外情况导致主库归档日志未在备库正常应用,丢了若干个归档序号。
同时主库是归档日志由于定时rman任务清除,使归档日志无法完成同步。
使用命令SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;可查看日常DG同步情况,如在备库中出现短号情况适用本文档。
二、具体操作
备库查询scn
1、前提条件
备库监听已经启动
>netstat –an |grep 1521
备库数据库处于Standby状态
>sqlplus /nolog
Sql>connect /as sysdba
sql> shutdown immediate
sql>startup mount;
sql>Alter database recover managed standby database disconnect from session;
2、查询备库同步scn号
> sqlplus /nolog
sql> connect /as sysdba
sql> select current_scn from v$database;
显示结果:
CURRENT_SCN
-----------
227761
主库创建增量备份
1、前提条件
主库运行正常
2、创建基于scn的增量备份
使用rman target / nocatalog命令进入rman命令行
如果不能执行命令,
请用:/home/oracle/product/11gR2/db /bin/rman target / nocatalog
注意:创建增量备份,scn一定要与备库一直,并保证备份文件夹为空。
rman> BACKUP DEVICE TYPE DISK INCREMENTAL FROM SCN 227761 DATABASE FORMAT
'/home/oracle/backup/backlogs/ bkup_incre+%T+%U.bk';
3、将备份的文件复制到standby端
> scp -r /home/oracle/backup/ backlogs /
oracle@99.99.99.2:/home/oracle/ backup/
注意:远程文件夹下不能有backlogs文件夹
4、关闭主库
> sqlplus /nolog
sql > connect /as sysdba
sql> shutdown immediate
保证在数据恢复期间不会有新的数据产生
备库恢复数据
1、切换备库状态为:repository
>sqlplus /nolog
Sql>connect /as sysdba
Sql>Alter database recover
managed standby database cancel;
2、将备份文件导入备库
RMAN> CATALOG START WITH '/home/oracle/backup/backlogs/';
3、确定控制文件路径
Sql>show parameter control
4、恢复数据重新创建控制文件
RMAN> run{
restore standby controlfile to
'/home/oracle/backup/control02.ctl'
;
recover database noredo;
};
5、关闭备库
> sqlplus /nolog
sql> connect /as sysdba
sql> shutdown immediate
6、将/home/oracle/backup/control02.ctl
覆盖/home/oracle/oradata/zfmmdb/control02.c tl和/home/oracle/oradata/zfmmdb/control01.c tl
>cp /home/oracle/backup/control02.ctl /home/oracle/oradata/zfmmdb/control01
.ctl
>cp /home/oracle/backup/control02.ctl /home/oracle/oradata/zfmmdb/control02
.ctl
7、重启备库
> sqlplus /nolog
sql> connect /as sysdba
sql> STARTUP MOUNT;
sql>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
启动主库
> startup
三、验证DG系统是否恢复正常
主库操作
确定现有的归档重做日志
SQL->SELECT SEQUENCE#, FIRST_TIME, NEXT_TIMEFROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
手动执行联机日志
SQL->ALTER SYSTEM SWITCH LOGFILE;
备库操作
验证新的重做日志已经到达standby数据库
SQL->SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
验证新的重做日志已经应用
SQL->SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
四、附录
状态模拟
由于测试需要现提供场景模拟方式
1、关闭备库监听或数据库
2、使用oracle用户登录到主库手动发送归档日志
>sqlplus /nolog
sql>connect /as sysdba
SQL->ALTER SYSTEM SWITCH LOGFILE;
SQL->ALTER SYSTEM SWITCH LOGFILE;
3、查询手动发送归档日志序号
SQL->SELECT
SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
4、删除对应序号日志
5、启动备机,再次使用手动同步方式。
通过以上步骤dg处于备机不能正常同步状态。
保护模式开启
注意事项:
以下操作请在主库执行.
1检查保护模式
sqlplus /nolog
SQL->connect /as sysdba
SQL->select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
---------------- -------------------- --------------------
PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
默认保护模式为最大性能
2修改保护模式
SQL->shutdown immediate
SQL->startup mount
SQL->ALTER DATABASE SET STANDBY DATABASE TO maximize availability;
SQL->ALTER DATABASE OPEN;。