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

2014-11-24 18:43:50 · 作者: · 浏览: 0

下面有原来的controlfile 来试试:


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


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 中



指定日志: {=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 去掉。