impdp匯入資料後,system 表空間整理

djb1008發表於2011-11-28

在在使用impdp工具,實施資料庫的遷移後,發現SYSTEM 表空間使用了很多空間(空間佔用超過了1024M),需要進行必要的整理工作.

1. 查詢system表空間段使用情況,找出容量大於100M的段

SQL>select segment_type,segment_name,sum(bytes/1024/1024) from dba_segments where owner in ('SYS','SYSTEM')
and tablespace_name='SYSTEM'
group by segment_type,segment_name having sum(bytes/1024/1024) >100 order by segment_type,segment_name;

SEGMENT_TYPE SEGMENT_NAME SUM(BYTES/1024/1024)
------------------ -------------------------------------------- --------------------
TABLE AIDU_STATS 156
TABLE SCDC_STATS 208
LOBSEGMENT SYS_LOB0000042957C00039$$ 296
LOBSEGMENT SYS_LOB0000062816C00039$$ 296
LOBSEGMENT SYS_LOB0000082789C00039$$ 296

[@more@]

2. 刪除匯入的資料庫統計資訊表

SQL>drop table system.aidu_stats purge;
SQL>drop table system.scdc_stats purge;

刪除表時,如果不需要恢復,就加上purge引數,這樣就不會放入回收站,直接永久刪除了.

3. 查詢LOBSEGMENT的段所在的表,對於不再需要的表,進行徹底的刪除.

select a.owner,A.TABLE_NAME,B.BYTES/1024/1024 from DBA_LOBS A,DBA_SEGMENTS B
where A.SEGMENT_NAME=B.SEGMENT_NAME AND A.SEGMENT_NAME IN('SYS_LOB0000042957C00039$$','SYS_LOB0000062816C00039$$','SYS_LOB0000082789C00039$$');

OWNER TABLE_NAME B.BYTES/1024/1024
------------------------------ ------------------------------ -----------------
SYSTEM SYS_IMPORT_SCHEMA_01 296
SYSTEM SYS_IMPORT_SCHEMA_02 296
SYSTEM SYS_IMPORT_SCHEMA_03 296

刪除包含LOBSEGMENT段的表,這些表都是匯入過程中,被使用者異常終止匯入操作,導致了系統無法正確自動刪除匯入狀態表.

drop table system.SYS_IMPORT_SCHEMA_01 purge;
drop table system.SYS_IMPORT_SCHEMA_02 purge;
drop table system.SYS_IMPORT_SCHEMA_03 purge;


4.重新查詢system表空間的使用情況
SQL>select segment_type,segment_name,sum(bytes/1024/1024) from dba_segments where owner in ('SYS','SYSTEM')
group by segment_type,segment_name having sum(bytes/1024/1024) >100 order by segment_type,segment_name;

no rows selected

SYSTEM 表空間中不存在匯入資料庫而產生的表了,SYSTEM 表空間處於正常的使用狀態.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/32980/viewspace-1056583/,如需轉載,請註明出處,否則將追究法律責任。

相關文章