<txt>ORA-00210: cannot open the specified control fileORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control02.ctl'ORA-27037: unable to obtain file statusLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3ORA-00210: cannot open the specified control fileORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control01.ctl'ORA-27037: unable to obtain file statusLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3 </txt>
上面是log.xml的最近的部分
<txt>ORA-00210: cannot open the specified control fileORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control2'ORA-27037: unable to obtain file statusLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3ORA-00210: cannot open the specified control fileORA-00202: control file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control1'ORA-27037: unable to obtain file statusLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3 </txt>
上面是稍远的部分
控制文件的语句是
CREATE CONTROLFILE REUSE DATABASE "SOLODB" NORESETLOGS ARCHIVELOG MAXLOGFILES 5 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 226LOGFILE 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 50MDATAFILE \'/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;
这两步很有必要。
转载于:https://www.cnblogs.com/flyingcandle/p/10870799.html