ALLSTARS_ORACLE 发表于 2017-4-17 11:30:26

数据库启不来了,求急救!!!

数据库原为归档日志模式,因为redolog日志文件有坏块,启动不起来了,删掉了原来的relog01.log等三个日志文件,重新创建了大小不一样的redolog,后来发现启不来,又重新生成了与原来一样大小的redolog,改档日志模式从归档到非归档,启动不来后,又重新了控制文件,改回了归档,现在库里面没有有效的备份,数据文件的SCN与控制文件的SCN不同了,我怎么能启动到OPEN状态呢?

SQL> recover database using backup controlfile;
ORA-00279: 更改 5439148 (在 11/06/2006 05:32:14 生成) 对于线程 1 是必需的
ORA-00289: 建议: /home/oracle/product/9.2.0/dbs/arch1_1.dbf
ORA-00280: 更改 5439148 对于线程 1 是按序列 # 1 进行的


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: '/home/oracle/oradata/ocpdb/system01.dbf'


现在执行recover 提示我必须要用reset log 启到open,可是我没办法OPEN了啊.

SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成


SQL> !oerr ora 01610
01610, 00000, "recovery using the BACKUP CONTROLFILE option must be done"
// *Cause:  Either an earlier database recovery session specified BACKUP
//          CONTROLFILE, or the controlfile was recreated with the RESETLOGS
//          option, or the controlfile being used is a backup controlfile.
//          After that only BACKUP CONTROLFILE recovery is allowed
//          and it must be followed by a log reset at the next database open.
// *Action: Perform recovery using the BACKUP CONTROFILE option.

SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成

楼上的大哥,我也晕了哦,他不提示我是AUTO还是CANCEL啊.


是我们下面一省局的数据库redolog丢掉了,我原来是归档的了,为了模拟它们的现象,我改成了非归档,又删了redolog,重启了一次,用resetlog,忘了做全备了,就又DOWN掉后,再删了一次,这下玩儿完了,就再也启不来了.



SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 5439148 (在 11/06/2006 05:32:14 生成) 对于线程 1 是必需的
ORA-00289: 建议: /home/oracle/product/9.2.0/dbs/arch1_1.dbf
ORA-00280: 更改 5439148 对于线程 1 是按序列 # 1 进行的


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: '/home/oracle/oradata/ocpdb/system01.dbf'


ORA-01112: 未启动介质恢复

真的是这样做了,我知道事情复杂了,所以来求救了.这下麻烦大了.



是它们的redolog日志文件有坏块儿了.他们的库没有删redolog,我是为了模仿它们,把我的环境的redolog给删了.

现在的麻烦就是,两边都曾经resetlogs启来过一次了,而且启动后没有做export等物理或者逻辑备份.面临无法启动的危险!!!

我是在测试环境上的,但他们是生产环境,clear做过了,就是clear之后重启成功的,resetlogs第一次成功了,现在是第二次resetlogs启不来了.
楼上的兄弟,控制文件也是删了重建了N次了哦.  你看我贴的日志
SQL> startup nomount;
ORACLE instance started.

Total System Global Area| 269554828|bytes
Fixed Size              |    451724|bytes
Variable Size           | 134217728|bytes
Database Buffers        | 134217728|bytes
Redo Buffers            |    667648|bytes

SQL> CREATE CONTROLFILE REUSE DATABASE "OCPDB" RESETLOGS  ARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GR  2    3    4    5    6    7    8    9  OUP 1 '/home/oracle/oradata/ocpdb/redo01.log'  SIZE 100M,
GROUP 2 '/home/oracle/oradata/ocpdb/redo02.log'  SIZE 100M,
GROUP 3 '/home/oracle/oradata/ocpdb/redo03.log'  SIZE 100M
-- STANDBY LOGFILE
DATAFIL 10   11   12   13  E
14   '/home/oracle/oradata/ocpdb/system01.dbf',
'/home/oracle/oradata/ocpdb/undotbs1.dbf',
'/home/oracle/oradata/ocpdb/cwmlite01.dbf',
'/home/oracle/oradata/ocpdb/drsys01.dbf',
'/home/oracle/oradata/ocpdb/example01.dbf',
'/ 15   16   17   18   19  home/oracle/oradata/ocpdb/indx01.dbf',
20   '/home/oracle/oradata/ocpdb/odm01.dbf',
21   '/home/oracle/oradata/ocpdb/tools01.dbf',
22   '/home/oracle/oradata/ocpdb/users01.dbf',
23    '/home/oracle/oradata/ocpdb/xdb01.dbf',
24    '/home/oracle/oradata/ocpdb/perfstat.dbf',
25    '/home/oracle/oradata/ocpdb/users02.dbf',
26    '/home/oracle/oradata/ocpdb/hwm.dbf',
27    '/home/oracle/oradata/ocpdb/users03.dbf',
28    '/home/oracle/oradata/ocpdb/snap2.dbf',
29    '/home/oracle/oradata/ocpdb/defaultsp.dbf',
30    '/home/oracle/oradata/ocpdb/snap3.dbf'
31  CHARACTER SET ZHS16GBK
32  ;

Control file created.

SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 5439148 (在 11/06/2006 05:32:14 生成) 对于线程 1 是必需的
ORA-00289: 建议: /home/oracle/product/9.2.0/dbs/arch1_1.dbf
ORA-00280: 更改 5439148 对于线程 1 是按序列 # 1 进行的


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: '/home/oracle/oradata/ocpdb/system01.dbf'


ORA-01112: 未启动介质恢复

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: '/home/oracle/oradata/ocpdb/system01.dbf'

页: [1]
查看完整版本: 数据库启不来了,求急救!!!