当前控制文件的内容可以通过CONTROLF dump以文本形式转储到实例参数指定的目录下。
各级别CONTROLF转储的区别:
| 转储级别 | 
转储内容 | 
| 1 | 
仅包含文件头信息 | 
| 2 | 
包括文件头,数据库信息记录,检查点进程记录 | 
| 3 | 
所有记录类型,针对循环重用的记录类型仅保留最早及最近的记录 | 
| 4 | 
如上,包含4条最新的可重用类型的记录 | 
| 5+ | 
如上,包含的可重用类型记录为2*level条 | 
| SQL>   oradebug setmypid; | 
| Statement   processed. | 
| SQL>   oradebug dump controlf 3; | 
| Statement   processed. | 
| SQL>   oradebug tracefile_name; | 
| /s01/rac10g/admin/PROD/udump/prod_ora_3710.trc | 
 
以下例而言,使用oradebug命令启动转储,将会把当前控制文件信息以文本形式转储到该服务进程对应的用户转储文件中,文本中记录了level 3所对应的内容。
SQL> oradebug setmypid;
Statement processed.
SQL> oradebug dump controlf 3;
Statement processed.
SQL> oradebug tracefile_name;
/s01/rac10g/admin/PROD/udump/prod_ora_3710.trc
oradebug必须以SYSDBA形式登陆后方能使用,你也可以以非SYSDBA的身份通过alter session形式启动转储:
SQL> alter session set events 'immediate trace name controlf level 3';
Session altered.
[gview file="http://youyus.com/wp-content/uploads/resource/Controlfile.doc"]