首页 > 数据库 > Oracle > impdp导入数据后,system 表空间整理
在在使用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
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博客 ” ,链接:https://blog.itpub.net/32980/viewspace-1056583/ ,如需转载,请注明出处,否则将追究法律责任。