SQL> select username,user,segtype,segfile#,segblk#,extents,segrfno# from v$sort_usage;

SEGFILE#代表的是绝对文件号(AFN),对应x$kcctf表中的TFAFN(temp file absolute file number)。

SQL> select indx,tfnum,tfafn,tfcsz from x$kcctf;

TFCSZ 是创建临时文件的块数

查看临时文件的绝对文件号

select tf.FILE#, xtf.tfafn, tf.NAME

from v$tempfile tf, x$kcctf xtf

where tf.FILE# = xtf.tfnum;

查看内存中正在使用的临时文件

col username for a12

col name for a90

select tf.FILE#,su.USERNAME,su.SEGTYPE, tf.NAME

from v$tempfile tf, x$kcctf xtf,v$sort_usage su

where tf.FILE# = xtf.tfnum and xtf.tfafn = su.SEGFILE#;

正在使用的临时文件是无法删除的

SQL> select name from v$tempfile;

NAME

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

+ASM_DATA/orcl/tempfile/temp.277.925652849

+ASM_DATA/orcl/tempfile/temp.268.925556123

SQL> alter database tempfile '+ASM_DATA/orcl/tempfile/temp.268.925556123' drop;

alter database tempfile '+ASM_DATA/orcl/tempfile/temp.268.925556123' drop

*

ERROR at line 1:

ORA-25152: TEMPFILE cannot be dropped at this time

而没有正在使用的临时文件是可以删除的

SQL> alter database tempfile '+ASM_DATA/orcl/tempfile/temp.277.925652849' drop;

Database altered.

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

小知识补充:

数据库真正的v$基础视图用户无法访问

可以通过v_$视图访问真正的v$基础视图

用户可以访问的v$视图实际上是v_$视图的同义词

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

select do.object_type from dba_objects do where do.object_name in('V$TEMPFILE','V$TEMPSEG_USAGE')

可以看到我们通常访问的v$tempfile其实是个同义词,这里提到了V$TEMPSEG_USAGE

select * from dba_synonyms where synonym_name='V$TEMPSEG_USAGE';

可以看到 V$TEMPSEG_USAGE 是 V_$SORT_USAGE 的同义词,而 V_$SORT_USAGE则是基础视图V$SORT_USAGE的视图,由此可知V$TEMPSEG_USAGE与V$SORT_USAGE是等效的。

附:v$tempfile 定义查看过程

select * from v$fixed_view_definition where view_name='V$TEMPFILE';

select FILE#,

CREATION_CHANGE#,

CREATION_TIME,

TS#,

RFILE#,

STATUS,

ENABLED,

BYTES,

BLOCKS,

CREATE_BYTES,

BLOCK_SIZE,

NAME

from GV$TEMPFILE

where inst_id = USERENV('Instance')

select * from v$fixed_view_definition where view_name='GV$TEMPFILE';

select tf.inst_id,

tf.tfnum,

to_number(tf.tfcrc_scn),

to_date(tf.tfcrc_tim,

'MM/DD/RR HH24:MI:SS',

'NLS_CALENDAR=Gregorian'),

tf.tftsn,

tf.tfrfn,

decode(bitand(tf.tfsta, 2), 0, 'OFFLINE', 2, 'ONLINE', 'UNKNOWN'),

decode(bitand(tf.tfsta, 12),

0,

'DISABLED',

4,

'READ ONLY',

12,

'READ WRITE',

'UNKNOWN'),

fh.fhtmpfsz * tf.tfbsz,

fh.fhtmpfsz,

tf.tfcsz * tf.tfbsz,

tf.tfbsz,

fn.fnnam

from x$kcctf tf, x$kccfn fn, x$kcvfhtmp fh

where fn.fnfno = tf.tfnum

and fn.fnfno = fh.htmpxfil

and tf.tffnh = fn.fnnum

and tf.tfdup != 0

and bitand(tf.tfsta, 32) <> 32

and fn.fntyp = 7

and fn.fnnam is not null

SQL> desc x$kcctf

Name                       Null?    Type

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

ADDR                            RAW(8)

INDX                            NUMBER

INST_ID                        NUMBER

TFNUM                            NUMBER

TFAFN                            NUMBER

TFCSZ                            NUMBER

TFBSZ                            NUMBER

TFSTA                            NUMBER

TFCRC_SCN                        VARCHAR2(16)

TFCRC_TIM                        VARCHAR2(20)

TFFNH                            NUMBER

TFFNT                            NUMBER

TFDUP                            NUMBER

TFTSN                            NUMBER

TFTSI                            NUMBER

TFRFN                            NUMBER

TFPFT                            NUMBER

TFMSZ                            NUMBER

TFNSZ                            NUMBER

临时文件相关的v$tempfile v$sort_usage与V$tempseg_usage的更多相关文章

  1. [Android] 安卓模拟器临时文件相关问题

    今天生产环境有台机器的硬盘满了,排查发现我的模块在/tmp/android-username目录下留了一堆形如“emulator-1tpH5l”的文件,占用了很大的空间. 这个模块会反复启停好几个安卓 ...

  2. 【Python】 tempfile模块 临时文件和目录的处理

    [tempfile] 惊奇地又发现了一个比较有意思的小模块. 在一些场景中我们经常需要自动生成一些临时文件,当然用简单的open函数,来创建一个隐藏文件可以实现.不过tempfile这个模块把一些有的 ...

  3. python 创建临时文件和文件夹

    ----需要在程序执行时创建一个临时文件或目录,并希望使用完之后可以自动销毁掉. tempfile 模块中有很多的函数可以完成这任务.为了创建一个匿名的临时文件,可以使用tempfile.Tempor ...

  4. 关于KingbaseES临时文件过大问题

    背景 前几天碰到一个问题,现场并发很高,数据量很大(6T),主备库经常出现临时文件过多. 临时文件概念: 当私有进程buffer不够用时,会将buffer内容dump到tempfile供数据库正常sq ...

  5. createNewFile创建空文件夹与createTempFile创建临时文件夹

    创建要注意的地方如下: <pre name="code" class="java"> File类的createNewFile根据抽象路径创建一个新的 ...

  6. 在PHP中操作临时文件

    关于文件相关的操作,想必大家已经非常了解了,在将来我们刷到手册中相关的文件操作函数时也会进行详细的讲解.今天,我们先来了解一下在 PHP 中关于临时文件相关的一些内容. 获取 PHP 的默认临时创建文 ...

  7. 表空间(TableSpace)

    我们知道Oracle数据库真正存放数据的是数据文件(Data File),oracle表空间(tablespace)实际上是一个逻辑的概念,在物理上是并不存在的,那么把一组data files捻在一起 ...

  8. linux服务器开发一 基础

    注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...

  9. Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

随机推荐

  1. 有关segue的简介

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {   ViewControllerB *vc = segue ...

  2. php写插件

    1.写在最前 随着互联网飞速发展,lamp架构的流行,php支持的扩展也越来越多,这样直接促进了php的发展. 但是php也有脚本语言不可避免的问题,性能比例如C等编译型语言相差甚多,所以在考虑性能问 ...

  3. Redis常用的30个命令

    转自http://www.jb51.net/article/51884.htm 1,connect 描述:实例连接到一个Redis.参数:host: string,port: int返回值:BOOL ...

  4. Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙

    网上文档很多,但最初都有问题.整理一份,作为备份.使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.hprof文件,用memory Analyzer分析排查问题,且泄漏内存大小可 ...

  5. js的实参是按值传递还是按引用传递

    1.如果是基本类型,则是按值传递 var str = 'one';function f(string) {    string = 'two';}f(str);console.log(str); // ...

  6. easyui combobox级联(转载)

    一.创建combobox 有如下几种方式可以创建一个combobox 1.使用select标签,并加上class="easyui-combobox",这种方式比较适用于静态的选项. ...

  7. SpringMVC学习系列(3) 之 URL请求到Action的映射规则

    在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面.本篇我们来学习如何来配置一个action的url映射规则. 在系列(2)中我们在HelloWorldContr ...

  8. JS数组定义【收藏】

    最近在学习JS,刚好学到数组,发现章节还蛮多了而且发现了数组的以前好多不知道的东西,顺便整理下: 数组一共有有四种定义的方式 使用构造函数: var a = new Array(); var b = ...

  9. 使用Jquery解析Json基础知识

    前言 在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. ...

  10. Java运行环境的配置

    Make sure you do not use the trailing semicolon: This will not work: set JAVA_HOME=C:\Program Files ...