千家信息网

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

发表于:2025-02-10 作者:千家信息网编辑
千家信息网最后更新 2025年02月10日,--查看数据库中表空间详细使用情况SELECT A.TABLESPACE_NAME "表空间名",A.TOTAL_SPACE "总空间(M)",NVL(B.FREE_SPACE, 0) "剩余空间(M
千家信息网最后更新 2025年02月10日工作笔记 ---表空间清理

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

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' ;


0