临时文件相关的v$tempfile v$sort_usage与V$tempseg_usage
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的更多相关文章
- [Android] 安卓模拟器临时文件相关问题
今天生产环境有台机器的硬盘满了,排查发现我的模块在/tmp/android-username目录下留了一堆形如“emulator-1tpH5l”的文件,占用了很大的空间. 这个模块会反复启停好几个安卓 ...
- 【Python】 tempfile模块 临时文件和目录的处理
[tempfile] 惊奇地又发现了一个比较有意思的小模块. 在一些场景中我们经常需要自动生成一些临时文件,当然用简单的open函数,来创建一个隐藏文件可以实现.不过tempfile这个模块把一些有的 ...
- python 创建临时文件和文件夹
----需要在程序执行时创建一个临时文件或目录,并希望使用完之后可以自动销毁掉. tempfile 模块中有很多的函数可以完成这任务.为了创建一个匿名的临时文件,可以使用tempfile.Tempor ...
- 关于KingbaseES临时文件过大问题
背景 前几天碰到一个问题,现场并发很高,数据量很大(6T),主备库经常出现临时文件过多. 临时文件概念: 当私有进程buffer不够用时,会将buffer内容dump到tempfile供数据库正常sq ...
- createNewFile创建空文件夹与createTempFile创建临时文件夹
创建要注意的地方如下: <pre name="code" class="java"> File类的createNewFile根据抽象路径创建一个新的 ...
- 在PHP中操作临时文件
关于文件相关的操作,想必大家已经非常了解了,在将来我们刷到手册中相关的文件操作函数时也会进行详细的讲解.今天,我们先来了解一下在 PHP 中关于临时文件相关的一些内容. 获取 PHP 的默认临时创建文 ...
- 表空间(TableSpace)
我们知道Oracle数据库真正存放数据的是数据文件(Data File),oracle表空间(tablespace)实际上是一个逻辑的概念,在物理上是并不存在的,那么把一组data files捻在一起 ...
- linux服务器开发一 基础
注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...
- Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)
Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...
随机推荐
- ASP.NET获取工程根目录的方法集合
1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory //取得或设置当前工作目录的完整限定路径 方法2.AppDomain.CurrentDomain. ...
- 转载 Servlet3.0中使用注解配置Servle
转载地址:http://www.108js.com/article/article10/a0021.html?id=1496 开发Servlet3的程序需要一定的环境支持.Servlet3是Java ...
- DIA
Dia Tutorial: http://www.seanet.com/~hgg9140/comp/diatut/all/all.html Dia Tutorial
- [Android Tips] 7. 以调试模式启动应用
adb shell am set-debug-app -w {package_name}
- WebViewClient shouldOverrideUrlLoading 常见错误用法
需求描述 在使用 WebView 的项目中,一个常见的需求是将页面内的链接跳转限制在 WebView 内,而不是使用外部浏览器打开,但 WebView 的默认行为是将链接点击事件作为 Intent 发 ...
- Android--Retrofit+RxJava的简单封装(三)
1,继续接着上一篇的讲讲,话说如果像上一篇这样的话,那么我们每一次请求一个结构都要创建一堆的Retrofit对象,而且代码都是相同的,我们可以试试封装一下 先创建一个HttpMethods类,将Ret ...
- maven常见错误
摘要: 1.Java-maven异常-cannot be cast to javax.servlet.Filter 报错 tomcat 启动后先将tomcat/lib目录下的jar包全部读入内存,如 ...
- ajax 代码
function ajax(){ var aj=null; if(window.ActiveXObject){ aj = new ActiveXObject("Microsoft.XMLHT ...
- 指定页面配置https(apache/tomcat)
apache/tomcat服务器下配置https apache下配置https: 首先在网站根目录下,找到.htaccess文件(如果没有则新建),apache ...
- RCP:如何移除Search对话框中不需要的项
前言 很久没写文章了,准备写一系列关于Eclipse RCP /Plugin的文章. 这些文章都是trouble shooting性质的,不准备写的很细,当你碰到这样的问题,google到时,能帮你把 ...