rman归档备份恢复数据

rman归档备份恢复数据

1 、数据库备份

[oracle@dbtest2 ~]$ rman target /

恢复管理器: Release 11.2.0.4.0 - Production on 星期四 1月 21 12:39:34 2021

Copyright © 1982, 2011, Oracle and/or its affiliates. All rights reserved.

已连接到目标数据库: WDDB (DBID=4144267307)

0级全备+归档备份脚本
run
{
allocate channel c1 device type disk;
backup incremental level 0 format ‘/u02/oracle_bak/full/bk_%d_%s_%T_%t_%p’ DATABASE;
crosscheck archivelog all;
backup format ‘/u02/oracle_bak/full/arch_%d_%s_%T_%t_%p’ archivelog all delete input;
backup current controlfile format ‘/u02/oracle_bak/full/ctrl_%d_%s_%T_%t_%p’;
release channel c1;
}

备份归档
run{
allocate channel c1 device type disk;
crosscheck archivelog all;
backup format ‘/u02/oracle_bak/full/arch_%d_%s_%T_%t_%p’ archivelog all;
backup current controlfile format ‘/u02/oracle_bak/full/ctrl_%d_%s_%T_%t_%p’;
release channel c1;
}

2、恢复数据库

2.1 安装数据库软件,不创建数据库

2.2 根据pfile文件生成spfile文件
[oracle@dbtest2 dbs]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on 星期四 1月 21 13:18:18 2021

Copyright © 1982, 2013, Oracle. All rights reserved.

SQL> conn / as sysdba
已连接到空闲例程。

SQL> create spfile from pfile=’/u01/app/oracle/product/11.2.0/db_1/dbs/initwddb.ora’
2 ;

文件已创建。

2.3 启动数据库到nomount状态
SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area 1202556928 bytes
Fixed Size 2252704 bytes
Variable Size 1073741920 bytes
Database Buffers 117440512 bytes
Redo Buffers 9121792 bytes

2.4 rman恢复最新的控制文件
[oracle@dbtest2 ~]$ rman target /

恢复管理器: Release 11.2.0.4.0 - Production on 星期四 1月 21 13:21:02 2021

Copyright © 1982, 2011, Oracle and/or its affiliates. All rights reserved.

已连接到目标数据库: WDDB (未装载)

RMAN> set DBID=4144267307

正在执行命令: SET DBID

RMAN> restore controlfile from ‘/u02/oracle_bak/full/ctrl_WDDB_39_20210121_1062421358_1’;

启动 restore 于 21-1月 -21
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=1388 设备类型=DISK

通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
输出文件名=/u01/app/oracle/oradata/control01.ctl
完成 restore 于 21-1月 -21

2.5 改变数据库到mount状态
RMAN> list backup of archivelog all;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 命令 (在 01/21/2021 13:30:07 上) 失败
ORA-01507: 未装载数据库

RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1

RMAN> list backup of archivelog all;

备份集列表

BS 关键字 大小 设备类型占用时间 完成时间


4 21.53M DISK 00:00:02 21-1月 -21
BP 关键字: 4 状态: AVAILABLE 已压缩: NO 标记: TAG20210121T124708
段名:/u02/oracle_bak/full/arch_WDDB_36_20210121_1062420428_1

备份集 4 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次


1 2375 44781166 21-1月 -21 44785101 21-1月 -21
1 2376 44785101 21-1月 -21 44786179 21-1月 -21
1 2377 44786179 21-1月 -21 44787337 21-1月 -21

BS 关键字 大小 设备类型占用时间 完成时间


6 25.03M DISK 00:00:00 21-1月 -21
BP 关键字: 6 状态: AVAILABLE 已压缩: NO 标记: TAG20210121T130237
段名:/u02/oracle_bak/full/arch_WDDB_38_20210121_1062421357_1

备份集 6 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次


1 2375 44781166 21-1月 -21 44785101 21-1月 -21
1 2376 44785101 21-1月 -21 44786179 21-1月 -21
1 2377 44786179 21-1月 -21 44787337 21-1月 -21
1 2378 44787337 21-1月 -21 44789069 21-1月 -21
1 2379 44789069 21-1月 -21 44789313 21-1月 -21

RMAN>

RMAN> catalog start with ‘/u02/oracle_bak/full’;

搜索与样式 /u02/oracle_bak/full 匹配的所有文件

数据库未知文件的列表

文件名: /u02/oracle_bak/full/ctrl_WDDB_39_20210121_1062421358_1

是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录…
目录编制完毕

已列入目录的文件的列表

文件名: /u02/oracle_bak/full/ctrl_WDDB_39_20210121_1062421358_1

2.6 还原备份的数据文件,0级备份之后添加的数据文件,先创建
RMAN> restore database;

启动 restore 于 21-1月 -21
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=1388 设备类型=DISK

创建数据文件, 文件号 = 7 名称 = /u01/app/oracle/oradata/user02.dbf
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 /u01/app/oracle/oradata/system.259.1005086383
通道 ORA_DISK_1: 将数据文件 00002 还原到 /u01/app/oracle/oradata/sysaux.260.1005086387
通道 ORA_DISK_1: 将数据文件 00003 还原到 /u01/app/oracle/oradata/undotbs1.261.1005086389
通道 ORA_DISK_1: 将数据文件 00004 还原到 /u01/app/oracle/oradata/undotbs2.263.1005086399
通道 ORA_DISK_1: 将数据文件 00005 还原到 /u01/app/oracle/oradata/users.264.1005086399
通道 ORA_DISK_1: 将数据文件 00006 还原到 /u01/app/oracle/oradata/undotbs3.268.1005160043
通道 ORA_DISK_1: 正在读取备份片段 /u02/oracle_bak/full/bk_WDDB_34_20210121_1062420353_1
通道 ORA_DISK_1: 段句柄 = /u02/oracle_bak/full/bk_WDDB_34_20210121_1062420353_1 标记 = TAG20210121T124553
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:01:55
完成 restore 于 21-1月 -21

2.7 按SCN恢复数据库
RMAN> recover database until scn 44789069;

启动 recover 于 21-1月 -21
使用通道 ORA_DISK_1

正在开始介质的恢复

通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=2377
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=2378
通道 ORA_DISK_1: 正在读取备份片段 /u02/oracle_bak/full/arch_WDDB_38_20210121_1062421357_1
通道 ORA_DISK_1: 段句柄 = /u02/oracle_bak/full/arch_WDDB_38_20210121_1062421357_1 标记 = TAG20210121T130237
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
归档日志文件名=/u01/app/oracle/rman/archivelog/1_2377_1028113613.dbf 线程=1 序列=2377
归档日志文件名=/u01/app/oracle/rman/archivelog/1_2378_1028113613.dbf 线程=1 序列=2378
介质恢复完成, 用时: 00:00:03
完成 recover 于 21-1月 -21

RMAN>

2.8 检查数据文件的头状态是否一致
[oracle@dbtest2 full]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on 星期四 1月 21 13:40:47 2021

Copyright © 1982, 2013, Oracle. All rights reserved.

SQL> conn / as sysdba
已连接。
SQL> SELECT FILE#, CHECKPOINT_CHANGE#, RECOVER, FUZZY FROM V$DATAFILE_HEADER;

 FILE# CHECKPOINT_CHANGE# RECOVER   FUZZY

     1           44789069           NO
     2           44789069           NO
     3           44789069           NO
     4           44789069           NO
     5           44789069           NO
     6           44789069           NO
     7           44789069           NO

已选择7行。

2.9 改变数据库到open状态
[oracle@dbtest2 ~]$ rman target /

恢复管理器: Release 11.2.0.4.0 - Production on 星期四 1月 21 13:42:32 2021

Copyright © 1982, 2011, Oracle and/or its affiliates. All rights reserved.

已连接到目标数据库: WDDB (DBID=4144267307)
RMAN> alter database open resetlogs;

数据库已打开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值