|
# 42791
qi
|
|
|
To: eygle
谢谢eygle,问题已解决,增加了参数:_allow_resetlogs_corruption=true
然后recover database using backup controlfile until cancel;
alter database open resetlogs;
数据库终于启动成功!
不过原理不很明白 ,呵呵。
From: qi 2007.04.12 14:51
|
|
|
|
|
To: qi
强制数据库跳过一系列的一致性检查,这些参数我的网站上就有文章介绍。
现在越来越懒得提这些隐含参数了,要学习怎样使数据库免于面临这样的境地。
From: eygle 2007.04.12 15:53
|
|
|
|
|
# 42790
qi
|
|
|
To: eygle
你resetlogs过了,日志被你清空了。
那再怎么办?开机开不了了?开机就是数据文件需要恢复。
From: qi 2007.04.12 08:02
|
|
|
|
|
# 42788
qi
|
|
|
To: eygle
其实我之前做了每一个redo文件都试过了,不行.
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 396933 (在 04/04/2007 15:07:28 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:\ARCHIVE\ARC0012.ARC
ORA-00280: 更改 396933 对于线程 1 是按序列 # 2 进行的
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
F:\ORACLE\ORADATA\DWYC\REDO03.LOG
ORA-00339: 归档日志未包含任何重做
ORA-00334: 归档日志: 'F:\ORACLE\ORADATA\DWYC\REDO03.LOG'
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'F:\ORACLE\ORADATA\DWYC\SYSTEM01.DBF'
查询redo文件如下:SQL> select * from v$log;
GROUP#THREAD#SEQUENCE#BYTESMEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- -------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
1101048576001 YES UNUSED
0
2101048576001 YES UNUSED
0
3101048576001 YES INVALIDATED
0
查询数据文件的SCN为:396933
From: qi 2007.04.11 16:01
|
|
|
|
|
To: qi
你resetlogs过了,日志被你清空了。
From: eygle 2007.04.11 16:24
|
|
|
|
|
# 42786
qi
|
|
|
To: eygle
我先看了看物理文件发现redo.log文件的日期(4-4)和数据文件(4-11)及控制文件(4-11)的日期是不一致的.对数据库操作如下:
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
.......
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'F:\ORACLE\ORADATA\DWYC\SYSTEM01.DBF'
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 396933 (在 04/04/2007 15:07:28 生成) 对于线程 1
ORA-00289: 建议: E:\ARCHIVE\ARC0012.ARC
ORA-00280: 更改 396933 对于线程 1 是按序列 # 2 进行的
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 无法打开存档日志 'E:\ARCHIVE\ARC0012.ARC'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'F:\ORACLE\ORADATA\DWYC\SYSTEM01.DBF'
From: qi 2007.04.11 13:52
|
|
|
|
|
To: qi
最后输入当前Redo Log File的名字去执行恢复。
From: eygle 2007.04.11 13:53
|
|
|
|
|
# 42785
qi
|
|
|
To: eygle
你这个信息不全啊,为什么要重建控制文件啊?
想根据冷备份和归档日志作不完全恢复,结果恢复时如果把三种文件全恢复,则只能恢复到冷备份的状态,后来就只恢复了数据文件,又用了resetlogs参数,数据库打不开,所以就重建控制文件。重建控制文件能成功,但是再往下进行就不行了,我看了下物理文件,还有redo.log文件的日期是不一致的。但是用resetlogs还是打不开数据库,报出错。
From: qi 2007.04.11 10:15
|
|
|
|
|