3.1 备份控制文件到trace
startup mount alter database backup controlfile to trace; oradebug setmypid oradebug tracefile_name
3.2 启动数据库到nomount状态
shutdown abort startup nomount;
3.3 确认重建控制文件的语句
vi control.sql CREATE CONTROLFILE REUSE DATABASE "CXYWDB" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 5 '/oradata2/cxywdb/redo11.log' SIZE 50M, GROUP 6 '/oradata2/cxywdb/redo12.log' SIZE 50M, GROUP 7 '/oradata2/cxywdb/redo13.log' SIZE 50M -- STANDBY LOGFILE DATAFILE '/oradata/cxywdb/system01.dbf', '/oradata/cxywdb/undotbs01.dbf', '/oradata/cxywdb/sysaux01.dbf', '/oradata/cxywdb/users01.dbf', '/oradata/cxywdb/alfred01.dbf', '/oradata/cxywdb/alfred02.dbf', '/oradata/cxywdb/alfred03.dbf', '/oradata/cxywdb/alfred04.dbf', '/oradata/cxywdb/alfred05.dbf', '/oradata/cxywdb/dbs_i_alfred01.dbf' CHARACTER SET ZHS16GBK ;
3.4 恢复并打开数据库
SQL> recover database; Media recovery complete. SQL> alter database open; Database altered.
附:实际解决过程如下:
SQL> shutdown abort ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2098112 bytes Variable Size 218106944 bytes Database Buffers 373293056 bytes Redo Buffers 6287360 bytes Database mounted. SQL> alter database backup controlfile to trace; Database altered. SQL> oradebug setmypid Statement processed. SQL> oradebug tracefile_name /s01/oracle/admin/cxywdb/udump/cxywdb_ora_3983.trc SQL> shutdown abort ORACLE instance shut down. SQL> startup nomount; ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2098112 bytes Variable Size 218106944 bytes Database Buffers 373293056 bytes Redo Buffers 6287360 bytes SQL> @control Control file created. SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> recover database; Media recovery complete. SQL> alter database open; Database altered.
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。