ORA-01152错误解决方法 用老的备份controlfile
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 中
指定日志: {
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 去掉。
,上一篇: 堆(优先队列)与堆排序实现