在Oracle中,控制文件是数据库挂载时所使用的文件,控制文件丢失或损坏,实例会崩溃,其中参数文件记录控制文件的位置;
在实例启动到nomount后,如果db_names参数与控制文件中记录的数据库名一致,才可以mount,否则会报错;
实例要启动到mount,会判断控制文件的位置和个数以及一致性;
控制文件记录了数据库实例的结构及行为等内容,包括数据库的数据文件、重做日志文件、数据库的名称、数据库创建信息、表空间信息、数据文件的状态、日志文件信息、备份信息、检查点信息等;
一个数据库至少要有一个控制文件,最多8个,一般设置为2个,放在不同的路径下。
在管理控制文件的时候,DBA需要关注的问题:
1、控制文件的个数
2、控制文件版本问题
3、控制文件备份(冷备、热备)
4、控制文件大小控制在100M以内
下面是Oracle中和控制文件有关的视图:
V$DATABASE 记录控制文件里读取到的数据库信息
V$CONTROLFILE 记录控制文件详细信息
V$CONTROLFILE_RECORD_SECTIONG 记录控制文件记录的内容
V$PARAMETER 记录CONTROL_FILES参数对应的控制文件参数
比如我们可以在V$CONTROLFILE中查看控制文件的位置:
SQL> select name from v$controlfile;
NAME
-----------------------------------------------
/u01/oracle/oradata/wyzc/control01.ctl
/data1/oracle/oradata/control02.ctl
/data2/oracle/oradata/control03.ctl
如果我们想了解控制文件里都记录了哪些信息,可以通过V$CONTROLFILE_RECORD_SECTIONG
SQL> select type from v$controlfile_record_section;
TYPE
----------------------------
DATABASE
CKPT PROGRESS
REDO THREAD
REDO LOG
DATAFILE
FILENAME
TABLESPACE
TEMPORARY FILENAME
RMAN CONFIGURATION
LOG HISTORY
OFFLINE RANGE
ARCHIVED LOG
BACKUP SET
BACKUP PIECE
BACKUP DATAFILE
BACKUP REDOLOG
DATAFILE COPY
BACKUP CORRUPTION
COPY CORRUPTION
DELETED OBJECT
PROXY COPY
BACKUP SPFILE
DATABASE INCARNATION
FLASHBACK LOG
RECOVERY DESTINATION
INSTANCE SPACE RESERVATION
REMOVABLE RECOVERY FILES
RMAN STATUS
THREAD INSTANCE NAME MAPPING
MTTR
DATAFILE HISTORY
STANDBY DATABASE MATRIX
GUARANTEED RESTORE POINT
RESTORE POINT
DATABASE BLOCK CORRUPTION
ACM OPERATION
FOREIGN ARCHIVED LOG
37 rows selected.
在Oracle 11g R2版本中,控制文件共记录了37种内容,如上。
更多精彩Oracle 内容请→3ng5UY
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。