暂无图片
19c SYSAUX表空间SQLOBJ$PLAN表过大,如何清理
我来答
分享
hzdba
2022-07-21
19c SYSAUX表空间SQLOBJ$PLAN表过大,如何清理

19c SYSAUX表空间SQLOBJ$PLAN表过大如何清理?再官方的MOS和网络上都没有搜索到相关的资料,有咩有大佬指点一下

SEGMENT_NAME PARTITION_NAME SEGMENT_TYPE BYTES/1024/1024
------------------------------ ------------------------------ ------------------ ---------------
SQLOBJ$PLAN TABLE 3479

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
肖杰

https://www.modb.pro/db/421266
去看一下这个表里记录的具体内容,参考我遇到的这个case去分析一下

暂无图片 评论
暂无图片 有用 0
打赏 0
hzdba
题主
2022-07-21
感谢大佬指点,我去看看该表的结构摸索下
张sir
暂无图片 评论
暂无图片 有用 0
打赏 0
Lucifer三思而后行
暂无图片

参考 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);
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交