• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle中临时文件File#和Db_files关系

mysql 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论

在v$tempfile与v$sort_usage之关系解析一文中,我们注意到对于临时文件的绝对文件号(AFN),Oracle的分配规则和常规数据文件并不相同。 实际上,临时文件的绝对文件号应该等于db_files + file#。 我们看一下实例:SQL select indx,tfnum,tfafn,tfcsz 2 from x$kc

在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;
FI本文来源gao($daima.com搞@代@#码$网LE# 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其实指的就是临时文件。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle中临时文件File#和Db_files关系
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址