探索ORACLE不完全恢复之--基于cancel恢复 第一篇
作者:吴伟龙 Name:Prodence Woo
QQ:286507175 msn:hapy-wuweilong@hotmail.com
基于cancel的不一致性恢复(归档存在) 第一篇
基于取消的恢复只适用于以下情况:归档日志丢失导致完全恢复失败;丢失了数据文件和未归档的重做日志(联机重做日志);
1、先关闭数据库,执行一次全库冷备份。
SQL> selectfile_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/DBBak2/oradata/WWL/users01.dbf
/DBBak2/oradata/WWL/sysaux01.dbf
/DBBak2/oradata/WWL/undotbs01.dbf
/DBBak2/oradata/WWL/system01.dbf
/DBBak2/oradata/WWL/WWL001.dbf
/DBBak2/oradata/WWL/WWL002.dbf
/DBBak2/oradata/WWL/WWL003.dbf
7 rows selected.
SQL> shutdownimmediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !mkdir/DBBak2/oradata/WWL2
SQL> !cp/DBBak2/oradata/WWL/* /DBBak2/oradata/WWL2/
2、然后打开数据库继续使用,我们可以看到备份的时候数据库wwl001表中只有4条记录。
SQL> select * fromwwl001;
ID NAME
---------- ------------------
1 jetsen
2 woo
3 prudence
4 beijin
4 rows selected.
3、继续向wwl001表中插入数据,并切换日志让redo log归档。
SQL> insert intowwl001 values(5,'china');
1 row created.
SQL> insert intowwl001 values(6,'america');
1 row created.
SQL> commit;
Commit complete.
SQL> select * fromwwl001;
ID NAME
---------- ------------------
1 jetsen
2 woo
3 prudence
4 beijin
5 china
6 america
6 rows selected.
SQL>
SQL> alter systemswitch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
4、关闭数据库,模拟数据文件丢失,归档日志也丢失了,所以数据库只能做不一致性恢复。
SQL> shutdownabort;
ORACLE instance shut down.
SQL> !rm -rf/DBBak2/oradata/WWL/*.dbf
SQL> !cp/DBBak2/oradata/WWL2/*.dbf /DBBak2/oradata/WWL/
SQL> !cp /DBBak2/oradata/WWL2/*.dbf/DBBak2/oradata/WWL/
5、执行基于取消的不完全恢复
SQL> startup
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.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1:'/DBBak2/oradata/WWL/system01.dbf'
SQL>select * fromv$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- --------------------------- ---------- ---------
1 ONLINE ONLINE 1783695 31-JUL-12
2 ONLINE ONLINE 1783695 31-JUL-12
3 ONLINE ONLINE 1783695 31-JUL-12
4 ONLINE ONLINE 1783695 31-JUL-12
5 ONLINE ONLINE 1783695 31-JUL-12
6 ONLINE ONLINE 1783695 31-JUL-12
7 ONLINE ONLINE 1783695 31-JUL-12
7 rows selected.
SQL> recoverdatabase until cancel;
ORA-00279: change 1783695 generated at07/31/2012 15:32:04 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch/1_2_790095025.dbf
ORA-00280: change 1783695 for thread 1 isin sequence #2
Specify log: {<RET>=suggested |filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SQL>
SQL> select * fromv$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- --------------------------- ---------- ---------
1 ONLINE ONLINE 1783695 31-JUL-12
2 ONLINE ONLINE 1783695 31-JUL-12
3 ONLINE ONLINE 1783695 31-JUL-12
4 ONLINE ONLINE 1783695 31-JUL-12
5 ONLINE ONLINE 1783695 31-JUL-12
6 ONLINE ONLINE 1783695 31-JUL-12
7 ONLINE ONLINE 1783695 31-JUL-12
7 rows selected.
SQL> alterdatabase open resetlogs;
Database altered.
SQL> conn wwl/wwl
Connected.
SQL> select * fromwwl001;
ID NAME
---------- ------------------
1 jetsen
2 woo
3 prudence
4 beijin
SQL>
分享到:
相关推荐
### Oracle RMAN 异机不完全恢复 #### 实验背景 在实际的数据库管理工作中,可能会遇到因误操作导致的数据丢失或损坏的情况。在这种情况下,如何有效地利用备份数据完成数据库的恢复工作至关重要。本实验模拟了一...
这通常意味着完整的安装可能包含多个磁盘映像或部分,而 "Disk1" 是其中的第一个部分。在这种情况下,"Disk1" 可能包含了安装过程的初始文件,例如启动脚本、依赖关系信息和其他必需的组件。在安装过程中,如果存在...
头文件:/usr/include/oracle/11.2/client64/ 下,如果在使用时报错找不到头文件,记得看路径是否是这个。 包文件:/usr/lib/oracle/11.2/client64/ 下,包含{bin、lib}两个文件夹; 1.3 创建文件夹: #mkdir -p /...
Oracle数据库的不完全恢复是一种特殊的恢复机制,它用于在某些特定情况下,如丢失部分归档日志或数据文件,使得完全恢复无法实现时,通过应用部分日志来恢复数据库到故障发生前的一个特定状态。不完全恢复的目标是尽...
第一,信息仅存储有限的时间。具体而言,就是 CONTROLFILE_RECORD_KEEP_TIME 实例参数指定的天数,默认为 7 天。如果仅使用基于控制文件的库,就可能希望调整它,让 RMAN 把信息保留更长的时间。例如,把这个时间段...
ODU全称Oracle Data Recovery Assistant(Oracle数据恢复助手),它是Oracle Database提供的一种实用程序,可以帮助管理员执行各种恢复操作,包括备份恢复、崩溃恢复、表空间恢复等。此工具简化了复杂的数据库恢复...
头文件:/usr/include/oracle/11.2/client64/ 下,如果在使用时报错找不到头文件,记得看路径是否是这个。 包文件:/usr/lib/oracle/11.2/client64/ 下,包含{bin、lib}两个文件夹; 1.3 创建文件夹: #mkdir -p /...
c3p0-oracle-thin-extras-0.9.2.1
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm client 安装包 rpm -> deb : sudo alien xxx.rpm
Oracle Instant Client是Oracle公司提供的一款轻量级的数据库连接工具,它允许开发者和系统管理员在不安装完整Oracle数据库的情况下,与Oracle数据库进行交互。这个压缩包"oracle-instantclient11.2-sdk-11.2.0.1.0-...
Oracle 19c 备份恢复-导入导出 Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作...
oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
oracle11g-client-win-64客户端安装包
《Oracle经典书籍之---ORACLE-RAC》是一本专门探讨Oracle Real Application Clusters(RAC)技术的专业书籍,英文原版提供了深入的理论知识和实践经验。Oracle RAC是Oracle数据库的一项重要特性,它允许多个数据库...
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
当数据库系统发生故障时,这些文件可能损坏或丢失,恢复的第一步就是确保拥有所有必要的dbf文件。如果数据库在崩溃前已经正常关闭,那么数据文件通常可以被安全地恢复;然而,如果数据库在不正常状态下关闭,数据...
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 64位 只为了方便大家下载,请还是以官方的为准
此外,Oracle也借此机会进入中小企业市场,MySQL作为开源数据库,为预算有限的客户提供了一个经济实惠的选择,同时与微软的SQL Server展开竞争,而不损害Oracle高端产品的定位。 并购Sun后,Oracle与某些硬件合作...
kmod-oracleasm 是一个专门为CentOS操作系统编译的内核模块,它允许操作系统与Oracle ASM进行交互,是Oracle RAC (Real Application Clusters) 在Linux环境下运行的必备组件之一。 在Oracle RAC部署中,Oracle ASM...
【cx-oracle instantclient-basic-win32-10.2.0.4 第一部分】这个压缩包文件是针对Oracle数据库连接的驱动程序,主要用于Windows 32位操作系统环境。cx-Oracle是一个Python模块,它提供了与Oracle数据库交互的能力,...