oracle怎么查询临时表空间

oracle怎么查询临时表空间,第1张

oracle怎么查询临时表空间

方法:1、利用“select username,temporary_tablespace from dba_users”查看用户当前使用的临时表空间;2、利用“select * from dba_temp_files”查看临时表空间文件。

本教程 *** 作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么查询临时表空间

临时表空间用来管理数据库排序 *** 作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些 *** 作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当 *** 作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。

临时表空间存储大规模排序 *** 作(小规模排序 *** 作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列 *** 作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的 *** 作不产生redo日志,不过会生成undo日志。

创建临时表空间或临时表空间添加临时数据文件时,即使临时数据文件很大,添加过程也相当快。这是因为ORACLE的临时数据文件是一类特殊的数据文件:稀疏文件(Sparse File),当临时表空间文件创建时,它只会写入文件头部和最后块信息(only writes to the header and last block of the file)。它的空间是延后分配的.这就是你创建临时表空间或给临时表空间添加数据文件飞快的原因。

另外,临时表空间是NOLOGGING模式以及它不保存永久类型对象,因此即使数据库损毁,做Recovery也不需要恢复Temporary Tablespace。

--查看用户当前使用的临时表空间
select username,temporary_tablespace from dba_users;
--查看数据库临时表空间文件
select * from dba_temp_files;
--查看数据库临时表空间使用情况
select * from dba_temp_free_space;

推荐教程:《Oracle视频教程》

以上就是oracle怎么查询临时表空间的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/704123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-23
下一篇 2022-04-23

发表评论

登录后才能评论

评论列表(0条)

保存