结合大规模数据库实际案例讲解,通过各种实际性能问题的诊断和解决演示贯穿始终 |
Oracle海量数据库架构原理 |
- 数据逻辑结构规划
- 持久存储空间规划
- 内存规划
- 物理分布
- 进程划分与关系
- 磁盘IO的规划
|
Oracle的性能优化 |
- 维护Alert_sid.log文件并使用该文件进行优化
- 告警的通知及监视配置、阀值的设定。
- 后台进程跟踪文件
- 用户跟踪文件
- 性能视图、实用程序和工具
- 动态故障排除
- 收集相关的性能统计信息
- 分析相关的性能视图
- 使用常见的优化工具进行优化
- 自动工作负载储存库(AWR)
|
数据库参数的优化 |
- Oracle数据库中参数文件的演进过程
- 参数文件的对比
- 参数的修改方式介绍
- 数据库启动过程时的内部原理解析
|
内存优化 |
- 学习什么是内存最基本的优化方法
- 学习如何设定数据高速缓存区的大小
- 学习如何设定共享池的内存
- 学习如何设定PGA的内存调
- 学习如何设定测量缓存区的命中率
- 学习如何定义多池、使用多池、启用多池
- 掌握使用调优库高速缓存的诊断工具
- 掌握使用调优数据字典高速缓存的诊断工具
- 掌握使用重作日志缓冲区的诊断工具
|
存储优化 |
- 了解Oracle的存储层次结构
- 分析数据库段、区、块的存储设置对于数据库的数据访问的性能影响
- 掌握HWM的含义和对性能的影响
- 找出存储不合理的表和索引,将这些对象重组,从而得到更好的访问性能
- 设置合理的块空间参数,以减少I/O数量并且合理的存储数据
- 注意行链与行迁移对性能的影响,解决行迁移
|
海量数据库的优化
数据冗余
|
- 数据镜像
- 读写分离
- 水平扩展与负载均衡
- 垂直分割与水平分割
- 内存数据库
|
Oracle CBO优化器决策 |
- 统计信息的收集
- 事件10053
- 跟踪文件分析
- 优化器参数设置
- 访问路径成本cost计算比较
- CBO各种类型成本计算公式如下
- 统计信息对CBO的影响
|
Oracle数据块组成与解析 |
- 数据块空闲空间的管理
- db_block_size大小设置与性能
- db_multiblock_read_count的优化
- 热点块问题的优化
|
视图和存储过程的编写规范 |
- 连续易读容易管理的书写方式
- 命名规范
- 程序开始处规范化
- end语句中写入结束module的名称
- 使用动词短语命名存储过程,名词命名函数短语
- 使用labels命名块和循环
- 显式使用括号
- 代码竖向对齐
|
PL/SQL其他编写技巧
|
- 使用 %TYPE 和 %ROWTYPE.来定义变量
- 使用CONSTANT 定义不变的变量
- 不要过度使用变量
- 清除没有使用的变量
- 程序异常结束的时候对变量进行清理
- 避免变量、数据类型的隐式转换
- 使用 ELSIF 来提高语句效率
- RAISE 用来触发错误异常,而不是用来进行流程控制
|