在v$tempfile與v$sort_usage之關(guān)系解析一文中,我們注重到對(duì)于臨時(shí)文件的絕對(duì)文件號(hào)(AFN),Oracle的分配規(guī)則和常規(guī)數(shù)據(jù)文件并不相同.
實(shí)際上,臨時(shí)文件的絕對(duì)文件號(hào)應(yīng)該等于db_files + file#.
我們看一下實(shí)例:
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是不確切的.
經(jīng)常的,我們可能會(huì)在警報(bào)日志文件中看到類似如下的錯(cuò)誤:
*** 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其實(shí)指的就是臨時(shí)文件.
感謝Eagle Fan的提醒.原文地址:http://www.eygle.com/archives/2006/03/file_id_and_db_files.Html