参考 MOS 文档:
1、首先查看 SYSAUX 表空间对象的使用情况:
set lines 130
set pages 10000
col SgmntSize heading 'Sgmnt|Size|Mb'
col SgmntSize format 99999
col TSname heading 'TSpace|Name|'
col TSname format a25
col SgmntOwner heading 'Sgmnt|Owner|'
col SgmntOwner format a15
col SgmntName heading 'Sgmnt|Name|'
col SgmntName format a35
col SgmntType heading 'Sgmnt|Type|'
col SgmntType format a5
SELECT
ROUND(SUM(ds.bytes)/1024/1024,0) as "SgmntSize",
ds.TableSpace_name as "TSname",
ds.owner as "SgmntOwner",
ds.segment_name as "SgmntName",
ds.segment_type as "SgmntType"
FROM dba_segments ds
WHERE ds.segment_type IN ('TABLE','INDEX')
AND TableSpace_name = 'SYSAUX'
GROUP BY
ds.TableSpace_name,
ds.owner,
ds.segment_name,
ds.segment_type
ORDER BY "SgmntSize" DESC;
复制
2、通过 DBMS_SPM.DROP_SQL_PLAN_BASELINE 删除不需要的 SQL 基线。
3、shrink space
建议在数据库负载较轻的时候进行:
select space_usage_kbytes from v$sysaux_occupants where occupant_name = 'SQL_MANAGEMENT_BASE';
alter table "SYS"."SQL$" enable row movement;
alter table "SYS"."SQL$TEXT" enable row movement;
alter table "SYS"."SQLOBJ$AUXDATA" enable row movement;
alter table "SYS"."SQL$" shrink space cascade;
alter table "SYS"."SQL$TEXT" shrink space cascade;
alter table "SYS"."SQLOBJ$AUXDATA" shrink space cascade;
alter table "SYS"."SQL$" disable row movement;
alter table "SYS"."SQL$TEXT" disable row movement;
alter table "SYS"."SQLOBJ$AUXDATA" disable row movement;
alter table "SYS"."SQLOBJ$" shrink space cascade;
alter table "SYS"."SQLOBJ$DATA" shrink space cascade;
alter table "SYS"."SQL$" modify lob ("SPARE2") (shrink space cascade);
alter table "SYS"."SQL$TEXT" modify lob ("SPARE2") (shrink space cascade);
alter table "SYS"."SQL$TEXT" modify lob ("SQL_TEXT") (shrink space cascade);
alter table "SYS"."SQLOBJ$" modify lob ("SPARE2") (shrink space cascade);
alter table "SYS"."SQLOBJ$DATA" modify lob ("COMP_DATA") (shrink space cascade);
alter table "SYS"."SQLOBJ$DATA" modify lob ("SPARE2") (shrink space cascade);
alter table "SYS"."SQLOBJ$AUXDATA" modify lob ("SPARE2") (shrink space cascade);
复制