数据库资源管理与诊断全解析
数据库资源管理要点
在数据库资源管理方面,有几个关键要点需要我们关注。
首先是表收缩相关内容。有些表是不可收缩的,比如聚簇表、带有基于函数索引的表,还有包含 LONG 列的表、IOT 映射表以及带有提交时或基于 ROWID 的物化视图的表。而除了 IOT 表和带有快速刷新物化视图的表外,分区表、子分区表以及堆表(默认表类型)是可以收缩的。
接着是数据库资源管理器的相关规则。用户可以属于多个消费组,资源管理器会使用计划中映射最严格消费组的计划指令。在任何给定时间,只有一个资源计划可以处于活动状态。并且,在计划的顶层必须指定 OTHER_GROUPS,以便为计划中不属于其他消费组的任何用户分配资源。
数据库资源管理器能控制的资源有多种,但也有其无法控制的资源。它无法分配或控制网络带宽以及临时表空间的使用,不过其他一些资源是在其控制范围内的。
当资源计划验证出现问题时,如果需要添加 OTHER_GROUPS 来使计划有效,可直接将其添加到资源计划中,然后立即重试验证步骤。在计划成功验证并提交之前,STATUS 列的值为 PENDING,该列的有效取值只有 NULL 和 PENDING。
自动诊断存储库的设置
自动诊断存储库(ADR)是数据库诊断的重要组成部分,其核心特点在于“自动”。它是一个始终开启的功能,能在错误首次及后续发生时,将其捕获到跟踪和转储文件中。“诊断”体现了其对错误的捕捉和分析能力,而“存储库”则是磁盘上存储诊断信息的位置,并且配备了工具,即使数据库不可用,也能方便地查询存储库。
ADR 的结构与位置
ADR 是基于