<txt>ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control02.ctl'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control01.ctl'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
</txt>
上面是log.xml的最近的部分
<txt>ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control2'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control1'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
</txt>
上面是稍遠的部分
控制文件的語句是
CREATE CONTROLFILE REUSE DATABASE "SOLODB" NORESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 \'/u01/app/oracle/oradata/SOLODB/onlinelog/o1_mf_1_gfnh7mp2_.log\' SIZE 50M,
GROUP 2 \'/u01/app/oracle/oradata/SOLODB/onlinelog/o1_mf_2_gfnh7mwk_.log\' SIZE 50M,
GROUP 3 \'/u01/app/oracle/oradata/SOLODB/onlinelog/o1_mf_3_gfnh7n2o_.log\' SIZE 50M
DATAFILE
\'/u01/app/oracle/oradata/SOLODB/datafile/o1_mf_users_gfnh6mqq_.dbf\',
\'/u01/app/oracle/oradata/SOLODB/datafile/o1_mf_undotbs1_gfnh6mqf_.dbf\',
\'/u01/app/oracle/oradata/SOLODB/datafile/o1_mf_temp_gfnh7o0q_.tmp\',
\'/u01/app/oracle/oradata/SOLODB/datafile/o1_mf_system_gfnh6mpy_.dbf\',
\'/u01/app/oracle/oradata/SOLODB/datafile/o1_mf_sysaux_gfnh6mqd_.dbf\',
\'/u01/app/oracle/oradata/SOLODB/datafile/o1_mf_example_gfnh7op1_.dbf\'
CHARACTER SET US7ASCII
;
解決辦法:實際上要重建控制文件,但是一直報上面的錯誤。實際上從log.xml的報錯看,因為control_files是錯的,所以數據庫根本起不來。如果一開始control_files的是正確的,實際不需要重建控制文件。
最后發現是自己設置control_files參數的時候,值寫錯了。
正確的是
*.control_files='/u01/app/oracle/oradata/PROD1/controlfile/o1_mf_bpy15704_.ctl','/u01/app/oracle/flash_recovery_area/PROD1/controlfile/o1_mf_bpy15799_.ctl'
錯誤的是
*.control_files='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control01.ctl,/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control02.ctl'
但是修改為正確的格式仍然無法創建控制文件,最后連路徑也模仿正確的格式,才創建成功。
創建成功后,create pfile from spfile;recover database;
這兩步很有必要。