当前位置:数据库 > Oracle >>

oracle处理temp表空间爆长的问题

oracle处理temp表空间爆长的问题
 
首先看temp ts,以下操作会使用temp表空间:
 
- build index.
 
- ORDER BY or GROUP BY
 
- DISTINCT.
 
- UNION & INTERSECT & MINUS
 
- Sort-Merge joins.
 
- Analyze
 
正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。
 
但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题
 
在v$sort_segment字典中,我们可能看到temp的详细的使用情况,
 
SQL> desc v$sort_segment
 
 名称                                                  是否为空? 类型
 
 --------------------------------------                            --------------- -------- ------------
 
 TABLESPACE_NAME                                                VARCHAR2(31)
 
 SEGMENT_FILE                                                   NUMBER
 
 SEGMENT_BLOCK                                                  NUMBER
 
 EXTENT_SIZE                                                    NUMBER
 
 CURRENT_USERS                                                  NUMBER
 
 TOTAL_EXTENTS                                                  NUMBER
 
 TOTAL_BLOCKS                                                   NUMBER
 
 USED_EXTENTS                                                   NUMBER
 
 USED_BLOCKS                                                    NUMBER
 
 FREE_EXTENTS                                                   NUMBER
 
 FREE_BLOCKS                                                    NUMBER
 
 ADDED_EXTENTS                                                  NUMBER
 
 EXTENT_HITS                                                    NUMBER
 
 FREED_EXTENTS                                                  NUMBER
 
 FREE_REQUESTS                                                  NUMBER
 
 MAX_SIZE                                                       NUMBER
 
 MAX_BLOCKS                                                     NUMBER
 
 MAX_USED_SIZE                                                  NUMBER
 
 MAX_USED_BLOCKS                                                NUMBER
 
 MAX_SORT_SIZE                                                  NUMBER
 
 MAX_SORT_BLOCKS                                                NUMBER
 
 RELATIVE_FNO                                                   NUMBER
 
而v$sort_usage将会提供目前操作的会话.
 
SQL> desc v$sort_usage;
 
 名称                                                  是否为空? 类型
 
 ----------------------------------------------------- -------- -------------
 
 USERNAME                                                       VARCHAR2(30)
 
 USER                                                           VARCHAR2(30)
 
 SESSION_ADDR                                                   RAW(4)
 
 SESSION_NUM                                                    NUMBER
 
 SQLADDR                                                       &nbs
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,