一. Oracle 控制文件主要包含如下条目
DATABASE ENTRY
CHECKPOINT PROGRESS RECORDS
REDO THREAD RECORDS
LOG FILE RECORDS
DATA FILE RECORDS
TEMP FILE RECORDS
TABLESPACE RECORDS
LOG FILE HISTORY RECORDS
OFFLINE RANGE RECORDS
ARCHIVED LOG RECORDS
BACKUP SET RECORDS
BACKUP PIECE RECORDS
BACKUP DATAFILE RECORDS
BACKUP LOG RECORDS
DATAFILE COPY RECORDS
BACKUP DATAFILE CORRUPTION RECORDS
DATAFILE COPY CORRUPTION RECORDS
DELETION RECORDS
PROXY COPY RECORDS
INCARNATION RECORDS
二.可以通过dump看到 控制文件内
方法1.直接dump controlfile:alter system set events 'immediate trace name controlf level 10'
方法2. alter database backup controlfile to trace
查看UDMP目录下的_ora_.trc文件
方法3.alter database backup controlfile to 文件名
查询该文件
SQL>select name from v$controlfile
SQL>show parameter user_dump_dest
在指定的目录下会找到刚产生的trc文件,通过日期可以看出那个是刚产生的。
三. 控制文件的重建:CREATE CONTROLFILE SET/reuse DATABASE SID RESETLOGS/NOresetlogs NOARCHIVELOG/archivelong
ORA-00205: error in identifying control file, check alert log for more info
当三个控制文件都已损坏,又没有控制文件的备份,我们只能采取重建控制文件的做法。
SQL> startup nomount
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1266968 bytes
Variable Size 88083176 bytes
Database Buffers 176160768 bytes
Redo Buffers 2924544 bytes
SQL> create controlfile reuse database woody noresetlogs archivelog
2 LOGFILE
3 GROUP 1 '/u01/app/oracle/oradata/woody/redo01.lo