ORA-01152错误解决方法 用老的备份controlfile


下面有原来的controlfile 来试试:

具体步骤如下:
startup force;
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
recover database using backup controlfile until cancel;
alter databse open resetlogs; 

SQL> startup force;
Oracle 例程已经启动。

Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             222301108 bytes
Database Buffers          373293056 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSTEM01.DBF'


SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

系统已更改。

SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 563772 (在 12/29/2011 17:13:09 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100001771181989.ARC
ORA-00280: 更改 563772 (用于线程 1) 在序列 #1 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。

D:\oracle\product\10.2.0\db_1\RDBMS\lib>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 12月 29 19:50:18 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select status from v$intance;
select status from v$intance
                   *
第 1 行出现错误:
ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询


SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> alter database open resetlogs;

数据库已更改。

SQL>
SQL> select status from v$instance;

STATUS
------------
OPEN

注意,open 以后把"_allow_resetlogs_corruption"=true 去掉。

相关内容