ORA-01671: control file is a backup, cannot make a standby control file
Cause: The currently mounted control file is a backup control file, and attempting to create a control file for a standby database.
Action: Complete any needed recovery and open the database with the resetlogs option.
这个错误是Oracle数据库的常见错误,表示由于本地控制文件是一个备份文件,因此无法建立一个用以替换当前控制文件的备份控制文件。
(1)要解决ORA-01671错误,首先需要使用NID工具将控制文件改变到不备份状态:
# sqlplus “/as sysdba”
SQL> NID target=controlfile,resetlogs
(2)紧接着,重新创建控制文件:
SQL> CREATE CONTROLFILE SET DATABASE ” ” RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 ‘$ORACLE_HOME/dbs/redo01.log’ SIZE 10M, GROUP 2 ‘$ORACLE_HOME/dbs/redo02.log’ SIZE 10M DATAFILE ‘$ORACLE_HOME/dbs/sysdba01.dbf’, ‘$ORACLE_HOME/dbs/sysdba02.dbf’, ‘$ORACLE_HOME/dbs/sysdba03.dbf’ CHARACTER SET AL32UTF8;
(3)最后执行:
SQL> Alter Database Open RESETLOGS;