oracle sysaux表空间不足,Oracle SYSAUX表空间维护

1.统计信息

(1)更改历史统计信息保存日期

select dbms_stats.get_stats_history_retention from dual;

exec dbms_stats.alter_stats_history_retention(10);

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

(2)清除在某个时间戳之前数据,可以使用PURGE_STATS过程。例如:

exec DBMS_STATS.PURGE_STATS(to_timestamp_tz('01-01-2018 00:00:00 Europe/London','DD-MM-YYYY HH24:MI:SS TZR'));

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

2.sysaux表空间各schema占用空间情况

# v$sysaux_occupants视图记录了,sysaux各个组件占用空间情况,并在move_procedure提供了移除组件存储过程。

col Schema for a25;

col Item for a25;

col move_procedure for a40;

SELECT occupant_name "Item",

space_usage_kbytes / 1024 "Space Used (MB)",

schema_name "Schema",

move_procedure

FROM v$sysaux_occupants;

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

3.AWR清理部分

(1)查询awr设置

col SNAP_INTERVAL for a20

col RETENTION for a20

select * from dba_hist_wr_control;

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

(2)调整awr设置

SQL>

begin

dbms_workload_repository.modify_snapshot_settings (

interval => 60,

retention => 7*24*60,

topnsql => 100

);

end;

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

(3)删除快照

# 查询系统快照

select * from dba_hist_snapshot;

#删除快照编号100~101,如果要删除指定快照,则low_snap_id与high_snap_id一致即可:

begin

dbms_workload_repository.drop_snapshot_range(

low_snap_id => 100,

high_snap_id => 101,

dbid => 1546882763);

end;

/

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

(4)禁用awr

可以将采样时间间隔调整为最长100年,把采样数据保留时间调整到最小1天的方式实现禁用AWR。

SQL> BEGIN

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(

interval => 36500*24*60,

retention => 1*24*60);

END;

/

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

4.如果使用了OEM,则也是sysaux表空间的主要占用者

5.下面为sysaux占用空间不同情况下参考

328e2475c8eed542512ad5a1610409c8.png

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

6.参考文档

Oracle Database Administrator Guide.

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oraclesysaux表空间满了,需要进行清理或扩容操作。可以通过以下步骤进行处理: 1. 查看sysaux表空间的使用情况,确定是否需要扩容或清理。 2. 如果需要扩容,可以使用ALTER TABLESPACE命令进行扩容操作。 3. 如果需要清理,可以使用以下命令进行清理: a. 执行DBMS_SPACE_ADMIN.TABLESPACE_MOVER.PROCEDURE_MOVE_TABLESPACE将表移动到其他表空间。 b. 执行DBMS_SPACE_ADMIN.TABLESPACE_MOVER.PROCEDURE_MOVE_TABLESPACE将索引移动到其他表空间。 c. 执行DBMS_SPACE_ADMIN.TABLESPACE_MOVER.PROCEDURE_MOVE_TABLESPACE将LOB对象移动到其他表空间。 d. 执行DBMS_SPACE_ADMIN.TABLESPACE_MOVER.PROCEDURE_MOVE_TABLESPACE将对象移动到其他表空间。 e. 执行DBMS_SPACE_ADMIN.TABLESPACE_MOVER.PROCEDURE_MOVE_TABLESPACE将对象移动到其他表空间。 f. 执行DBMS_SPACE_ADMIN.TABLESPACE_MOVER.PROCEDURE_MOVE_TABLESPACE将对象移动到其他表空间。 4. 清理完成后,可以再次查看sysaux表空间的使用情况,确保已经解决问题。 ### 回答2: Oracle数据库中的SYSAUX表空间是用于管理和存储系统级别的关键性能数据的空间。当该表空间满时,可能会导致数据库性能下降或无法正常工作。那么,我们该如何处理这种情况呢? 首先,我们可以通过查询V$SYSAUX_OCCUPANTS视图来确定哪些对象占用了SYSAUX表空间,并分析这些占用情况。通过该视图,我们可以得知哪些对象是占用空间比较大的,可以采取针对性的对其进行管理和优化,比如移除或重建该对象。 其次,我们可以通过执行自动维护任务来释放SYSAUX表空间中不必要的数据。Oracle自动在SYSAUX表空间中创建了若干个自动维护任务,这些任务定时执行清理、移除或归档等操作,可以释放出一定的空间。我们可以通过查询DBA_AUTOTASK_CLIENT视图来查看自动维护任务的设置情况,并可以修改或禁用不必要的任务来释放更多的空间。 另外,我们可以考虑对SYSAUX表空间进行扩展,以增加其存储容量。在扩展SYSAUX表空间时,我们需要确保数据文件存储在一个有效的磁盘位置,并要注意数据文件的分布和扩展方式。在扩展完毕后,我们需要重新分配表空间数据文件中的数据块,并重新计算表和索引的size,以保证数据结构的正确性和性能的稳定性。 综上所述,当SYSAUX表空间满了时,我们不必过于紧张,可以通过几种方式来解决问题。同时,我们也需要定期对数据库进行管理和优化,在日常运维过程中及时排查各种问题,以避免出现系统崩溃、数据丢失等问题。 ### 回答3: Oracle中的sysaux表空间是用来存储系统级别的常用数据和信息的,包括一些企业管理以及可选组件等等,通常占据大量的空间。当sysaux表空间满了时,会对数据库的正常运行造成重大影响,因此需要及时处理。 当sysaux表空间满了,我们可以采取以下措施: 1. 压缩sysaux表空间:对sysaux表空间中的数据进行压缩,从而减小该表空间的大小。可以使用Oracle提供的压缩工具或第三方工具来实现。 2. 重新分配sysaux表空间大小:通过修改数据库参数或使用Oracle提供的ALTER TABLESPACE命令进行重新分配表空间大小,以便更好地管理数据库空间,并解决sysaux表空间满的问题。 3. 清理和删除不必要的信息:可以通过查询sysaux表空间中的数据来确定哪些信息已过时或不再需要。然后,将这些信息清理并从sysaux表空间中删除,进一步减小表空间的大小。 总之,当Oracle中的sysaux表空间满了时,需要针对具体情况采取相应的措施来解决问题。在处理sysaux表空间的问题时,需慎重行事,以免影响整个数据库的正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值