无数次我对自己说,可以了,足够了,你已经明白了,需要学习的东西还很多,赶紧冲着下个目标去吧。尤幸的是在下一刻,另一个声音在脑海中响起,再加把劲,真的搞明白了,亲手去做个测试吧。
前面说过的,在非恢复目录(catalog)模式下,rman的备份信息都将存储在目标数据库的控制文件中,所以一旦控制文件丢失,不仅目标数据库崩溃,而且rman备份信息也尽数丢失,这种情况下,如果您有控制文件备份,那还有救(没有备份的话,也并非完全没有希望,如果您对自己的oracle结构非常了解,可以通过写脚本的方式自已重建控制文件。看看oracle是不是考虑的很周全了,很多情况下你认为没救了的时候,也并非完全陷入绝境)。
本章将模拟归档模式下,控制文件丢失情况下的恢复,在本例中,我们仍然借助上节中建立的备份做恢复,大家应该还记的。
在应用备份恢复时,必须知道目标数据库的DBID,有多种方式可查,比如我们创建自动备份时,如果没有更改其命名方式,文件名中会包含DBID;或者查看之前的rman备份日志,其中登陆到rman之后会显示出目标数据库的DBID
SQL> select *from jss.tmp3;
COL
--------------------------------------------------
test4
test1
test2
test3
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>host del F:\OraHome1\oradata\jssweb\CONTROL*;
SQL> EXIT;
C:\Documents and Settings\Administrator>rman target /
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: jssweb(未安装)
RMAN> set dbid 3391142503
#####由于目标数据库控制文件丢失,在此处必须指定dbid
正在执行命令: SET DBID
RMAN> restore controlfile from 'd:\backup\C-3391142503-20070718-04';
########如果打开了自动备份,通过restore controlfile from autobackup也可以
########不过需要注意,因为控制文件没有了,所以rman的配置信息也丢失了,你需要用 set controlfile autobackup format for device type disk to 'd:\backup\%F';命令重设一个自动备份的控制文件所在路径。
启动 restore 于 18-7月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在恢复控制文件
通道 ORA_DISK_1: 恢复完成
正在复制控制文件
输出文件名=F:\ORAHOME1\ORADATA\JSSWEB\CONTROL01.CTL
输出文件名=F:\ORAHOME1\ORADATA\JSSWEB\CONTROL02.CTL
输出文件名=F:\ORAHOME1\ORADATA\JSSWEB\CONTROL03.CTL
完成 restore 于 18-7月 -07
RMAN> sql 'alter database mount';
#######控制文件已恢复,将目标数据库置为加载状态
正在使用目标数据库控制文件替代恢复目录
sql 语句: alter database mount
RMAN> restore database;
########修复数据库
启动 restore 于 18-7月 -07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=12 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到F:\ORAHOME1\ORADATA\JSSWEB\SYSTEM01.DBF
正将数据文件00002恢复到F:\ORAHOME1\ORADATA\JSSWEB\UNDOTBS01.DBF
正将数据文件00003恢复到F:\ORAHOME1\ORADATA\JSSWEB\DRSYS01.DBF
正将数据文件00004恢复到F:\ORAHOME1\ORADATA\JSSWEB\EXAMPLE01.DBF
正将数据文件00005恢复到F:\ORAHOME1\ORADATA\JSSWEB\INDX01.DBF
正将数据文件00006恢复到F:\ORAHOME1\ORADATA\JSSWEB\ODM01.DBF
正将数据文件00007恢复到F:\ORAHOME1\ORADATA\JSSWEB\TOOLS01.DBF
正将数据文件00008恢复到F:\ORAHOME1\ORADATA\JSSWEB\USERS01.DBF
正将数据文件00009恢复到F:\ORAHOME1\ORADATA\JSSWEB\XDB01.DBF
正将数据文件00010恢复到F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=D:\BACKUP\1AIN4JU5_1_1 tag=TAG20070718T092837 params=NULL
通道 ORA_DISK_1: 恢复完成
完成 restore 于 18-7月 -07
RMAN> recover database;
########恢复数据库
启动 recover 于 18-7月 -07
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 7 已作为文件 F:\ORAHOME1\ORADATA\JSSWEB\REDOC02.LOG 存在于
盘上
存档日志线程 1 序列 8 已作为文件 F:\ORAHOME1\ORADATA\JSSWEB\REDOA01.LOG 存在于
盘上
存档日志线程 1 序列 9 已作为文件 F:\ORAHOME1\ORADATA\JSSWEB\REDOB02.LOG 存在于
盘上
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=5
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=D:\BACKUP\1BIN4K16_1_1 tag=TAG20070718T093014 params=NULL
通道 ORA_DISK_1: 恢复完成
存档日志文件名 =F:\ORAHOME1\RDBMS\ARC00005.001 线程 =1 序列 =5
存档日志文件名 =F:\ORAHOME1\RDBMS\ARC00006.001 线程 =1 序列 =6
存档日志文件名 =F:\ORAHOME1\ORADATA\JSSWEB\REDOC02.LOG 线程 =1 序列 =7
存档日志文件名 =F:\ORAHOME1\ORADATA\JSSWEB\REDOA01.LOG 线程 =1 序列 =8
存档日志文件名 =F:\ORAHOME1\ORADATA\JSSWEB\REDOB02.LOG 线程 =1 序列 =9
完成介质的恢复
完成 recover 于 18-7月 -07
RMAN> sql 'alter database open resetlogs';
######由于使用备份的控制文件恢复,该文件内不包含目标数据库redologs和数据文件头部scn信息,所以必须通过resetlogs方式open。
sql 语句: alter database open resetlogs
RMAN> host;
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>sqlplus jss/jss
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 7月 18 17:40:28 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> select *from tmp3;
COL
--------------------------------------------------
test4
test1
test2
test3
#######成功恢复,数据也没有丢失
SQL> exit
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中断开
C:\Documents and Settings\Administrator>exit
主机命令完成
RMAN>
注意,恢复之后表忘了重建临时表空间。另外,由于resetlogs,建议立即对数据库进行一次完全备份。
相关推荐
第九篇 实战rman恢复(1)丢失控制文件的恢复 第十篇 实战rman恢复(2)恢复到异机 第11篇 RMAN笔记之综述 Duplicate复制数据库之基本概述 Duplicate复制数据库之创建辅助实例 Duplicate复制数据库之不同环境下的复制...
5. **控制文件备份**:控制文件记录了数据库的结构和状态,是恢复过程的关键组件。确保控制文件的安全备份至关重要。 6. **归档日志备份**:在归档日志模式下运行的数据库,归档日志记录了事务提交后所做的更改,...
7. **备份与恢复**:在“ORACLE第8天”中,可能涉及数据库的备份策略和恢复技术,如RMAN(恢复管理器)的使用,了解如何在数据丢失时恢复到特定状态。 8. **性能优化**:Oracle提供了许多工具和技巧来优化数据库...
本章介绍了完整备份、增量备份、热备份和冷备份的区别,以及如何使用RMAN(恢复管理器)进行数据恢复,确保在系统故障或数据丢失时能够迅速恢复服务。 第十三章:“性能优化---通向OCP之路”探讨了提高Oracle9i性能...
8. **数据库备份与恢复**:熟悉RMAN(恢复管理器)工具,学习如何制定备份策略,进行完整备份、增量备份和差异备份,并掌握如何在数据丢失时进行恢复。 9. **数据库故障诊断**:学习如何使用日志文件和告警日志来...
你将学习使用RMAN(恢复管理器)进行备份,以及如何在数据丢失或故障时进行恢复操作。 第12-13天:性能优化 Oracle提供了多种工具和策略进行性能优化,如SQL*Plus、Explain Plan、索引优化、分区等。这部分将教你...
1. **Oracle数据库基础**:介绍Oracle数据库的基本架构,包括表空间、数据文件、控制文件、重做日志等概念,以及它们在数据库运行中的作用。 2. **安装与配置**:详述Oracle数据库的安装过程,包括选择适当的硬件和...
1. **RMAN(恢复管理器)**:学习使用Oracle的RMAN工具进行全库、表空间或单个文件的备份,并理解其备份策略。 2. **归档日志模式**:理解归档日志模式对于实现完整恢复的重要性,以及如何启用和管理归档日志。 3. *...
7. **备份与恢复**:了解Oracle的备份策略,如完整备份、增量备份和RMAN(Recovery Manager)工具,以及如何在数据丢失时进行恢复操作,是任何数据库管理员的基本技能。 8. **性能优化**:Oracle提供了许多工具和...
6. 数据备份与恢复:学习Oracle的备份策略,包括物理备份和逻辑备份,以及如何使用RMAN(恢复管理器)进行数据库恢复,以应对数据丢失或系统故障。 7. 性能优化:了解Oracle的性能监控工具,如SQL*Plus的EXPLAIN ...
理解Oracle数据库的基本架构,包括数据文件、控制文件、重做日志文件、系统全局区(SGA)和进程结构,是成为合格DBA的第一步。 2. **安装与配置**:书中详细介绍了Oracle的安装过程和系统配置,包括选择合适的硬件...
书中将详细解释表空间、数据文件、控制文件、重做日志文件等核心概念,以及如何管理和调整这些组件以优化性能。 3. **SQL语言与PL/SQL**:Oracle数据库基于SQL进行数据操作,而PL/SQL是其特有的过程式语言,用于...
8. **备份与恢复**:学习Oracle的备份策略,如使用RMAN(恢复管理器)进行完整备份、增量备份,以及如何在数据丢失时进行恢复,对于保障业务连续性非常重要。 9. **性能优化**:了解如何使用Explain Plan分析查询...
Oracle 11g是Oracle公司推出的一个企业级数据库管理系统,它是Oracle数据库的第十二个主要版本,提供了许多增强的功能和优化,旨在提升性能、可扩展性以及管理效率。本资源"Oracle+11g+从入门到精通"显然是为了帮助...
7. **备份与恢复**:数据库的备份和恢复是关键技能,Oracle提供了RMAN( Recovery Manager)和闪回技术来应对数据丢失或系统故障。 8. **性能优化**:通过分析和调整SQL语句、使用绑定变量、调整初始化参数、利用...