临时文件file#和db_files的关系

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

在v$tempfile与v$sort_usage之关系解析一文中,我们注重到对于临时文件的绝对文件号(AFN),Oracle的分配规则和常规数据文件并不相同.

实际上,临时文件的绝对文件号应该等于db_files + file#.

我们看一下实例:

SQL> select indx,tfnum,tfafn,tfcsz

2 from x$kcctf;

INDX TFNUM TFAFN TFCSZ

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

0 1 201 2560

SQL> show parameter db_files

NAME TYPE VALUE

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

db_files integer 200

SQL> select file#,name from v$tempfile;

FILE# NAME

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

1 +ORADG/danaly/tempfile/temp.267.600173887

SQL>

所以在Oracle文档中v$tempfile.file#被定义为The absolute file number是不确切的.

经常的,我们可能会在警报日志文件中看到类似如下的错误:

***

Corrupt block relative dba: 0x00c0008a (file 202, block 138)

Bad header found during buffer read

Data in bad block -

type: 8 format: 2 rdba: 0x0140008a

last change scn: 0x0000.431f8beb seq: 0x1 flg: 0x08

consistency value in tail: 0x8beb0801

check value in block header: 0x0, block checksum disabled

spare1: 0x0, spare2: 0x0, spare3: 0x0

***

这里的file 202其实指的就是临时文件.

感谢Eagle Fan的提醒.

原文地址:http://www.eygle.com/archives/2006/03/file_id_and_db_files.Html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航