[@more @]sql
[oracle@spreader oracle]$ sqlplus /nolog
[uniread] Loaded history (2158 lines)数据库
SQL*Plus: Release 10.1.0.2.0 - Production on Mon Feb 27 11:37:09 2006oracle
Copyright (c) 1982, 2004, Oracle. All rights reserved..net
SQL> connect / as sysdba
Connected.
SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.日志
Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
ORA-00214: controlfile '/home/oracle/oradata/item/control01.ctl' version 10232896 inconsistent with file
'/home/oracle/oradata/item/control02.ctl' version 9190433get
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning and Data Mining options
[uniread] Saved history (2163 lines)it
SQL> create pfile='/home/oracle/init.ora' from spfile;io
File created.class
编辑init.ora,把'/home/oracle/oradata/item/control02.ctl'去掉,而后再重启数据库thread
[oracle@spreader oracle]$ sqlplus /nolog
SQL> connect / as sysdba
Connected to an idle instance.
SQL> create spfile from pfile='/home/oracle/init.ora';
ERROR:
ORA-01034: ORACLE not available
File created.
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00214: controlfile '/home/oracle/oradata/item/control01.ctl' version 10232896 inconsistent with file
'/home/oracle/oradata/item/control03.ctl' version 9190433
再编辑init.ora,把'/home/oracle/oradata/item/control03.ctl'去掉,而后再按照上面步骤重启数据库
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00227: corrupt block detected in controlfile: (block 175, # blocks 1)
ORA-00202: controlfile: '/home/oracle/oradata/item/control01.ctl'
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01507: database not mounted
惟一的控制文件都有问题了,FT,从新编辑init.ora文件,去掉控制文件一,而留下控制文件二和三,而后再重启数据库
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL> alter database mount;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16038: log 2 sequence# 2136 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: '/home/oracle/oradata/item/redo02.log'
这下能够MOUNT起来了,可是出现ORA-19809,这个简单,就是recovery files空间满了引发的,再整理下这个空间,而后alter database open 就好了。
步骤:
1 首先删除掉不必的备份,例如归档日志
2 进入RMAN整理空间 [oracle@spreader oracle]$ rman RMAN> connect target / RMAN> crosscheck archivelog all; RMAN> delete expired archivelog all;