如何在 Oracle 中检查临时表空间

网友投稿 826 2023-04-23

如何在 *** 中检查临时表空间

如何在 *** 中检查临时表空间

一、什么是临时表空间

临时表空间用于 *** 中的排序操作。它也用于连接操作。基本上,它是临时存储,临时对象是在这里创建的。全局临时表也在这个表空间中创建。这是一个非常重要的表空间,如果管理不当,可能会出现问题。让我们看看临时表空间管理的各种查询。

二、***创建临时表空间的方法

这是创建临时表空间的 SQL。

--单个临时文件CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/***/TEST/oradata/temp_1.dbf' SIZE 1000M; --多个临时文件CREATE TABLESPACE TEMP TEMPFILE '/u01/***/TEST/oradata/temp_1.dbf' SIZE 1000M '/u01/***/TEST/oradata/temp_2.dbf' SIZE 1000M ;--使用 ASM CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '+DATA' SIZE 1000M;

三、如何在 *** 中检查临时表空间

*** 数据库可以有多个临时表空间。

select tablespace_name,status,contents from dba_tablespaces where contents='TEMPORARY';

我们可以使用以下查询选择每个表空间中的文件。

select file_name, tablespace_name, bytes from dba_temp_files或select a.name,b.name, a.bytes from v$tempfile a, v$tablespace b where a.ts#=b.ts#

1、如何检查 Temp 表空间的大小

这是有关如何在 *** 中检查以 GB 为单位的临时表空间大小的查询。

select tablespace_name,sum(bytes)/1024/1024/1024 temp_gbfrom dba_temp_files group by tablespace_name;orselect b.name, sum(a.bytes)/1024/1024/1024 from v$tempfile a, v$tablespace b where a.ts#=b.ts# group by b.name;

2、***如何查看临时表空间的可用空间

select tsh.tablespace_name,dtf.bytes/1024/1024/1024 total_GB,sum(nvl(tsh.bytes_used,0))/1024/1024/1024 used_GB,sum(nvl(tsh.bytes_free,0))/1024/1024/1024 free_GB,(1-sum(nvl(tsh.bytes_free,0))/dtf.bytes)*100 pct,from v$temp_space_header tsh,(select tablespace_name, sum(bytes) bytesfrom dba_temp_filesgroup by tablespace_name) dtfwhere dtf.tablespace_name = tsh.tablespace_name(+)group by tsh.tablespace_name, dtf.bytes/1024, dtf.bytesorder by 1/

在 11g 中,引入了一个新视图 dba_temp_free_space,我们也可以使用它进行查询。

SELECT * FROM dba_temp_free_space;

3、如何在实例级别检查临时表空间使用情况

select inst_id, tablespace_name, segment_file, total_blocks,used_blocks, free_blocks, max_used_blocks, max_sort_blocksfrom gv$sort_segment;select inst_id, tablespace_name, blocks_cached, blocks_usedfrom gv$temp_extent_pool;select inst_id,tablespace_name, blocks_used, blocks_freefrom gv$temp_space_header;select inst_id,free_requests,freed_extentsfrom gv$sort_segment;

4、如何查看 Temp 表空间的使用百分比

select tablespace_name, ' %free='|| round(sum(free_blocks) / sum(total_blocks) * 100 ,0)from gv$sort_segment group by tablespace_name;

5、如何找到正在使用临时表空间的会话

set pagesize 50000 echo off verify off feedback off lines 80 heading oncol username format a15 head 'Username'col osuser format a15 head 'OS User'col sid format 99999 head 'Sid'col logon_time format a14 head 'Logon Time'col tablespace format a15 head 'Tablespace Name'selecttablespace, a.osuser, a.username, a.sid, to_char(logon_time,'MM/DD/YY HH24:MI') logon_timefrom v$session a, v$sort_usage bwhere a.saddr = b.session_addr;

6、如何通过会话检查临时表空间使用情况

SELECT s.sid、s.username、s.status、u.tablespace、u.segfile#、u.contents、u.extents、u.blocks FROM v$session s、v$sort_usage u WHERE s.saddr=u。 session_addr ORDER BY u.tablespace, u.segfile#, u.segblk#, u.blocks;

7、如果我们还想看到正在运行的 sql

SELECT a.username, a.sid, a.serial#, a.osuser, b.tablespace, b.blocks, c.sql_text FROM v$session a, v$tempseg_usage b, v$sqlarea c WHERE a.saddr = b .session_addr AND c.address= a.sql_address AND c.hash_value = a.sql_hash_value ORDER BY b.tablespace, b.blocks;

8、如何使用大量 TEMP 查找会话

col inst_id format 999col sid format 99999col status format a11col program format a20 trunccol machine format a17 trunccol action format a39col module format a39col blocks heading "TEMP BLOCKS"SELECT b.blocks, s.inst_id, s.sid, s.status,s.action,s.program,s.machine,s.moduleFROM gv$session s,gv$sort_usage bWHERE s.saddr = b.session_addrand s.inst_id = b.inst_idand b.blocks > 100000order by b.blocks desc;

四、***如何增加临时表空间

我们可以通过扩展现有文件或添加新的临时文件来增加临时表空间。

alter database tempfile '+DATA/test/tempfile01.dbf' resize 10000m ;oralter tablespace TEMP add tempfile '+DATA/test/tempfile02.dbf' resize 10000m ;

1、如何调整临时文件的大小

alter database tempfile '+DATA/test/tempfile01.dbf' resize 10000m ;

2、如何删除临时文件

无法从普通表空间中删除数据文件,但可以从临时表空间中删除临时文件。这是sql

ALTER DATABASE TEMPFILE '' DROP INCLUDING DATAFILES;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于跳表,这么解释你肯定能听懂
下一篇:系统请求1次10s,我被客户爆骂,一怒之下优化数据库提升百倍性能
相关文章