拥有完整或几乎完整的SYSAUX
表空间 (Oracle 19c) 的后果是什么?
有很多网站讨论如何查看SYSAUX
占用者,减少SYSAUX
via的大小dbms_stat.purge_stats()
,将数据文件添加到SYSAUX
表空间,以及alter_stats_history_retention
避免将来出现问题。这不是这里要问的。
不执行任何前面提到的任务,但仍然使用数据库的后果是什么?我读过这SYSAUX
很重要,但并不重要(关键的东西在SYSTEM
)。但是,我还没有看到任何关于继续使用完整的SYSAUX
.
例如,性能会成为问题吗?如果有,以什么方式?
Oracle 是否停止写入,SYSAUX
或者 Oracle 是否尝试删除足够的“旧”项目以为“新”项目腾出空间?(很可能取决于它是什么,但没有看到任何描述完整SYSAUX
表空间的结果行为以及结果可能是什么以及需要注意什么的文档或文章)。
如果收集统计数据,甲骨文会清除最旧的历史数据,为新数据腾出空间吗?如果是这样,是否真的MMON
会被要求“即时”执行此操作,而不是在每晚的过程中维护保留设置。如果是这样,如果应用程序正在收集大量统计信息,这是否成本高昂?成本高到什么程度?
提前致谢。
编辑:请假设 AUDSYS 模式不在 SYSAUX 表空间中。
快满了?一个都没有。
满载而归?可能是一个死数据库!
到目前为止,19c 中 SYSAUX 的最大使用者是统一审计跟踪。过去
我们将千兆字节的审计文件转储到某个文件系统并偶尔删除它们,19c 现在坚持我们默认将相同千兆字节的审计数据转储到 SYSAUX 中保存的表中。
一直以来,如果审计系统无法记录它想要记录的内容,它就会抛出一个全能的 strop并使整个数据库崩溃。
没有什么比微妙的了。
那么,如果您的统一审计跟踪正在写入 SYSAUX 并且 SYSAUX 已完全填满?
再见,数据库。
Oracle 建议更改统一审计跟踪使用的表空间。
有点让您想知道为什么他们首先不为此提供带有单独表空间的 Oracle 数据库。
侧边栏上提到的帖子的答案引导我进行以下操作。
在
Oracle® Database
数据库管理员指南
21c
F31835-05
2021 年 2 月
在 11.12 管理 SYSAUX 表空间一章中可以阅读
该视图
V$SYSAUX_OCCUPANTS
列出了 SYSAUX 表空间的占用者。在 12.1 数据库中,我发现以下内容在测试数据库上,您可以将 SYSAUX 表空间设置为在测试数据库上只读,看看会发生什么。
Oracle 支持说明“如何重新创建 SYSAUX 表空间(文档 ID 468116.1)”说