控制文件的恢复问题

[复制链接]
查看11 | 回复9 | 2012-1-4 11:55:05 | 显示全部楼层 |阅读模式
如果所有控制文件都出问题了,但是有原来的控制文件热备份,如何恢复?
我只知道可以重建控制文件。还有其他方法么?
既然利用重建控制文件这个方法就可以恢复了,那热备控制文件的目的是什么,也就是说控制文件的备份在什么时候用?
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
RMAN的热备?
如果是你可以RESTORE CONTROLFILE
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
不用rman,就是指手工的普通备份和恢复。alter database backup controlfile to **;这种热备。
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
重建完控制文件后你的很多信息都流失了。
重建的控制文件里面只有一些基本信息了。
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
原帖由 daughtry 于 2009-10-10 20:28 发表
不用rman,就是指手工的普通备份和恢复。alter database backup controlfile to **;这种热备。

那就只有是重建控制文件了
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
那如果不重建,就只能使用原来的备份控制文件(alter database backup controlfile to **;)来恢复了,具体的步骤是什么啊?
第一步肯定是删除损坏的控制文件,然后把备份拷过来。
第二步startup mount。
然后呢?
第三步是不是recover database using backup controlfile until cancel?
[ 本帖最后由 daughtry 于 2009-10-10 21:37 编辑 ]
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
各位老大帮忙看看啊,恢复控制文件时,到底是通过哪一步将备份控制文件更新成当前最新状态的?
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
LZ参考,关于controlfile 恢复的一系列 实验
http://space.itpub.net/?uid-1202 ... space-itemid-613080
http://space.itpub.net/?uid-1202 ... space-itemid-613087
http://space.itpub.net/?uid-1202 ... space-itemid-613216
http://space.itpub.net/?uid-1202 ... space-itemid-614421
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
看了你的试验,重点是恢复-关于控制文件(4)这个。
你的结论是要想将备份控制文件更新到最新,要使用recover database using backup controlfile;这个命令,然后应用current redo log是吧。
可是我看你的实验中应用的不是当前日志啊:
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。
Total System Global Area612368384 bytes
Fixed Size
1250428 bytes
Variable Size
226495364 bytes
Database Buffers
377487360 bytes
Redo Buffers
7135232 bytes
数据库装载完毕。
ORA-01122: 数据库文件 1 验证失败
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
ORA-01207: 文件比控制文件更新 - 旧的控制文件
SQL> select sequence#,group#,status from v$log;
SEQUENCE# GROUP# STATUS
---------- ---------- ----------------
8
1 INACTIVE
9
3 INACTIVE
10
2 CURRENT

SQL> recover database using backup controlfile;
ORA-00279: 更改 1434879 (在 09/11/2009 09:35:13 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:\ARCHIVELOG\ARC00011_0697045088.001.ARC
ORA-00280: 更改 1434879 (用于线程 1) 在序列 #11 中

指定日志: {=suggested | filename | AUTO | CANCEL}
E:\oracle\product\10.2.0\oradata\orcl\redo01.log
已应用的日志。
完成介质恢复。
当前日志应该是redo02吧,你用的是redo01啊。
回复

使用道具 举报

千问 | 2012-1-4 11:55:05 | 显示全部楼层
SQL> select sequence#,group#,status from v$log;
SEQUENCE# GROUP# STATUS
---------- ---------- ----------------
8
1 INACTIVE
9
3 INACTIVE
10
2 CURRENT
这个信息来自备份的控制文件 ,而不是实际的current redo log file
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行