不完全恢复之--基于时间恢复
来源:互联网 发布:2010年总决赛科比数据 编辑:程序博客网 时间:2024/05/28 15:07
探索ORACLE不完全恢复之--基于时间恢复
作者:吴伟龙 Name:Prodence Woo
QQ:286507175 msn:hapy-wuweilong@hotmail.com
基于时间(time)恢复
基于时间的恢复将数据库恢复到备份点与失败点之间的某个时间点。基于时间的恢复不仅在介质失败的时候使用,也可以在数据库正常运行的时候使用。例如:某个用户误删除了某个表的数据,这个时候我们可以通过基于时间的恢复来将删除的数据恢复出来,示例如下:
1、查看当前用户下的表,只有一张WWL001
21:07:31 SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ -----------------
WWL001 TABLE
Elapsed: 00:00:00.06
我们通过WWL001来创建WWL002-WWL005 共四张表用来测试不完全恢复
21:08:28 SQL> create table wwl002 asselect * from wwl001;
Table created.
Elapsed: 00:00:00.17
21:08:55 SQL> create table wwl003 asselect * from wwl001;
Table created.
Elapsed: 00:00:00.04
21:09:00 SQL> create table wwl004 asselect * from wwl001;
Table created.
Elapsed: 00:00:00.03
21:09:06 SQL> create table wwl005 asselect * from wwl001;
Table created.
Elapsed: 00:00:00.05
如上表已经创建完成
2、我们在21:13:13开始删除表(请注意时间)
21:13:13 SQL> drop table wwl002 purge;
Table dropped.
Elapsed: 00:00:00.16
21:13:28 SQL> drop table wwl003 purge;
Table dropped.
Elapsed: 00:00:00.11
21:13:34 SQL> truncate table wwl004;
Table truncated.
Elapsed: 00:00:00.32
21:13:44 SQL> truncate table wwl005;
Table truncated.
Elapsed: 00:00:00.07
21:13:47 SQL>
因为我们是要做基于时间的恢复,那么我们只有将数据库恢复到21:13:13之前的这个时间段,才能把我们刚才创建的表找回来。
3、开始执行恢复,先将数据库启动到mount状态
21:14:40 SQL> conn / as sysdba
Connected.
21:14:44 SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
21:15:20 SQL> startup mount;
ORACLE instance started.
Total System Global Area 100663296 bytes
Fixed Size 1217884 bytes
Variable Size 88083108 bytes
Database Buffers 8388608 bytes
Redo Buffers 2973696 bytes
Database mounted.
21:15:46 SQL> e
4、开始执行restore到备份数据库的当前状态:
RMAN> restore database;
Starting restore at 12-JUL-12
using target database control file insteadof recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=47 devtype=DISK
channel ORA_DISK_1: starting datafilebackupset restore
channel ORA_DISK_1: specifying datafile(s)to restore from backup set
restoring datafile 00001 to/DBBak2/oradata/WWL/system01.dbf
restoring datafile 00002 to/DBBak2/oradata/WWL/undotbs01.dbf
restoring datafile 00003 to/DBBak2/oradata/WWL/sysaux01.dbf
restoring datafile 00004 to/DBBak2/oradata/WWL/users01.dbf
restoring datafile 00005 to/DBBak2/oradata/WWL/wwl01.dbf
restoring datafile 00006 to/DBBak2/oradata/WWL/wwl02.dbf
restoring datafile 00007 to/DBBak2/oradata/WWL/wwl03.dbf
channel ORA_DISK_1: reading from backuppiece /DBSoft/product/10.2.0/db_1/dbs/01nft4mu_1_1
channel ORA_DISK_1: restored backup piece1
piecehandle=/DBSoft/product/10.2.0/db_1/dbs/01nft4mu_1_1 tag=TAG20120712T095437
channel ORA_DISK_1: restore complete,elapsed time: 00:01:35
Finished restore at 12-JUL-12
RMAN> exit
5、执行基于时间点的恢复:
21:27:54 SQL> recover database untiltime ‘YYYY-mm-dd hh24:mi:ss’
21:27:54 SQL> recover database untiltime '2012-07-12 21:10:00';
ORA-00279: change 1436429 generated at07/12/2012 09:54:38 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_3_788372282.dbf
ORA-00280: change 1436429 for thread 1 isin sequence #3
21:30:09 Specify log:{<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 1440657 generated at 07/12/201214:00:52 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788450452.dbf
ORA-00280: change 1440657 for thread 1 isin sequence #1
ORA-00279: change 1440855 generated at07/12/2012 15:08:58 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788454538.dbf
ORA-00280: change 1440855 for thread 1 isin sequence #1
ORA-00279: change 1441316 generated at07/12/2012 15:19:50 needed for thread 1
ORA-00289: suggestion : /DBSoft/product/10.2.0/db_1/dbs/arch1_1_788455190.dbf
ORA-00280: change 1441316 for thread 1 isin sequence #1
ORA-00279: change 1442275 generated at07/12/2012 15:52:01 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788457121.dbf
ORA-00280: change 1442275 for thread 1 isin sequence #1
ORA-00279: change 1442953 generated at07/12/2012 16:25:06 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788459106.dbf
ORA-00280: change 1442953 for thread 1 is insequence #1
ORA-00279: change 1462958 generated at07/12/2012 16:28:16 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_2_788459106.dbf
ORA-00280: change 1462958 for thread 1 isin sequence #2
ORA-00278: log file '/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788459106.dbf'no longer needed for this recovery
ORA-00279: change 1462963 generated at07/12/2012 17:17:59 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788462279.dbf
ORA-00280: change 1462963 for thread 1 isin sequence #1
ORA-00279: change 1483784 generated at07/12/2012 17:54:25 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_2_788462279.dbf
ORA-00280: change 1483784 for thread 1 isin sequence #2
ORA-00278: log file'/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788462279.dbf' no longer needed forthis recovery
Log applied.
Media recovery complete.
21:30:29 SQL>
至此已经恢复完成。
6、因为做了不完全恢复,必须要做restlogs打开数据库。
21:30:29 SQL> alter database open restlogs;
alter database open restlogs
7、数据已经恢复完成,数据都回来了。
21:34:04 SQL> select * from wwl002;
ID NAME
-------------------------------------------------------
1 wwl
2 prodence
3 woo
4 xgx
5 cms
Elapsed: 00:00:00.01
21:34:16 SQL> select * from wwl003;
ID NAME
-------------------------------------------------------
1 wwl
2 prodence
3 woo
4 xgx
5 cms
Elapsed: 00:00:00.00
21:34:18 SQL> select * from wwl004;
ID NAME
-------------------------------------------------------
1 wwl
2 prodence
3 woo
4 xgx
5 cms
Elapsed: 00:00:00.01
21:34:20 SQL> select * from wwl005;
ID NAME
---------- ---------------------------------------------
1 wwl
2 prodence
3 woo
4 xgx
5 cms
Elapsed: 00:00:00.01
21:34:22 SQL>
- 不完全恢复之--基于时间恢复
- 基于时间不完全恢复之rman篇
- RMAN基于时间点恢复不完全恢复
- RMAN基于时间点恢复不完全恢复
- 基于时间点的不完全恢复
- RMAN基于时间点的不完全恢复
- Oracle基于时间的不完全恢复
- rman 基于时间的不完全恢复
- RMAN备份与恢复之基于时间点的不完全恢复
- RMAN备份与恢复—基于时间的不完全恢复
- 探索ORACLE不完全恢复之--基于SCN恢复 第一篇
- 探索ORACLE不完全恢复之--基于检查点恢复 第二篇
- 探索ORACLE不完全恢复之--基于cancel恢复 第一篇
- 探索ORACLE不完全恢复之--基于备份控制文件恢复
- ARCHIVELOG模式下用户管理的不完全恢复—基于时间点的不完全恢复
- 不完成恢复机制+基于时间的恢复+基于撤销的不完全恢复+基于更改的恢复
- 基于时间点的用户管理的不完全恢复
- rman表空间基于时间点的不完全恢复
- 关于unity3的中的碰撞检测
- zoj1051--------A New Growth Industry 细菌~
- 抽象工厂+反射 实例讲解
- Java获取URL链接的文件类型
- Determining If a Filename Path Is a File or a Directory
- 不完全恢复之--基于时间恢复
- android 获得手机MAC 和 IP
- Selenium
- 可重入与不可重入函数
- android自定义对话框去除黑底
- php 合并两个有序数组
- 在Eclipse中使用sequoyah插件配置Android NDK环境
- STL系列之四 heap 堆
- [情人节专属]纯js脚本3D玫瑰