a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 124|回复: 0

[考试辅导] 详解Oracle中临时文件File#和Db_files关系

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
在v$tempfile与v$sort_usage之关系解析一文中,我们注意到对于临时文件的绝对文件号(AFN),Oracle的分配规则和常规数据文件并不相同。2 I6 ^0 T8 E3 Q$ [1 F9 A
实际上,临时文件的绝对文件号应该等于db_files + file#。; y$ T4 o$ o9 o4 ?7 W
我们看一下实例:
0 X% K  n7 z# L) ySQL> select indx,tfnum,tfafn,tfcsz" {1 E/ R% ]4 K9 U' g
2 from x$kcctf;
7 ~! T- s& Y2 I( s" I2 ~/ ]; fINDX   TFNUM   TFAFN   TFCSZ  p9 N' T8 W' G( o  q* q4 L
---------- ---------- ---------- ----------$ Q# m% r: R; H$ n4 C+ m/ q
0     1    201    2560
) p( O. ~; k  [2 U9 F; CSQL> show parameter db_files+ h; ]+ D4 U; }2 I  W
NAME                 TYPE    VALUE
) I: y& t" S9 P' `+ K2 D------------------------------------ ----------- ------- T6 o$ {6 Y/ I- r4 j
db_files               integer   2007 F( |5 d$ r- X' s+ t, O
SQL> select file#,name from v$tempfile;
. E/ E& y9 P% t* F  W4 h9 y( }: d. IFILE# NAME" y  s: t* ~* M" @2 I$ j
--------- -----------------------------------------
+ j; g6 V: `3 k5 g1 +ORADG/danaly/tempfile/temp.267.600173887
. [$ B1 P9 |$ _9 t' \  nSQL>
8 f0 ]* N) m1 h5 h. O9 O# N所以在Oracle文档中v$tempfile.file#被定义为The absolute file number是不确切的。经常的,我们可能会在警报日志文件中看到类似如下的错误:
2 @9 K& i8 i. T7 \9 G+ kCorrupt block relative dba: 0x00c0008a (file 202, block 138)  H! t- p" f7 H$ J0 D& ?5 z2 d
Bad header found during buffer read
. \4 p* L% z% d3 e2 r0 v/ g, Q! N; eData in bad block -
8 I8 ^( S1 X4 f7 `1 ~1 itype: 8 format: 2 rdba: 0x0140008a
' K7 r$ ~1 {9 ]last change scn: 0x0000.431f8beb seq: 0x1 flg: 0x08
! `# k1 |8 N! I, Dconsistency value in tail: 0x8beb0801: _# N# }* J% Q. f* S6 h' j) Q9 L
check value in block header: 0x0, block checksum disabled
! J$ a2 }$ O# G* pspare1: 0x0, spare2: 0x0, spare3: 0x0
& T. o! T/ h8 u5 q; r这里的file 202其实指的就是临时文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-9-28 06:31 , Processed in 0.589478 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表