sqlt工具
sqlt_10g_11g_12c_18c_19c_5th_June_2020.zip
select * from gv$sql_plan ---查看执行计划
sqlt_10g_11g_12c_18c_19c_5th_June_2020.zip
select * from gv$sql_plan ---查看执行计划
众所周知Oracle临时表空间主要是用于数据库较大的临时排序用,在PGA分配的工作区空间不足以容纳排序数据时使用临时表空间。在用户执行的排序相关的语句执行完毕后临时段回收,相应的临时空间占用也会自动释放。但针对LOB所产生的临时段的释放不会遵从些机制。
使用率过高带来的影响
临时表空间使用率过高带来的影响:
由于一般业务中都会存在大量排序的sql(如distinct、order by、group by、union、union all、hash join等),所以一旦临时表空间长时间使用率过高将导致核心sql因ORA-1652错误而终止,最终导致业务处理失败,如果是核心业务那么这个影响是巨大的。
遇到的问题
得到某实例下所有的表空间创建语句
select distinct 'select to_char(dbms_metadata.get_ddl(''TABLESPACE'','''||tablespace_name||''')) from dual;' from dba_tables;
select resource_name,MAX_UTILIZATION,LIMIT_VALUE from v$resource_limit where resource_name in ('processes','sessions');