oracle控制文件包括哪些内容,Oracle控制文件与数据库初始化——控制文件的内容...

Oracle的控制文件起着极其重要的作用,我习惯打的一个比喻是:控制文件是数据库的大脑,而SYSTEM表空间是数据库的心脏。

控制文件的内容

既然控制文件在数据库中扮演着重要的角色,那么控制文件中到底存储了哪些重要信息,在数据库运行过程中又是如何发挥重要作用的呢?

首先从文档上得知控制文件中保存着下列信息:

数据库名称以及数据库创建时间等

所有数据文件和重做日志文件的名称和位置信息

表空间信息

OFFLINE数据文件信息

重做日志及归档日志信息

备份集及备份文件信息、

检查点(checkpoint)及SCN信息等

当然这些只是一个粗略的介绍,由于控制文件是个二进制文件,无法直接打开查阅,但是通过上一章介绍的如下命令可以将控制文件内容转储出来便于查看:

alter session set events 'immediate trace name controlf level 8';

以下是来自Oracle Database 11g的转储测试:

SQL> alter session set events 'immediate trace name controlf level 8';

Session altered.

SQL> select value from v$diag_info where name='Default Trace File';

VALUE

--------------------------------------------------------------------------------

/opt/oracle/diag/rdbms/11gtest/11gtest/trace/11gtest_ora_5910.trc

注意:从11g开始,可以通过v$diag_info获得当前会话转储文件的名称。

打开这个跟踪文件现在就可以清晰的看到控制文件的内容,最开始的一段是关于数据库ID、名称等的概要信息:

V10 STYLE FILE HEADER:

Compatibility Vsn = 185597952=0xb100000

Db ID=1478080230=0x5819b6e6, Db Name='11GTEST'

Activation ID=0=0x0

Control Seq=1707=0x6ab, File size=594=0x252

File Number=0, Blksiz=16384, File Type=1 CONTROL

接下来是数据库条目的详细信息,包括了数据库的名称、数据文件及日志文件的数量、数据库的检查点及SCN信息等:

***************************************************************************

DATABASE ENTRY

***************************************************************************

(size = 316, compat size = 316, section max = 1, section in-use = 1,

last-recid= 0, old-recno = 0, last-recno = 0)

(extent = 1, blkno = 1, numrecs = 1)

07/04/2008 13:51:34

DB Name "11GTEST"

Database flags = 0x00404001 0x00001200

Controlfile Creation Timestamp 07/04/2008 13:51:35

Incmplt recovery scn: 0x0000.00000000

Resetlogs scn: 0x0000.00000001 Resetlogs Timestamp 07/04/2008 13:51:34

Prior resetlogs scn: 0x0000.00000000 Prior resetlogs Timestamp 01/01/1988 00:00:00

Redo Version: compatible=0xb100000

#Data files = 4, #Online files = 4

Database checkpoint: Thread=1 scn: 0x0000.0008718a

Threads: #Enabled=1, #Open=1, Head=1, Tail=1

enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000

....

Max log members = 3, Max data members = 1

Arch list: Head=1, Tail=1, Force scn: 0x0000.0007fe17scn: 0x0000.0008ebd0

Activation ID: 1478075366

Controlfile Checkpointed at scn: 0x0000.0008ec14 07/07/2008 08:00:29

thread:0 rba:(0x0.0.0)

enabled threads: 00000000 00000000 00000000 00000000 00000000 00000000

....

再接下来是检查点记录信息,这部分内容包含了Low Cache RBA和On Disk RBA信息,在执行数据库实例恢复时,前者是恢复的起点,后者是恢复的终点,其分别指向了日志文件中的确定地址:

***************************************************************************

CHECKPOINT PROGRESS RECORDS

***************************************************************************

(size = 8180, compat size = 8180, section max = 11, section in-use = 0,

last-recid= 0, old-recno = 0, last-recno = 0)

(extent = 1, blkno = 2, numrecs = 11)

THREAD #1 - status:0x2 flags:0x0 dirty:688

low cache rba:(0x1b.16c04.0) on disk rba:(0x1c.a1c.0)

on disk scn: 0x0000.0008ed61 07/07/2008 08:01:59

resetlogs scn: 0x0000.00000001 07/04/2008 13:51:34

heartbeat: 659440589 mount id: 1478276654

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值