工作笔记 ---表空间清理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作笔记 ---表空间清理相关的知识,希望对你有一定的参考价值。

--查看数据库中表空间详细使用情况

SELECT A.TABLESPACE_NAME "表空间名",

       A.TOTAL_SPACE "总空间(M)",

       NVL(B.FREE_SPACE, 0) "剩余空间(M)",

       A.TOTAL_SPACE - NVL(B.FREE_SPACE, 0) "使用空间(M)",

       trunc(NVL(B.FREE_SPACE, 0) / A.TOTAL_SPACE * 100, 2) "剩余百分比%"

  FROM (SELECT TABLESPACE_NAME,

               trunc(SUM(BYTES) / 1024 / 1024, 2) TOTAL_SPACE

          FROM DBA_DATA_FILES

         GROUP BY TABLESPACE_NAME) A,

       (SELECT TABLESPACE_NAME,

               trunc(SUM(BYTES / 1024 / 1024), 2) FREE_SPACE

          FROM DBA_FREE_SPACE

         GROUP BY TABLESPACE_NAME) B

 WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)

 ORDER BY 5;


--查看某一个表空间内表和分区表的使用情况:以BOSSNM_PERF_DATA表空间为例

select segment_name,segment_type,round(sum(bytes)/1024/1024/1024,4)  from dba_segments 


where tablespace_name =upper(‘BOSSNM_PERF_DATA‘) 


group by segment_name,segment_type order by sum(bytes) desc

--查看某一个表空间内表和分区表的使用情况:以BOSSNM_INFO表空间为例

select segment_name,segment_type,round(sum(bytes)/1024/1024/1024,4)  from dba_segments 

where tablespace_name =upper(‘BOSSNM_INFO‘) 

group by segment_name,segment_type order by sum(bytes) desc



利用pkp_tools_orz包  清理分区表

--查询BOSSNM_INFO表空间内  各表的使用情况

begin

pkp_tools_orz.AUTO_CLEAR_PARTITIONTABLES(‘BOSSNM_INFO‘,0);

end;

--查询结果在表使用情况结果存在CLEAR_SPACE_TEMP临时表内

select * from CLEAR_SPACE_TEMP

--清理表的语句在CLEAR_SPACE_TEMP表的clear_sql字段内复制下来,在command窗口下执行清理

--例下面3种不同清理格式分别是: 带有全局索引的分区表、带有局部索引的分区表、不带索引的表。

alter table NE_ALARM_MSG truncate partition PART_1311 update global indexes;

alter table CTNBC_TRAN_DATA_008 truncate partition PART_201610;

truncate table INFO_JT_SR_40200023


--查看该表的索引状态,在user_indexes 中的status字段内N/A表示局部 、VALID表示全局

--例查询表分区为CTNBC_TRAN_DATA_008_NEW的索引,及status.

select * from user_indexes where table_name=‘CTNBC_TRAN_DATA_008_NEW‘;


--清理结束,查询索引是否正常

--例查看索引名INFO_JT_MID_MSG_ALL_DTL_01的索引,表内status字段显示usable表示正常.

select * from  Dba_ind_partitions where index_name=‘INFO_JT_MID_MSG_ALL_DTL_01‘ ;


以上是关于工作笔记 ---表空间清理的主要内容,如果未能解决你的问题,请参考以下文章