---测试发现启动库报错
C:\Users\123>sqlplus sys/system as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Jan 30 15:23:11 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup pfile=c:\pfile
ORA-01506: missing or illegal database name
SQL> startup
ORA-01506: missing or illegal database name
SQL> startup pfile=c:\pfile
ORA-01506: missing or illegal database name
---上述c:\pfile文件内容,添加db_name
spfile=D:\oracle11g_64bit\product\11.2.0\dbhome_1\database\spfileorcl.ora
sga_target=2g
db_name=orcl
sga_max_size=2g
--这下可以启动了,经查alert报control1损坏
SQL> startup pfile=c:\pfile
ORACLE instance started.
Total System Global Area 2137886720 bytes
Fixed Size 2177456 bytes
Variable Size 503318096 bytes
Database Buffers 1627389952 bytes
Redo Buffers 5001216 bytes
ORA-00205: error in identifying control file, check alert log for more info
MMNL started with pid=16, OS id=8932
ORACLE_BASE from environment = D:\oracle11g_64bit
Spfile D:\ORACLE11G_64BIT\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL.ORA is in old pre-11 format and compatible >= 11.0.0; converting to new H.A.R.D. compliant format.
Wed Jan 30 15:24:16 2013
ALTER DATABASE MOUNT
ORA-00210: cannot open the specified control file
ORA-00202: control file: 'D:\ORACLE11G_64BIT\PRODUCT\11.2.0\DBHOME_1\DATABASE\CTL1ORCL.ORA' ---自此可知oracle从另一个目录获取控制文件,故而报错
ORA-27041: unable to open file
OSD-04002: ??????
O/S-Error: (OS 2) ???2?μ???¨μ???RA-205 signalled during: ALTER DATABASE MOUNT...
Wed Jan 30 15:24:16 2013
Checker run found 1 new persistent data failures
---修正pfile如下
spfile=D:\oracle11g_64bit\product\11.2.0\dbhome_1\database\spfileorcl.ora
sga_target=2g
db_name=orcl
sga_max_size=2g
control_files=D:\oracle11g_64bit\oradata\orcl\CONTROL01.CTL,D:\oracle11g_64bit\oradata\orcl\CONTROL02.CTL
SQL> startup pfile=c:\pfile
ORACLE instance started.
Total System Global Area 2137886720 bytes
Fixed Size 2177456 bytes
Variable Size 503318096 bytes
Database Buffers 1627389952 bytes
Redo Buffers 5001216 bytes
Database mounted.
Database opened.
---确认控制文件目录是否正确
SQL> show parameter control
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_file_record_keep_time integer
7
control_files string
D:\ORACLE11G_64BIT\ORADATA\ORC
L\CONTROL01.CTL, D:\ORACLE11G_
64BIT\ORADATA\ORCL\CONTROL02.C
TL
control_management_pack_access string
DIAGNOSTIC+TUNING
SQL> select * from v$controlfile;
STATUS
--------------
NAME
--------------------------------------------------------------------
IS_REC BLOCK_SIZE FILE_SIZE_BLKS
------ ---------- --------------
D:\ORACLE11G_64BIT\ORADATA\ORCL\CONTROL01.CTL
NO 16384 594
D:\ORACLE11G_64BIT\ORADATA\ORCL\CONTROL02.CTL
NO 16384 594
STATUS
--------------
NAME
--------------------------------------------------------------------
IS_REC BLOCK_SIZE FILE_SIZE_BLKS
------ ---------- --------------
小结:如果用pfile,说明oracle默认会去自默认第一个目录D:\ORACLE11G_64BIT\PRODUCT\11.2.0\DBHOME_1\DATABASE搜寻controlfile(在windows平台,而linux是dbs)
后记:为何会报这2两个错,须进一步分析
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-753570/
,如需转载,请注明出处,否则将追究法律责任。