控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。当使用Oracle Server时,一个例程只能访问一个数据库,Oracle正是通过控制文件在例程和数据库之间建立关联的。当装载数据库时,Oracle会根据初始化参数control_files来定位控制文件;当打开数据库时,Oracle会依据控制文件所记载的信息打开所有数据文件和重做日志。在控制文件中记载的信息如图2-6所示:
控制文件:-》 数据文件的位置大小 重做日志文件的位置及大小 数据库名称及创建时间 日志序列号
通过查询动态性能视图V$CONTROLFILE,可以显示当前数据库的所有控制文件。示例如下:
SQL> SELECT name from V$controlfile;
NAME
D:\DEMO\CONTROL01.CTL
归档日志(Archived Redo Log)
归档日志是非活动重做日志的备份。通过使用归档日志,可以保留所有重做历史记录。当数据库出现介质失败时,使用数据文件副本和重做历史记录可以完全恢复数据库。注意,只有在ARCHIVELOG模式下才会生成归档日志,并且当进行日志切换时,Oracle可以自动生成归档日志。
假定数据库只包含两个日志组,并且处于ARCHIVELOG模式。初始阶段LGWR会将事务变化写入到日志组一。当日志组一写满之后,LGWR会将事务变化写入到日志组二,并且会促使ARCH进程将日志组一的内容保存到归档日志。依此类推,在RAC环境中,每个重做线程都会生成相应的归档日志。通过查询动态性能视图V$ARCHIVED_LOG,可以显示特定重做线程所生成的归档日志信息。下面以显示重做线程1所生成的归档日志为例说明使用V$ARCHIVED_LOG的方法,示例如下:
SQL>col name format a42
SQL>SELECT name,first_change#,next_change# from v$archived_log where thread#=1;
NAME FIRST_CHANGE# NEXT_CHANGE#
D:\DEMO\ARCHIVE\ARC00021_0537091099.001 410415 412863
D:\DEMO\ARCHIVE\ARC00022_0537090100.001 412863 412866
如上所示,name用于标识归档日志文件名,first_change#对应于归档日志的起始SCN值,next_change#对应于下一个归档日志的起始SCN值。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12035968/viewspace-567003/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12035968/viewspace-567003/