Oracle DataGuard发生归档丢失增量备份恢复备库

摘要:
1.确定增量恢复起点SCN有如下方法:备库查看丢失的归档序列号--备库查看丢失的归档号SELECT*FROMV$ARCHIVE_GAP;--主库执行,查看SCN,146为第一个缺失归档的序列号SELECTFIRST_CHANGE#FROMV$ARCHIVED_LOGWHERESEQUENCE#=146;备库查看当前的SCNSELECTTO_CHAR(CURRENT_SCN)FROMV$DATABA

1.确定增量恢复起点SCN

有如下方法:

  1. 备库查看丢失的归档序列号

    --备库查看丢失的归档号
    SELECT * FROM V$ARCHIVE_GAP;
    --主库执行,查看SCN,146为第一个缺失归档的序列号
    SELECT FIRST_CHANGE# FROM V$ARCHIVED_LOG WHERE SEQUENCE#=146;
    
  2. 备库查看当前的SCN

    SELECT TO_CHAR(CURRENT_SCN) FROM V$DATABASE;
    
  3. 备库查看文件的SCN

    SELECT DISTINCT CHECKPOINT_CHANGE# FROM V$DATAFILE_HEADER;
    

在测试环境中,以上CURRENT_SCN为5156981,其他两个都为5156982

2.增量备份

2.1.主库执行增量备份

run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup as compressed backupset incremental from SCN 5156981 database format '/archlog/backup/standby_%d_%T_%U.bak' tag 'FOR STANDBY';
backup current controlfile for standby format '/archlog/backup/standby_%d_%T_%U_CTRL.bak';
release channel c1;
release channel c2;
release channel c3;
}

2.2.传送到备库

scp * xxx.xxx.xxx.xxx:/archlog/backup/

3.备库恢复

3.1.恢复控制文件

数据库至nomount状态

alter database recover managed standby database cancel;
shutdown immediate;
startup nomount;

进入rman恢复

restore standby controlfile from '/archlog/backup/standby_DGTEST_20210621_0d01vmh7_1_1_CTRL.bak';

3.2.识别增量备份

数据库至mount状态

alter database mount;

识别备份

catalog start with '/archlog/backup';

3.3.查找新增的文件

如果没有新增文件,可以忽略此节

3.3.1.查找文件
SELECT * FROM V$DATAFILE_HEADER WHERE CREATION_CHANGE#>5156981;
3.3.2.修改备库参数
alter system set standby_file_management = manual;
3.3.3.新增对应的文件
SELECT 'alter database create datafile '''||name||''';' FROM V$DATAFILE_HEADER WHERE CREATION_CHANGE#>5156981;
3.3.4.修改备库参数
alter system set standby_file_management = auto;

3.4.恢复备库

run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
recover database noredo;
release channel c1;
release channel c2;
release channel c3;
}

4.开启数据库日志应用

alter database open read only;
alter database recover managed standby database disconnect;

5.测试并开启全备

主库新建一个表查看备库是否OK

免责声明:文章转载自《Oracle DataGuard发生归档丢失增量备份恢复备库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mongodb获取具体某一天的查询语句C#+Winform开发窗体程序下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sysbench对oracle进行压力测试

Sysbench压测Oracle 1.安装 1.1.下载sysbench安装包 mysql官网:sysbench下载 github下载:sysbench下载 digoal收藏:sysbench下载 sysbench 0.5以上版本不再支持Oracle,因此如果需要压测Oracle,需要下载sysbench 0.5版本 1.2.安装Oracle客户端 1....

Oracle SQL优化

1、SQL语句尽量用大写的:  因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。 2、使用表的别名:   当在SQL语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。这样一来,就可以减少解析的时间并减少那些由列歧义引起的语法错误。 3.表名的顺序选择要高效: ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名...

学习笔记:oracle学习一:oracle11g体系结构之物理存储结构

目录 1、物理存储结构 1.1 数据文件 1.2 控制文件 1.3 日志文件 1.3.1 重做日志文件 1.3.2 归档日志文件 1.4 服务器参数文件 1.4.1 查看服务器参数 1.4.2 修改服务器参数 1.5 密码文件、警告文件和跟踪文件 1.5.1 密码文件 1.5.2 警告文件 1.5.3 跟踪文件 本系列是作为学习...

不安装oracle客户端,如何运行sqlplus

1.软件下载 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载如下三个包: oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.ziporacle-instantclient11.2-jdbc-11.2.0.1.0...

sde用户下使用sqlplus登录错误ORA-12547: TNS:lost contact

环境:linux + oracle +arcsde   解决:root用户下增加$ORACLE_HOME/bin/oracle文件的s权限 [oracle@localhost bin]$ chmod +s oracle   查看权限 [oracle@localhost bin]$ ls -al oracle   s权限参考  chmod +s 可以给...

ORACLE对象大小写问题

在数据库新建一个测试表(数据库版本为ORACLE 10.2.0.1.0),表名为小写的test。 脚本如下所示: CREATE TABLE test(     id      NUMBER(10),     Name    VARCHAR2(20),     Sex     VARCHAR(2))--查找不到对应数据SELECT * FROM USE...