« LOB对象与临时段 | Blog首页 | Oracle Metalink帐号重要更改策略 »
v$tempfile与v$sort_usage之关系解析
作者:eygle |【转载时请以超链接形式标明文章出处和作者信息及本声明】链接:http://www.eygle.com/archives/2006/03/tempfile_and_sort_usage.html
在前面的V$TEMPSEG_USAGE与Oracle排序中我谈到V$TEMPSEG_USAGE和V$SORT_USAGE同源,其中的SEGFILE#代表的是绝对文件号(AFN).
那么对于临时表空间的临时文件来说,这个字段可以和什么字段进行关联呢?
我们再来看一下V$TEMPFILE的来源,V$TEMPFILE由如下语句创建:
SELECT tf.inst_id, tf.tfnum, TO_NUMBER (tf.tfcrc_scn), |
考察x$kcctf底层表,我们注意到TFAFN(temp file absolute file number)在这里存在:
SQL> desc x$kcctf |
而这个字段在构建v$tempfile时并未出现,所以我们不能通过v$sort_usage和v$tempfile直接关联绝对文件号.
通过LOB对象与临时段一文中方法我们可以简单构建一个排序段使用,然后来研究一下:
SQL> select username,segtype,segfile#,segblk#,extents,segrfno# USERNAME SEGTYPE SEGFILE# SEGBLK# EXTENTS SEGRFNO# |
我们看到这里的SEGFILE#=9,而在v$tempfile是找不到这个信息的:
SQL> select file#,rfile#,ts#,status,blocks FILE# RFILE# TS# STATUS BLOCKS |
我们可以从x$kcctf中获得这些信息,我们可以看到v$tempfile.file#实际上来自x$kcctf.tfnum,实际上是临时文件的顺序号,而绝对文件号是x$kcctf.tfafn,这个才可以和v$sort_usage.segfile#关联:
SQL> select indx,tfnum,tfafn,tfcsz INDX TFNUM TFAFN TFCSZ |
临时表空间的绝对文件号可以通过如下查询获得:
SQL> select tm.file# Fnum ,tf.tfafn AFN,tm.name FName FNUM AFN FNAME |
至于其他就不再赘述。
历史上的今天...
>> 2007-03-25文章:
>> 2005-03-25文章:
------
这篇 【v$tempfile与v$sort_usage之关系解析】来自 eygle.com | CSDN网摘| del.icio.us|Google订阅 | 鲜果订阅 | 抓虾订阅
By eygle on 2006-03-25 16:36 | Comments (0) | Posted to Internal | Edit |
Listed below are links to weblogs that reference v$tempfile与v$sort_usage之关系解析:
» 临时文件file#和db_files的关系 from Friends Life and Oracle
在v$tempfile与v$sort_usage之关系解析一文中,我们注意到对于临时文件的绝对文件号(AFN),Oracle的分配规则和常规数据文件并不相同. [Read More]
Tracked on September 6, 2006 6:49 PM
