文章根据自己碰到的关于ORA-00205: error in identifying control file, check alert log for more info 错误进行分析有需要的同学可参考一下。

文章根据自己碰到的关于ORA-00205: error in identifying control file, check alert log for more info 错误进行分析有需要的同学可参考一下。

境:oracle10gR2 solaris10
操作:在没有创建pfile的情况下,直接执行了以下命令
1 SQL>create pfile from spfile;
2 SQL>shutdown immediate
3 SQL>startup
4 ORA-00205: error in identifying control file, check alert log for more info
查看alter_TEST.log文件
Tue Jul 03 13:37:49 CST 2012
Starting ORACLE instance (normal)
Tue Jul 03 13:37:49 CST 2012
System parameter db_block_buffers enabled without VLM on.
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
Using LOG_ARCHIVE_DEST_1 parameter default value as /oradb/oracle/102/dbs/arch
Autotune of undo retention is turned off.
LICENSE_MAX_USERS = 0
SYS auditing is disabled
ksdpec: called for event 13740 prior to event group initialization
Starting up ORACLE RDBMS Version: 10.2.0.5.0.
System parameters with non-default values:
processes = 50
shared_pool_size = 117440512
control_files = /oradb/oracle/102/dbs/control1, /oradb/oracle/102/dbs/control2
db_block_buffers = 1024
log_buffer = 2032640
log_checkpoint_interval = 10000
db_files = 80
db_file_multiblock_read_= 8
global_names = TRUE
parallel_max_servers = 5
max_dump_file_size = 10240
db_name = TEST
PMON started with pid=2, OS id=1406
PSP0 started with pid=3, OS id=1408
MMAN started with pid=4, OS id=1410
DBW0 started with pid=5, OS id=1412
LGWR started with pid=6, OS id=1414
CKPT started with pid=7, OS id=1416
SMON started with pid=8, OS id=1418
RECO started with pid=9, OS id=1420
MMON started with pid=10, OS id=1422
MMNL started with pid=11, OS id=1424
Tue Jul 03 13:37:52 CST 2012
ALTER DATABASE MOUNT
Tue Jul 03 13:37:52 CST 2012 ORA-00210: cannot open the specified control file
ORA-00202: control file: '/oradb/oracle/102/dbs/control1'
ORA-27037: unable to obtain file status
Solaris-AMD64 Error: 2: No such file or directory
Additional information: 3
Tue Jul 03 13:37:55 CST 2012
ORA-205 signalled during: ALTER DATABASE MOUNT...

原因是因为启动时未找到spfile则调用了数据库默认的init.ora,但是其默认值与现有数据库信息不匹配导致数据库不能启动。
解决方案:

1 bash#vi /oradb/oracle/102/dbs/initTEST.ora
2 *.audit_file_dest='/oradb/oracle/admin/TEST/adump'
3 *.background_dump_dest='/oradb/oracle/admin/TEST/bdump'
4 *.compatible='10.2.0.5.0'
5 *.control_files='/oradb/oracle/oradata/TEST/control01.ctl','/oradb/oracle/oradata/TEST/control02.ctl','/oradb/oracle/oradata/TEST/control03.ctl'
6 *.core_dump_dest='/oradb/oracle/admin/TEST/cdump'
7 *.db_block_buffers=100# SMALL
8 *.db_block_size=8192
9 *.db_file_multiblock_read_count=16
10 *.db_files=80# SMALL
11 *.db_name='TEST'
12 *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
13 *.global_names=TRUE
14 *.log_archive_dest_1='location=/oradb/oracle/arch'
15 *.log_archive_dest_state_2='DEFER'
16 *.log_buffer=32768# SMALL
17 *.log_checkpoint_interval=10000
18 *.max_dump_file_size='10240'# limit trace file size to 5 Meg each
19 *.open_cursors=300
20 *.parallel_max_servers=5# SMALL
21 *.pga_aggregate_target=81788928
22 *.processes=150
23 *.shared_pool_size=113500000# SMALL
24
25 :wq
26 bash#sqlplus / as sysdba


1 SQL> create spfile from pfile;
2
3 File created.
4
5 SQL> startup
6 ORACLE instance started.
7
8 Total System Global Area 155189248 bytes
9 Fixed Size 2094672 bytes
10 Variable Size 142608816 bytes
11 Database Buffers 8388608 bytes
12 Redo Buffers 2097152 bytes
13 Database mounted.
14 Database opened.

注:再做pfile启动数据库时要注意是否已经通过spfile生成pfile。

09-19 07:38