les_08_监视及管理内存.pptVIP

  • 2
  • 0
  • 约1.46万字
  • 约 38页
  • 2017-06-07 发布于湖北
  • 举报
监控和管理内存 课程目标 学完本课后,应能完成下列工作: 描述 SGA 中的内存组件 实施自动管理共享内存 手动配置 SGA 参数 配置自动 PGA 内存管理 内存管理:概览 DBA 必须将内存管理视为其工作中至关重要的部分,因为: 可用内存空间量有限 为某些类型的功能分配更多内存可提高整体性能 自动优化的内存分配通常是正确的配置,但特定环境甚至短期情况下可能需要特别注意。 Oracle 内存结构 Oracle 内存结构完全备注页 缓冲区高速缓存 缓冲区高速缓存备注页 使用多个缓冲区池 使用多个缓冲区池 共享池 大小通过 SHARED_POOL_SIZE 指定 库高速缓存包含语句文本、已进行语法分析的代码和执行计划 数据字典高速缓存包含数据字典表中各表、列和权限的定义 用户全局区 (UGA) 包含会话信息(如果使用 Oracle 共享服务器) 大型池 可配置为 SGA 中一个单独的内存区 大小由 LARGE_POOL_SIZE 参数指定 用于在内存中为以下各项存储数据: UGA 备份和还原操作 共享服务器的会话数据 并行查询消息传送 Java 池 可配置为 SGA 中一个单独的内存区 大小由 JAVA_POOL_SIZE 参数指定 用于将 JVM 中特定于会话的所有 Java 代码和数据存储在内存中 重做日志缓冲区 自动管理共享内存:概览 自动根据工作量变化调整 最大程度地提高内存利用率 有助于消除内存不足的错误 自动管理共享内存的好处 ASMM 的工作原理 ASSM 以 MMAN 在后台捕获的工作量信息为基础 MMAN 使用内存指导 将内存移到最迫切需要的地方 如果使用 SPFILE(推荐): 在关闭时保存组件大小 保存的值用于引导程序组件大小 无需再确定最佳值 使用 Database Control 配置 ASMM 手动配置 ASMM 要使某些内存组件具有最小大小,应手动配置这些组件大小: 如果自动计算得出的大小因某种原因不能满足您的需要 如果所需内存中存在 ASMM 未检测到的短期峰值或谷值 如果只想确保特定组件的最小内存量 手动配置 ASMM 自动优化的 SGA 参数的行为 未设置 SGA_TARGET 或将其设置为零时: 自动优化的参数行为正常 SHARED_POOL_SIZE 可能需要根据早期数据库版本中使用的设置增加 SGA_TARGET 设置为非零值时: 自动优化的参数的默认值为零 指定的值用作最小大小 手动优化的 SGA 参数的行为 有些组件不能自动优化 KEEP(保留)和 RECYCLE(循环)缓冲区高速缓存 具备多个块大小的高速缓存 日志缓冲区 这些组件必须使用数据库参数手动配置 这些组件使用的内存会减少可用于自动优化 SGA 的内存量 使用 V$PARAMETER 视图 修改 SGA_TARGET 参数 SGA_TARGET 初始化参数: 是动态参数 最多可增大到 SGA_MAX_SIZE 可以减小,直到所有组件都达到其最小大小为止 更改 SGA_TARGET 的值只会影响自动调整大小的组件 禁用 ASMM 将 SGA_TARGET 设置为零可禁用自动优化功能 自动优化的参数设置为其当前大小 SGA 大小总体上不受影响 手动调整动态 SGA 参数的大小 对于自动优化的参数,手动调整大小会: 导致组件大小立即调整(如果新值大于当前值) 更改最小大小(如果新值小于当前大小) 调整手动优化的参数的大小只会影响 SGA 的可调部分 程序全局区 (PGA) 自动 PGA 内存管理 根据 PGA_AGGREGATE_TARGET 参数,动态调整专用于工作区的 PGA 内存量 有助于最大限度地提高所有内存密集型 SQL 操作的性能 默认情况下是启用的 PGA 管理资源 管理 PGA_AGGREGATE_TARGET 初始化参数的统计信息,如 PGA 高速缓存命中百分比 用于监视 PGA 工作区的视图包括: v$sql_workarea_histogram v$pgastat v$sql_workarea_active v$sql_workarea v$tempseg_usage 用于调整 PGA 工作区大小的视图有: v$pga_target_advice v$pga_target_advice_histogram 使用内存指导调整 SGA 的大小 使用内存指导调整 PGA 的大小 有效使用内存:准则 尽量使 SGA 适合物理内存 优化以实现高缓冲区高速缓存命中率,但要注意以下几点: 即使有效且必需的全表扫描也会降低命中率 可能存在因不必

文档评论(0)

1亿VIP精品文档

相关文档