RMAN基础恢复测试
--RMAN恢复测试实战
RMAN> list backup;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 964.65M DISK 00:02:07 19-SEP-13
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20130919T011640
Piece Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_nnndf_TAG20130919T011640_93odqb65_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 838482 19-SEP-13 /u01/app/oracle/oradata/august/august/system01.dbf
2 Full 838482 19-SEP-13 /u01/app/oracle/oradata/august/august/sysaux01.dbf
3 Full 838482 19-SEP-13 /u01/app/oracle/oradata/august/august/undotbs01.dbf
4 Full 838482 19-SEP-13 /u01/app/oracle/oradata/august/august/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2 Full 9.36M DISK 00:00:08 19-SEP-13
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20130919T011640
Piece Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_ncsnf_TAG20130919T011640_93odvkkc_.bkp
SPFILE Included: Modification time: 19-SEP-13
SPFILE db_unique_name: AUGUST
Control File Included: Ckp SCN: 838535 Ckp time: 19-SEP-13
2. 归档当前日志
SQL> alter system switch logfile;
SQL> select sequence#,first_change#,next_change# ,archived from v$archived_log;
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# ARCHIV
---------- ------------- ------------ ------
2 757280 767227 YES
3 767227 780016 YES
4 780016 811911 YES
5 811911 835483 YES
6 835483 840784 YES
3. 在新的日志文件中,进行DML操作。
SQL> create table scott.rman_test1(id int,name char(10));
SQL> select * from scott.rman_test1;
ID NAME
---------- --------------------
1 log1
1 log1
1 log1
1 log1
1 log1
1 log1
将表scott.rman_test1操作日志归档。
SQL> alter system switch logfile;
SQL> select sequence#,first_change#,next_change# from v$archived_log;
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
......
6 835483 840784
7 840784 841197
在新的日志中,进行scott.rman_test2的创建,不对此日志归档,log sequence 8.
SQL> create table scott.rman_test2 as select table_name from user_tables;
此时在线日志8中有rman_test2,归档日志7中有rman_test1.
4. 使用rman进行不完整恢复到归档日志7.
注:rman restore操作需要在mount下进行,不然会报错。
RMAN> restore database;
Starting restore at 19-SEP-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=44 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/august/august/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/august/august/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/august/august/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/august/august/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_nnndf_TAG20130919T011640_93odqb65_.bkp
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 09/19/2013 20:38:42
ORA-19870: error while restoring backup piece /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_nnndf_TAG20130919T011640_93odqb65_.bkp
ORA-19573: cannot obtain exclusive enqueue for datafile 1
关闭数据库,启动到mount
RMAN> shutdown immediate /*RMAN下可以进行shutdown, startup命令*/
database closed
database dismounted
Oracle instance shut down
RMAN> startup mount;
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 322963840 bytes
Database Buffers 92274688 bytes
Redo Buffers 6094848 bytes
查看备份集信息
RMAN> list backup summary;
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
1 B F A DISK 19-SEP-13 1 1 NO TAG20130919T011640
2 B F A DISK 19-SEP-13 1 1 NO TAG20130919T011640
恢复备份文件
-rw-r-----. 1 Oracle oinstall 9830400 Sep 19 01:18 o1_mf_ncsnf_TAG20130919T011640_93odvkkc_.bkp
-rw-r-----. 1 Oracle oinstall 1011515392 Sep 19 01:18 o1_mf_nnndf_TAG20130919T011640_93odqb65_.bkp
RMAN> restore database;
Starting restore at 19-SEP-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/august/august/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/august/august/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/august/august/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/august/august/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_nnndf_TAG20130919T011640_93odqb65_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_nnndf_TAG20130919T011640_93odqb65_.bkp tag=TAG20130919T011640
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:03:45
Finished restore at 19-SEP-13
介质恢复(相当于db2中的前滚操作)
RMAN> recover database until;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found ";": expecting one of: "scn, sequence, time"
RMAN-01007: at line 1 column 23 file: standard input
可以看出RMAN中recover database until 后面可以按三种方式前滚(SCN,SEQUENCE,TIME).
这里我们按照sequence方式恢复(前滚)。
查看归档日志情况。
RMAN> list archivelog all;
List of Archived Log Copies for database with db_unique_name AUGUST
=====================================================================
Key Thrd Seq S Low Time
------- ---- ------- - ---------
1 1 2 A 15-SEP-13
Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_15/o1_mf_1_2_93cc8thy_.arc
2 1 3 A 15-SEP-13
Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_15/o1_mf_1_3_93ck0mxm_.arc
3 1 4 A 15-SEP-13
Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_16/o1_mf_1_4_93ftwxqj_.arc
4 1 5 A 16-SEP-13
Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_5_93o9xt7k_.arc
5 1 6 A 19-SEP-13
Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_6_93qgls17_.arc
6 1 7 A 19-SEP-13
Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_7_93qh7sqx_.arc
RMAN> recover database until sequence 7;
Starting recover at 19-SEP-13
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 6 is already on disk as file /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_6_93qgls17_.arc
archived log file name=/u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_6_93qgls17_.arc thread=1 sequence=6
media recovery complete, elapsed time: 00:00:06
Finished recover at 19-SEP-13
/*好像只恢复到log 7就停止了*/
RMAN> recover database until sequence 8;
Starting recover at 19-SEP-13
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 7 is already on disk as file /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_7_93qh7sqx_.arc
archived log file name=/u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_7_93qh7sqx_.arc thread=1 sequence=7
media recovery complete, elapsed time: 00:00:01
Finished recover at 19-SEP-13
/*看来需要指定到需要日志的下一个sequence*/
察看当前日志情况。
SQL> select sequence#,archived,status,first_change#,next_change# from v$log;
SEQUENCE# ARCHIV STATUS FIRST_CHANGE# NEXT_CHANGE#
---------- ------ -------------------------------- ------------- ------------
7 YES INACTIVE 840784 841197
6 YES INACTIVE 835483 840784
8 NO CURRENT 841197 2.8147E+14
我们采用不完全恢复,不应用8号日志,直接打开数据库。
RMAN> alter database open resetlogs;
database opened
数据库完成恢复,由于是resetlogs模式打开的,查看当前日志状态。
SQL> select sequence#,archived,status,first_change#,next_change# from v$log;
SEQUENCE# ARCHIV STATUS FIRST_CHANGE# NEXT_CHANGE#
---------- ------ -------------------------------- ------------- ------------
1 NO CURRENT 841198 2.8147E+14
0 YES UNUSED 0 0
0 YES UNUSED 0 0
日志被reset从1号开始了。
看到恢复后的用户表情况。
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------------------------------------
RMAN_TEST1
T_C
T_P
SALGRADE
BONUS
EMP
DEPT
看到RMAN_TEST1表已经被恢复回来了。但是里面没有数据,因为我们之前并没有commit这个插入。
RMAN基础恢复测试的更多相关文章
- RMAN数据库恢复测试
RMAN恢复实践 RMAN> list backup; using target database control file instead of recovery catalog List ...
- RMAN备份介质的移动与再恢复测试 [ catalog start with ‘dir’ ]
--RMAN备份介质的移动与再恢复测试 ---------------------------------------------------------2013/09/21 由于目前生产环境中没 ...
- 使用zfs进行pg的pitr恢复测试
前段时间做了一下zfs做pg的增量恢复测试,mark一下. 服务器信息: 主机:192.168.173.43 备机:192.168.173.41 主备使用流复制搭建,在备机上面进行了zfs快照备份. ...
- OCP读书笔记(7) - 使用RMAN执行恢复
7.Using RMAN to Perform Recovery 使用RMAN进行完全恢复system表空间文件丢失的恢复 模拟损坏: SQL> conn /as sysdba; SQL> ...
- RMAN的恢复篇
Oracle 数据库的恢复实际上包含了两个概念:数据库修复(RESTORE)与数据库恢复(RECOVER): 数据库修复:是指利用备份的数据库文件来替换已经损坏的数据库文件或者将其恢复到一个新的位置. ...
- Oracle RMAN备份恢复指导书
目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...
- RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复
1.归档模式有备份,丢失数据文件的恢复归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可. RMAN> STARUP MO ...
- 一个简单的binlog恢复测试
日常的数据备份及恢复测试,是DBA工作重中之重的事情,所以要做好备份及测试,日常的备份常见有mysqldump+binlog备份.xtrabackup+binlog备份,无论那一种,几乎都少不了对bi ...
- rman备份恢复命令之switch
rman备份恢复命令之switch 一 switch 命令 1 switch命令用途 更新数据文件名为rman下镜像拷贝时指定的数据文件名 更新数据文件名为 set newname 命令指定的名字. ...
随机推荐
- CSS样式表之background背景
[CSS常用背景属性]:background (缩写形式) background-color:背景色 background-image:背景图 url中放图片地址,背景图和背景色同时存在时,背景图覆 ...
- 使用hexdump追踪FAT32文件系统中的一个文件
最近在看文件系统基础结构等知识,本来重点是想看EXT4文件系统,但是目前没有找到比较详细说明EXT4文件系统详细结构的,用EXT3的对应着找结果有点出入,在想是不是我用hexdump的参数有问题,于是 ...
- HDOJ 1260 DP
Tickets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- VB6之阴影图层
要是能创建半透明的刷子就好了,就不必像这样以图层的方式实现透明阴影效果. 代码: 'code by lichmama@cnblogs.com '绘制阴影图层 Private Declare Funct ...
- 【Linux相识相知】bash的基础特性
命令历史 shell进程会记录用户提交执行过的命令 可以是用history查看: [root@localhost dev]# history ss -tnl ifconfig vi /etc/sysc ...
- mac版破解office
下载地址:http://ereach-public.oss-cn-shanghai.aliyuncs.com/office%202016%20for%20mac.dmg 解压密码:www.ifunma ...
- Hive实战之Youtube数据集
1 数据来源 本次实战的数据来自于"YouTube视频统计与社交网络"的数据集,是西蒙弗雷泽大学计算机学院在2008年所爬取的数据 数据集地址 1. 1 Youtube视频表格式如 ...
- IDEA的热部署插件jrebel6.4.3离线安装版配置与破解
JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...
- SAN & vSAN & vSAN storage
SAN (storage area network ) 定义: Storage area network (SAN) is a network that primarily connects the ...
- 关于shell脚本函数、数组、字符串截取、svn更新发布实例
#/bin/bash #功能:QA服根据模板创建区配置文件并提交到svn上. SOURCE_PATH=/data/source_code SVN_PATH=/code/psm #svn发布目录,要 ...