a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 114|回复: 0

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

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
在v$tempfile与v$sort_usage之关系解析一文中,我们注意到对于临时文件的绝对文件号(AFN),Oracle的分配规则和常规数据文件并不相同。
* _* b/ O  r* |' ]2 g; [实际上,临时文件的绝对文件号应该等于db_files + file#。% R6 l$ F( R, x/ A. S
我们看一下实例:2 O8 Z! y  S& g; L5 s5 k3 h8 Z
SQL> select indx,tfnum,tfafn,tfcsz
3 [4 W9 \! o+ @" i- T0 O1 B2 from x$kcctf;
% Y; u1 ~$ Q/ ZINDX   TFNUM   TFAFN   TFCSZ5 v' T9 A" ]  s* H' r
---------- ---------- ---------- ----------
6 B- ]( T/ ]2 N' Y1 ~0     1    201    2560* }3 [: f8 N0 k3 j' O
SQL> show parameter db_files2 w" V) g" C6 c+ E
NAME                 TYPE    VALUE
) \6 M  ?3 g# O' V7 k+ j------------------------------------ ----------- ------8 W) J: z* U+ B8 s
db_files               integer   200
, ^) Z* f  {( J' i2 ySQL> select file#,name from v$tempfile;' a+ P6 `% M) N% n. G9 o) s
FILE# NAME  t2 r) g/ Z0 C3 Y
--------- -----------------------------------------8 S% b) {6 ?, p+ y% V) ?& F
1 +ORADG/danaly/tempfile/temp.267.600173887% r5 L+ Q9 `5 L+ ?
SQL>( `) Z/ B, n8 ^% W* q2 V. }
所以在Oracle文档中v$tempfile.file#被定义为The absolute file number是不确切的。经常的,我们可能会在警报日志文件中看到类似如下的错误:
3 U9 t/ c% B5 F6 ?5 _( V# HCorrupt block relative dba: 0x00c0008a (file 202, block 138)! O* z# H% c7 i2 o( `5 n% H  g
Bad header found during buffer read' m  P: r3 `0 i5 [
Data in bad block -
3 K" P9 O. A6 i7 U3 E/ btype: 8 format: 2 rdba: 0x0140008a$ |+ k. [/ T* R" k- m( ^8 D" v
last change scn: 0x0000.431f8beb seq: 0x1 flg: 0x08: {$ W% _! E9 d  d7 t% W: R2 f9 {8 q
consistency value in tail: 0x8beb0801
5 G5 E4 v0 J( u/ N& @+ M- f8 _" Scheck value in block header: 0x0, block checksum disabled
- j/ R0 X, r+ T3 espare1: 0x0, spare2: 0x0, spare3: 0x0/ b1 }) H; H/ @7 \- s
这里的file 202其实指的就是临时文件。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-18 23:04 , Processed in 0.224315 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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