查看完整版本: [-- Oracle控制文件 --]

-> 数据库 -> Oracle控制文件 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

我忒忙 2016-05-19 13:18

Oracle控制文件

在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学习:http://www.wyzc.com/ocp/?tg=3006123630


查看完整版本: [-- Oracle控制文件 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip enabled