ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [原]利用oradebug详细解读controlfile(一)

[原]利用oradebug详细解读controlfile(一)

原创 Linux操作系统 作者:sdusun 时间:2019-02-15 08:24:06 0 删除 编辑

对于controlfile,大多数人可能是既熟悉又陌生的。控制文件是Oracle最重要的文件之一,对它的深入理解可以使得我们对备份恢复等原理理解的更深!下面我们就去挖掘一下潜藏在controlfile中的秘密!解开神秘的面纱!

先从最简单的file header开始。

by SUN


工具介绍:oradebug

SQL> conn sys/admin as sysdba

SQL> oradebug setmypid;
Statement processed.

SQL> oradebug dump controlf 4;
Statement processed.

其中4为dump level。level的解释如下:
1 :only the file header
2 :just the file header, the database info record, and checkpoint progress records
3 :all record types, but just the earliest and latest records for circular reuse record types
4 :as above, but includes the 4 most recent records for circular reuse record types
5+ :as above, but the number of circular reuse records included doubles with each level


我们先从level 1说起:
cmd>sqlplus "/as sysdba"
sql>oradebug setmypid
sql>oradebug dump confilef 1;

在D:oracleadminsdusunudump中找到刚生成的trace文件,主要内容如下:

*** 2007-05-08 17:27:17.000
*** SESSION ID:(11.106) 2007-05-08 17:27:17.000
DUMP OF CONTROL FILES, Seq # 882 = 0x372
FILE HEADER:
Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000
Db ID=3675493804=0xdb1395ac, Db Name='SDUSUN'
Activation ID=0=0x0
Control Seq=882=0x372, File size=278=0x116
File Number=0, Blksiz=8192, File Type=1 CONTROL
*** END OF DUMP ***

我们来分析一下:
1
Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000
指出了创建控制文件时的Oracle的版本,这里是0x9200000,即,9.2.0。我的版本是9207。
Compatibility Vsn指出了兼容版本为0x8000000,即,8.0。

2
Db ID=3675493804=0xdb1395ac, Db Name='SDUSUN'

Db ID是数据库标识号,Oracle根据数据库的创建时间和数据库名按照一定的算法得出的;Db Name为数据库名,本例中数据库名为SDUSUN。

3
Activation ID=0=0x0
Control Seq=882=0x372, File size=278=0x116

Control Seq=882=0x372,说明这是一个控制文件的转储,Seq #是控制文件的序列号,它意味着控制文件的更新次数,
也可以看作是控制文件的版本。882是10进制表示的,372是十六进制表示的。

File size表示控制文件的物理大小,其单位为块,
也就是说,控制文件的实际大小=File size的值 * 数据块的大小(DB_BLOCK_SIZE)
我这里file size=278*8KB=2224KB
实际上,我们可以看一下oradata里面的控制文件大小,是2232KB,是一致的。

4
File Number=0, Blksiz=8192, File Type=1 CONTROL

控制文件的文件号为0,类型为1;
Blksiz对应于操作系统数据块的大小,在Windows平台上为8192K

(待续)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/593324/viewspace-376197/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-09-13

  • 博文量
    116
  • 访问量
    118268