模拟controfile丢失与重建
- --模拟controlfile丢失与重建
- ----------------------------------------------------------------2013/09/21
- 1. 关闭数据库。
- 2. 将controlfile重命名模拟丢失。
- [Oracle@localhost august]$ mv control01.ctl control01.ctl_bkp
- [Oracle@localhost august]$ mv control02.ctl control02.ctl_bkp
- 3. 使用rman启动数据库。
- RMAN> startup mount;
- Oracle instance started
- RMAN-00571: ===========================================================
- RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
- RMAN-00571: ===========================================================
- RMAN-03002: failure of startup command at 09/20/2013 20:03:34
- ORA-00205: error in identifying control file, check alert log for more info
- 没有control file只能启动到nomount状态。
- 4. 即使没有控制文件,RMAN还是能识别自己的autobackup目录,可以直接使用下面命令
- RMAN> restore controlfile to '/u01/app/oracle/oradata/august/august/control01.ctl' from autobackup;
- 我们可以也通过直接指定自动备份集来进行恢复。
- RMAN> restore controlfile to '/u01/app/oracle/oradata/august/august/control01.ctl' from '/u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_20/o1_mf_s_826618674_93rss9os_.bkp';
- Starting restore at 20-SEP-13
- using channel ORA_DISK_1
- channel ORA_DISK_1: restoring control file
- channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
- Finished restore at 20-SEP-13
- 启动数据库到mount
- RMAN> alter database mount;
- RMAN-00571: ===========================================================
- RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
- RMAN-00571: ===========================================================
- RMAN-03002: failure of alter db command at 09/20/2013 20:22:24
- ORA-00205: error in identifying control file, check alert log for more info
- --因为ORACLE这里要求所有的控制的文件都要被一致的恢复,在此数据库中有两份控制文件,我们这里只恢复了一份,它不能识别。这些信息在参数文件中指定好了。
- RMAN> restore controlfile to '/u01/app/oracle/flash_recovery_area/august/august/control02.ctl' from autobackup;
- Starting restore at 20-SEP-13
- using channel ORA_DISK_1
- recovery area destination: /u01/app/oracle/flash_recovery_area/august
- database name (or database unique name) used for search: AUGUST
- channel ORA_DISK_1: AUTOBACKUP /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_20/o1_mf_s_826618674_93rss9os_.bkp found in the recovery area
- channel ORA_DISK_1: looking for AUTOBACKUP on day: 20130920
- channel ORA_DISK_1: restoring control file from AUTOBACKUP /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_20/o1_mf_s_826618674_93rss9os_.bkp
- channel ORA_DISK_1: control file restore from AUTOBACKUP complete
- Finished restore at 20-SEP-13
- RMAN> alter database mount;
- database mounted
- released channel: ORA_DISK_1
- 恢复另一份控制文件后,就可以正常mount了。
- 或者我们可以直接采用下面这种方式,ORACLE自己决定恢复的目录。
- RMAN> restore controlfile from '/u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_20/o1_mf_s_826618674_93rss9os_.bkp';
- Starting restore at 20-SEP-13
- allocated channel: ORA_DISK_1
- channel ORA_DISK_1: SID=19 device type=DISK
- channel ORA_DISK_1: restoring control file
- channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
- output file name=/u01/app/oracle/oradata/august/august/control01.ctl
- output file name=/u01/app/oracle/flash_recovery_area/august/august/control02.ctl
- Finished restore at 20-SEP-13
- RMAN> alter database mount;
- database mounted
- released channel: ORA_DISK_1
- 由于控制文件恢复,进行数据库恢复,同步文件信息。
- RMAN> recover database;
- Starting recover at 20-SEP-13
- Starting implicit crosscheck backup at 20-SEP-13
- allocated channel: ORA_DISK_1
- channel ORA_DISK_1: SID=19 device type=DISK
- Crosschecked 3 objects
- Finished implicit crosscheck backup at 20-SEP-13
- Starting implicit crosscheck copy at 20-SEP-13
- using channel ORA_DISK_1
- Finished implicit crosscheck copy at 20-SEP-13
- searching for all files in the recovery area
- cataloging files...
- cataloging done
- List of Cataloged Files
- =======================
- File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_20/o1_mf_s_826618674_93rss9os_.bkp
- using channel ORA_DISK_1
- /*完成更新同步控制文件中的备份信息*/
- starting media recovery
- archived log for thread 1 with sequence 1 is already on disk as file /u01/app/oracle/oradata/august/august/redo01.log
- archived log file name=/u01/app/oracle/oradata/august/august/redo01.log thread=1 sequence=1
- media recovery complete, elapsed time: 00:00:09
- Finished recover at 20-SEP-13
- /*完成介质恢复*/
- --转储数据文件头文件
- SQL> alter session set events 'immediate trace name file_hdrs level 10';
- *** 2013-09-20 21:06:30.810
- DUMP OF DATA FILES: 4 files in database
- DATA FILE #1:
- name #7: /u01/app/oracle/oradata/august/august/system01.dbf
- creation size=0 block size=8192 status=0xe head=7 tail=7 dup=1
- tablespace 0, index=1 krfil=1 prev_file=0
- unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
- Checkpoint cnt:105 scn: 0x0000.000d0471 09/20/2013 19:59:32 /*853105 : <1> 845017 --2.8147E+14 1号日志文件*/
- Stop scn: 0x0000.000d0471 09/20/2013 19:59:32
- --转储新的控制信息
- -DATABASE
- Database checkpoint: Thread=1 scn: 0x0000.000ce4dc /*847180*/
- -CHECKPOINT
- low cache rba:(0x1.3.0) on disk rba:(0x1.72.0)
- on disk scn: 0x0000.000ce57a 09/20/2013 08:17:51 /*845178*/ /*检查点都没有得到更新,数据库还没打开也可以理解*/
- -DATAFILE
- Checkpoint cnt:105 scn: 0x0000.000d0471 09/20/2013 19:59:32
- Stop scn: 0x0000.000d0471 09/20/2013 19:59:32 /*datafile的信息都同步为最新*/
- --打开数据库
- RMAN> alter database open;
- RMAN-00571: ===========================================================
- RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
- RMAN-00571: ===========================================================
- RMAN-03002: failure of alter db command at 09/20/2013 20:59:08
- ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
- RMAN> alter database open noresetlogs;
- RMAN-00571: ===========================================================
- RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
- RMAN-00571: ===========================================================
- RMAN-00558: error encountered while parsing input commands
- RMAN-01009: syntax error: found "identifier": expecting one of: "resetlogs, ;"
- RMAN-01008: the bad identifier was: noresetlogs
- RMAN-01007: at line 1 column 21 file: standard input
- --可见即使信息同步了,我们也只能以resetlogs方式打开数据库。这里需要指出常见的几种情况,需要以resetlogs方式打开数据库。
- 1. 在执行了不完全恢复之后。
- 2. 在使用了备份的控制文件进行恢复后。
- 3. 使用带有resetlogs选项创建的控制文件恢复之后。
- RMAN> alter database open resetlogs;
- database opened
模拟controfile丢失与重建的更多相关文章
- 模拟数据库丢失undo表空间
数据库无事务情况下丢失undo表空间数据文件 1. 查看当前undo表空间,并删除物理undo文件 SYS@userdata>show parameter undo_tablespace; NA ...
- Oracle主库归档丢失,备库日志有gap,在不重建备库的情况下,恢复备库
本文主要描述Oracle备库日志与主库日志之间有gap,切主库这部分gap的归档日志已经删除或丢失,如何在不重建备库的情况下,恢复备库. 欢迎转载,请注明作者.出处. 作者:张正 blog:http: ...
- ORACLE模拟临时文件、日志成员、口令文件丢失情况与恢复【weber出品】
一.临时表空间文件.日志文件和口令文件都属于非关键性文件,因为这些文件丢失后并不会影响到整个数据库的完整性. 但是,当这些文件丢失后我们需要快速的找回这些文件.接下来我将模拟临时表空间文件.日志文件和 ...
- 【DATAGUARD】物理dg在主库丢失归档文件的情况下的恢复(七)
[DATAGUARD]物理dg在主库丢失归档文件的情况下的恢复(七) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到 ...
- dataguard 归档丢失(主库中无此丢失归档处理),备库基于SCN恢复
dataguard 归档丢失(主库中无此丢失归档处理),备库基于SCN恢复 环境: OS: CentOS 6.5 DB: Oracle 10.2.0.5 1.主备库环境 主库: SQL> sel ...
- Oracle数据库坏块的恢复
模拟数据块坏块: 对于发生数据块不一致的数据块,如果当前数据库有备份且处于归档模式,那么就可以利用rman工具数据块恢复功能 对数据块进行恢复,这种方法最简单有效,而且可以在数据文件在线时进行,不会发 ...
- 对Oracle数据库坏块的理解
1.物理坏块和逻辑坏块 在数据库中有一个概念叫做数据块的一致性,Oracle的数据块的一致性包括了两个层次:物理一致性和逻辑一致性,如果一个数据块在这两个层次上存在不一致性,那就对应到了我们今天要要说 ...
- 【原】Linux Raid 实验
本文参照以下两个链接,将实验重做了一遍,目的就是加深印象及提升实操能力 参照链接:http://www.opsers.org/base/learning-linux-the-day-that-the- ...
- Redis,Memcache比较
简单比较: Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储.memcache只支持简单的K/V类型数据, 不过memcache可以缓存其他东西如图片, ...
随机推荐
- Ext 常用组件解析
Ext 常用组件解析 Panel 定义&常用属性 //1.使用initComponent Ext.define('MySecurity.view.resource.ResourcePanel' ...
- Linux之虚拟机网络配置
一般安装完虚拟机后,VMware会为虚拟机在网络连接配置为“NAT模式(N):用于共享主机的IP地址”. 这种模式下虚拟机会共享主机的网络环境,主机可以访问外网那么虚拟机可以,主机可以(哪怕是拨VPN ...
- Java自学手记——注解
注意区分注释和注解,注释是给人看的,注解是给程序看的. 注解的作用是代替配置文件,在servlet3.0中,就可以不再使用web.xml文件,而是所有配置都是用注解!比如注解类 @WebServlet ...
- 集合的定义,操作及运算 (Python)
集合的定义: 集合和列表([ ]) 与 字典 ( { }) 不同,没有特别的特别的语法格式.可以使用set () 创建. 集合同字典一样是无序的.也是不具有重复性的.因此可以把列表变成集合进 ...
- Ambari 2.4.2 汉化
1.ambari-web (1)apache-ambari-2.4.2-src/ambari-web/app/messages.js 该文件是KeyValue文件,3000多行.将Value部分翻译成 ...
- 谈谈localhost与127.0.0.1
localhost意为本地主机,指这台计算机,是给回路网络接口的标准主机名,对应的IP地址为127.0.0.1,可访问本地服务器的web项目(http://localhost). 那么它们有什么区别呢 ...
- nyoj_253:LK的旅行(旋转卡壳入门)
题目链接 求平面最大点对. 找凸包 -> 根据凸包运用旋转卡壳算法求最大点对(套用kuang巨模板) 关于旋转卡壳算法 #include<bits/stdc++.h> using n ...
- ARM开发(3)基于STM32的矩阵键盘控制蜂鸣器
一 矩阵键盘控制蜂鸣器原理: 1.1 本实验实现8*7矩阵键盘上按键控制蜂鸣器响. 1.2 实验思路:根据电路图原理,找出矩阵键盘行列所对应的引脚,赋予对应的按键值,然后控制蜂鸣器响. 1.3 ...
- (转)关于eclipse的TestNG的插件安装方法
背景:最近在学习spring 4.x时候,用到了testNG的测试方法,发现需要在eclipse安装testNG插件才能够正常进行单元测试. 1 插件安装 今天在配置eclipse+selenium+ ...
- Objectiv-C UIKit基础 NSLayoutConstraint的使用(VFL实现)
利用VFL可视化语言 (简单的抛砖引玉) 构建3个View 橙色和绿色左中右间隔20 上间隔40 高为200 蓝色在橙色内(0,0)处 宽高为橙色的一半 实现效果如下 由于atutosize和auto ...