主动维护
术语简介
- 自动工作量资料档案库 (AWR):是数据采集、分析和提供解决方案建议案的基础结构
- 活动会话的历史记录 (ASH) :指存储在AWR 中最近会话活动的历史记录
- 基线:指为性能比较而采集的“正常运行的数据库”的数据
-
- 应用程序统计信息(事务处理量、响应时间)
- 数据库统计信息
- 操作系统统计信息
- 磁盘 I/O 统计信息
- 网络统计信息
- 度量:指累积统计信息中的更改率
- 统计信息:指用于优化内部操作的数据集合,如优化 SQL 语句的执行
- 阈值:指比较度量值时所根据的边界值
统计信息
- 优化程序统计信息
- 信息包括
- 数据库块中表或索引的大小
- 行数
- 平均行大小和链计数(仅限表)
- 已删除的叶行的高度和数量(仅限索引)
- 不是实时统计信息
- 每次重新启动实例后会变为永久信息
- 可自动收集
- 优化程序统计信息由预配置的 GATHER_STATS_JOB 自动收集,保证表在两个收集期之间的变化不要超过 10%
- 例子1(说明不是实时的统计信息)
- SQL> SELECT COUNT(*) FROM hr.employees;
- SQL> SELECT num_rows FROM dba_tables WHERE owner='HR' AND table_name = 'EMPLOYEES';
- 例子2(手动收集信息)
- SQL> EXEC dbms_stats.gather_table_stats(‘HR’,’EMPLOYEES’);
- SQL> SELECT num_rows FROM dba_tables WHERE owner='HR' AND table_name = 'EMPLOYEES';
- 使用管理优化程序统计信息页
- 单击“Administration(管理)”标签页上的“Manage Optimizer Statistics(管理优化程序统计信息)”
-
- 手动采集优化程序统计信息
- 优化程序统计信息还原到以前的某个时间点。
- 锁定优化程序统计信息以确保永远不覆盖某些对象的统计信息。
- 取消锁定优化程序统计信息以撤消以前执行的锁定。
- 删除优化程序统计信息以删除统计信息。
自动工作量资料档案库 (AWR)
- 概述
- AWR 中包含数百个表,所有这些表均属于SYSMAN方案且存储在 SYSAUX 表空间中。
- 内置的性能信息资料档案库
- 每 60 分钟创建一次数据库度量快照,保留期为 7 天
- 所有自行管理功能的基础
- AWR 基础结构
- 统计信息会存储在永久存储区中的原因
- 实例崩溃后统计信息需要继续保留
- 某些分析需要使用历史数据来与基线数据进行比较
- 可能会发生内存溢出。
- AWR 快照集
- 快照集是一种机制,使用这种机制可标记重要时段的快照数据集。
- 快照集可用用户提供的名称标识,也可用系统生成的标识符标识
- 在数据库生命周期内,快照集标识符是唯一的。
- 语法:
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE ( -
start_snap_id IN NUMBER ,
end_snap_id IN NUMBER ,
baseline_name IN VARCHAR2);
- Enterprise Manager 和 AWR
- 管理 > 数据库管理 > 统计信息管理 > 自动工作量资料档案库
- 编辑工作量资料档案库设置
- 查看已创建的快照的详细信息,或者手动创建新快照
- 创建基线数据,又称保留的快照集
- 生成 AWR 报表
- 管理 AWR
- 保留期
- 默认值为 7 天
- 考虑存储需要
- 收集间隔
- 默认值为 60 分钟
- 考虑存储需要和性能影响
- 收集级别
- BASIC:AWR 统计信息和度量的计算功能处于关闭状态。
- TYPICAL:只收集某些统计信息。
- ALL:捕获所有可能的统计信息。
数据库自动诊断监视程序 (ADDM)
- 概述
- 在创建每个 AWR 快照之后运行
- 在 AWR 中存储结果
- 监视实例;检测瓶颈
- ADDM 建议案
- 硬件更改
- 数据库配置
- 方案更改
- 应用程序更改
- 使用其它指导
指导
- 概览
-
- 内存指导:多项指导功能的集合,通过它可确定共享池、数据库缓冲区高速缓存和程序全局区 (PGA) 的最佳设置。
- 平均恢复时间 (MTTR) 指导:设置实例崩溃后数据库恢复所需的时间长度
- 段指导:查找占用空间多于所需空间的表和索引
- SQL 访问指导:用于分析在给定时段发出的所有SQL 语句
- SQL 优化指导:此指导用于分析单个SQL 语句,还针对改进该语句的性能提供建议案。
- 还原管理指导:确定支持指定的保留期所需要的还原表空间大小
- EM (相关链接-->指导中心)
- dbms_advisor
预警
- 服务器生成的预警
- 可提前提供问题通知的几个主要度量
- 平均文件读取时间(厘秒)
- 转储区占用率 (%)
- 响应时间(每事务处理)
- SQL 响应时间 (%)
- 表空间占用率 (%)
- 等待时间 (%)
- 默认预警
- 表空间空间占用率(达到 85% 时发出警告,达到97% 时发出严重警告)
- 快照太旧
- 恢复区空闲空间过少
- 可恢复会话已挂起
- 设置阀值
- 相关链接--->管理度量--->编辑阀值
- 对预警作出响应
- 采取纠正措施。
- 确认不会自动清理的预警。
- 预警类型和清理预警
- 阈值预警
- 当预警条件消失后,会自动清理这些预警
- 显示在DBA_OUTSTANDING_ALERTS 中
- 清理后会转到 DBA_ALERT_HISTORY
- 非阈值预警
- 直接转到历史记录表
自动维护任务
- 调度程序启动作业
- 作业在默认的维护窗口中运行
- 使用资源管理器限制维护对正常操作的影响