Oracle 10g 数据库自动化管理与统计优化全解析
1. SGA 自动管理与调整
在 Oracle 数据库中,SGA(System Global Area)的管理至关重要。将 SGA_TARGET
设置为零会禁用自动共享内存管理(ASMM),此时自动调整的组件会保留当前大小的值,并将这些值写入 SPFILE,供下一次实例启动时使用。
即便启用了 ASMM,也可以对自动调整的 SGA 参数进行大小调整:
- 对于自动调整的参数,如果当前值小于新值,手动调整会立即导致组件大小改变;若新值较小,则组件大小不变,但会设置一个新的最小大小。
- 对于手动配置的 SGA 参数,调整会立即生效至精确的新值。当组件大小增加时,一个或多个自动调整的组件会相应减小;若手动配置组件的大小减小,释放的内存会分配给自动调整大小的组件。
有几个视图可提供动态 SGA 调整操作的信息:
| 视图名称 | 描述 |
| ---- | ---- |
| V$SGA_CURRENT_RESIZE_OPS
| 当前正在进行的 SGA 调整操作 |
| V$SGA_RESIZE_OPS
| 最近 400 个已完成的 SGA 调整操作的信息 |
| V$SGA_DYNAMIC_COMPONENTS
| SGA 动态组件的信息 |
| V$SGA_DYNAMIC_FREE_MEMORY
| 可用于未来动态 SGA 调整操作的 SGA 内存量信息 |
Oracle 10g 引入了新的