我忒忙 发表于 2016-05-23 13:36

Oracle控制文件

本帖最后由 我忒忙 于 2016-05-26 15:58 编辑

在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://qr.liantu.com/api.php?bg=ffffff&fg=000000&gc=000000&el=L&text=http%3A%2F%2Fwap.wyzc.com%2Freg%2F%3Ftg%3D3006123630

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