重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 440|回复: 0
打印 上一主题 下一主题

[Oracle] Oracle sysaux表空间使用率高处理

[复制链接]
跳转到指定楼层
楼主
发表于 2025-10-26 22:14:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Oracle sysaux表空间使用率81%,由于存储空间紧张,sysaux表空间总共才4GB。下面详细讲解清理表空间方法,希望对大家有所帮助。

处理过程
查看SYSAUX表空间内各组件的空间占用排行
COLUMN occupant_name FORMAT a30
COLUMN schema_name FORMAT a15
SELECT
    occupant_name,
    schema_name,
    space_usage_kbytes / 1024 AS usage_mb,
    round(space_usage_kbytes / (select sum(space_usage_kbytes) from v$sysaux_occupants where space_usage_kbytes > 0) * 100, 2) pct
FROM v$sysaux_occupants
WHERE space_usage_kbytes > 0
ORDER BY space_usage_kbytes DESC;
执行过程如下:

OCCUPANT_NAME                  SCHEMA_NAME       USAGE_MB        PCT
------------------------------ --------------- ---------- ----------
SM/AWR                         SYS                   1205      51.88
SM/OPTSTAT                     SYS               372.0625      16.02
SDO                            MDSYS             223.8125       9.64
SM/ADVISOR                     SYS                178.625       7.69
AUDSYS                         AUDSYS            121.9375       5.25
XDB                            XDB                 68.375       2.94
SM/OTHER                       SYS                 67.125       2.89
AO                             SYS                45.8125       1.97
LOGMNR                         SYSTEM                  11        .47
WM                             WMSYS               6.5625        .28
JOB_SCHEDULER                  SYS                 5.6875        .24
SMON_SCN_TIME                  SYS                   3.25        .14
PL/SCOPE                       SYS                 2.8125        .12
TEXT                           CTXSYS              2.8125        .12
SQL_MANAGEMENT_BASE            SYS                 2.6875        .12
STREAMS                        SYS                 1.6875        .07
LOGSTDBY                       SYSTEM              1.5625        .07
EM_MONITORING_USER             DBSNMP              1.1875        .05
AUTO_TASK                      SYS                  .5625        .02

19 rows selected.

SQL>
重点关注:SM/AWR (Server Manageability - Automatic Workload Repository) 和 SM/OPTSTAT (Optimizer Statistics) 的占用情况。SM/AWR 排名第一且占用空间大。

检查当前AWR快照设置和保留策略
COLUMN snap_interval FORMAT a20
COLUMN retention FORMAT a20
SELECT
    snap_interval,
    retention
FROM dba_hist_wr_control;
执行过程如下:

SQL> select SNAP_INTERVAL ,retention
  2  FROM dba_hist_wr_control;

SNAP_INTERVAL                                                               RETENTION
--------------------------------------------------------------------------- --------------------
+00000 01:00:00.0                                                           +00008 00:00:00.0

SQL>
可以看到awr快照默认保留8天。由于空间紧张,这里需要把awr快照修改为只保留3天。

修改AWR保留策略
BEGIN
    DBMS_WORKLOAD_REPOSITORY.modify_snapshot_settings(retention => 4320); --单位是分钟,修改为保留3天awr数据,4320=3*24*60
END;
/
执行过程如下:

SQL>  BEGIN
  2  DBMS_WORKLOAD_REPOSITORY.modify_snapshot_settings(retention => 4320);
  3  end;
  4  /
BEGIN
*
ERROR at line 1:
ORA-13541: system moving window baseline size (691200) greater than retention (259200)
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 213
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 265
ORA-06512: at line 2


SQL>
检查类型为 MOVING_WINDOW 的 AWR 基线
SQL> SELECT baseline_name, moving_window_size
FROM dba_hist_baseline
WHERE baseline_type = 'MOVING_WINDOW';  2    3  

BASELINE_NAME                                   MOVING_WINDOW_SIZE
----------------------------------------------- ------------------
SYSTEM_MOVING_WINDOW                            8                                                                                                   

SQL>

可以看到,类型为 MOVING_WINDOW 的 AWR 基线保留时间是8天。需要修改为3天。

修改类型为 MOVING_WINDOW 的 AWR 基线
BEGIN
  DBMS_WORKLOAD_REPOSITORY.MODIFY_BASELINE_WINDOW_SIZE(window_size => 3); --单位是天,修改为3天
END;
/
执行过程如下:

SQL> BEGIN
  2    DBMS_WORKLOAD_REPOSITORY.MODIFY_BASELINE_WINDOW_SIZE(window_size => 3);
  3  END;
  4  /

PL/SQL procedure successfully completed.
再次修改AWR保留策略
SQL> BEGIN
  2      DBMS_WORKLOAD_REPOSITORY.modify_snapshot_settings(retention => 4320);
  3  END;
  4  /

PL/SQL procedure successfully completed.
检查数据库中的awr快照
SELECT snap_id,dbid,instance_number,TO_CHAR(begin_interval_time, 'YYYY-MM-DD HH24:MI:SS') begin_time,TO_CHAR(end_interval_time,'YYYY-MM-DD HH24:MI:SS') end_time
FROM dba_hist_snapshot
ORDER BY snap_id DESC;
执行过程如下:

<此处省略>
      2514 1197336244               2 2025-10-06 04:00:42 2025-10-06 05:00:00
      2513 1197336244               1 2025-10-06 04:00:00 2025-10-06 05:00:12
      2513 1197336244               2 2025-10-06 03:00:23 2025-10-06 04:00:42
      2512 1197336244               1 2025-10-06 03:00:35 2025-10-06 04:00:00
      2512 1197336244               2 2025-10-06 02:00:05 2025-10-06 03:00:23
      2511 1197336244               1 2025-10-06 02:00:17 2025-10-06 03:00:35
      2511 1197336244               2 2025-10-06 01:00:46 2025-10-06 02:00:05
      2510 1197336244               1 2025-10-06 01:00:58 2025-10-06 02:00:17
      2510 1197336244               2 2025-10-06 00:00:28 2025-10-06 01:00:46
      2509 1197336244               1 2025-10-06 00:00:40 2025-10-06 01:00:58
      2509 1197336244               2 2025-10-05 23:00:10 2025-10-06 00:00:28
      2508 1197336244               1 2025-10-05 23:00:21 2025-10-06 00:00:40
      2508 1197336244               2 2025-10-05 22:00:51 2025-10-05 23:00:10
      2507 1197336244               1 2025-10-05 22:00:03 2025-10-05 23:00:21
      2507 1197336244               2 2025-10-05 21:00:32 2025-10-05 22:00:51
      2506 1197336244               1 2025-10-05 21:00:44 2025-10-05 22:00:03
      2506 1197336244               2 2025-10-05 20:00:14 2025-10-05 21:00:32
      2505 1197336244               1 2025-10-05 20:00:26 2025-10-05 21:00:44
      2505 1197336244               2 2025-10-05 19:00:56 2025-10-05 20:00:14
      2504 1197336244               1 2025-10-05 19:00:08 2025-10-05 20:00:26
      2504 1197336244               2 2025-10-05 18:00:37 2025-10-05 19:00:56
      2503 1197336244               1 2025-10-05 18:00:49 2025-10-05 19:00:08
      2503 1197336244               2 2025-10-05 17:00:19 2025-10-05 18:00:37
      2502 1197336244               2 2025-10-05 16:00:01 2025-10-05 17:00:19
      2502 1197336244               1 2025-10-05 17:00:31 2025-10-05 18:00:49
      2501 1197336244               1 2025-10-05 16:00:12 2025-10-05 17:00:31
      2501 1197336244               2 2025-10-05 15:00:42 2025-10-05 16:00:01
      2500 1197336244               1 2025-10-05 15:00:00 2025-10-05 16:00:12
      2500 1197336244               2 2025-10-05 14:00:24 2025-10-05 15:00:42
      2499 1197336244               1 2025-10-05 14:00:35 2025-10-05 15:00:00
      2499 1197336244               2 2025-10-05 13:00:05 2025-10-05 14:00:24
      2498 1197336244               2 2025-10-05 12:00:47 2025-10-05 13:00:05
      2498 1197336244               1 2025-10-05 13:00:17 2025-10-05 14:00:35
      2497 1197336244               2 2025-10-05 11:00:28 2025-10-05 12:00:47
      2497 1197336244               1 2025-10-05 12:00:59 2025-10-05 13:00:17
      2496 1197336244               1 2025-10-05 11:00:40 2025-10-05 12:00:59
      2496 1197336244               2 2025-10-05 10:00:10 2025-10-05 11:00:28
      2495 1197336244               1 2025-10-05 10:00:21 2025-10-05 11:00:40
      2495 1197336244               2 2025-10-05 09:00:51 2025-10-05 10:00:10
      2494 1197336244               2 2025-10-05 08:00:33 2025-10-05 09:00:51
      2494 1197336244               1 2025-10-05 09:00:03 2025-10-05 10:00:21
      2493 1197336244               2 2025-10-05 07:00:14 2025-10-05 08:00:33
      2493 1197336244               1 2025-10-05 08:00:45 2025-10-05 09:00:03
      2492 1197336244               1 2025-10-05 07:00:26 2025-10-05 08:00:45
      2492 1197336244               2 2025-10-05 06:00:56 2025-10-05 07:00:14
      2491 1197336244               2 2025-10-05 05:00:37 2025-10-05 06:00:56
      2491 1197336244               1 2025-10-05 06:00:07 2025-10-05 07:00:26
      2490 1197336244               1 2025-10-05 05:00:49 2025-10-05 06:00:07
      2490 1197336244               2 2025-10-05 04:00:19 2025-10-05 05:00:37
      2489 1197336244               1 2025-10-05 04:00:31 2025-10-05 05:00:49
      2489 1197336244               2 2025-10-05 03:00:01 2025-10-05 04:00:19
      2488 1197336244               2 2025-10-05 02:00:42 2025-10-05 03:00:01
      2488 1197336244               1 2025-10-05 03:00:13 2025-10-05 04:00:31
      2487 1197336244               2 2025-10-05 01:00:24 2025-10-05 02:00:42
      2487 1197336244               1 2025-10-05 02:00:00 2025-10-05 03:00:13
      2486 1197336244               1 2025-10-05 01:00:36 2025-10-05 02:00:00
      2486 1197336244               2 2025-10-05 00:00:06 2025-10-05 01:00:24
      2485 1197336244               1 2025-10-05 00:00:17 2025-10-05 01:00:36
      2485 1197336244               2 2025-10-04 23:00:47 2025-10-05 00:00:06
      2484 1197336244               1 2025-10-04 23:00:59 2025-10-05 00:00:17
      2484 1197336244               2 2025-10-04 22:00:29 2025-10-04 23:00:47
      2483 1197336244               2 2025-10-04 21:00:10 2025-10-04 22:00:29
      2483 1197336244               1 2025-10-04 22:00:41 2025-10-04 23:00:59     

430 rows selected.

SQL>
手工删除快照
语法:
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
   low_snap_id    IN  NUMBER,
   high_snap_id   IN  NUMBER,
   dbid           IN  NUMBER   DEFAULT NULL);

BEGIN
   dbms_workload_repository.drop_snapshot_range(low_snap_id => 2483,high_snap_id => 2514);  
END;
/
执行过程如下:

SQL> BEGIN
  2     dbms_workload_repository.drop_snapshot_range(low_snap_id => 2483,high_snap_id => 2514);  
  3  END;
  4  /

PL/SQL procedure successfully completed.
可以按照上面的方法继续删除其他不需要的快照。

附录:查询表空间下面的对象占用情况SQL
--这个sql适用于查询任何表空间下面的对象
col segment_name format a50
col segment_type format a20
set lines 200
set pages 10000
select segment_name,segment_type,round(sum(bytes)/1024/1024,2) as "size(MB)"
from dba_segments
where tablespace_name='SYSAUX'  --查询其他表空间下的对象时,替换表空间名称即可
Group by segment_name,segment_type
Order by 3 ;

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 19:46 , Processed in 0.217431 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表