当前位置:
文档之家› 张大朋+甲骨文公司资深Oracle+DBA
张大朋+甲骨文公司资深Oracle+DBA
DBA 2.0
查看ADDM建议 ADDM 推荐使用 cursor_sharing
DBA最大的挑战
性能诊断
• 性能管理
• 持续的性能优化
应用调优
• 变更管理
• 在变化中保留秩序
• Ongoing Administration
• Manage More with Less
能管理
Database Management for DBA 2.0
Jagan R. Athreya Director, Database Manageability Oracle Corporation Scott McNeil Sr. Product Marketing Manager Oracle Corporation
建议包括: 新建索引, 统计信息的更新, SQL 结 构的调整 和 SQL 评测
•
Packaged Apps + SQL Profile
Customizable Apps + SQL Advice
Customizable Apps + Indexes & MVs + Partitions
Well-Tuned SQL
• Manage More with Less
DBA最大的挑战
• 性能管理
• 持续的性能优化
变更检测
• 变更管理
• 在变化中保留秩序
变更测试 自动执行变更
• Ongoing Administration
• Manage More with Less
使用真实的应用测试测试变更 (Real Application Testing)
Replication
Apps/SQL
Recovery
Memory
Schema
Storage
Backup
RAC
可管理性的演变
不断的改进 26% Less Time
100%
31% Fewer Steps
Oracle9i Database Oracle Database 10g
75% 50% 25% 0% Time Steps
Oracle Database 11g
DBA最大的挑战
性能诊断
• 性能管理
• 持续的性能优化
应用调优
• 变更管理
• 在变化中保留秩序
• Ongoing Administration
• Manage More with Less
DBA最大的挑战
性能优化
• 性能管理
• 持续的性能优化
应用调优
• 变更管理
DBA最大的挑战
• 性能管理
• 持续的性能优化
• 变更管理
• 在变化中保留秩序
• Ongoing Administration
• Manage More with Less
可管理性的演变
Adaptive Auto-Tuning Integrated Advisory Low-Impact Instrumentation
DBA 2.0 总的测试时间
Number of Steps 安装和配置 了解应用 识别关键事物 开发测试脚本 运行测试 共计 DB Replay
(Days)
24 20 20 80 5 149 天
4 0 0 2 5 11 天
DBA 1.0
(LoadRunner)
DBA 2.0
(Database Replay)
场景: 比较测试和生产的 Schema
DBA 1.0
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 确定数据库, 测试和生产 获取应用的 schema 写脚本获取表定义的列的信息 在第一个数据库运行脚本 在第二个数据库运行脚本 直观地比较结果 编写新索引的脚本 重新运行脚本 对于数据库其他对象重复这个过程 生成一个列出变更的报告 编写脚本来应用变更 将变更应用 重复以上步骤已验证变更 在生产和测试数据库上重新运行 在生产和开发环境上重新运行
DBA 2.0
自动完成 (Automatic SQL Tuning自动的优化SQL)
5. 6. 7. 8.
实时 SQL 监控
查看里面的SQL执行计划
• 自动监视长时间运行的SQL • Enabled out-of-the-box with no performance impact • 监视每个sql的执行 • 公布监视统计信息
• 在变化中保留秩序
• Ongoing Administration
• Manage More with Less
有多少人知道 ADDM?
Automatic Database Diagnostic Monitor (ADDM)
自动性能诊断
AWR and ADDM
Snapshots in Automatic Workload Repository
• 持续的性能优化
应用调优
• 变更管理
• 在变化中保留秩序
• Ongoing Administration
• Manage More with Less
自动的SQL优化
Packaged Apps Custom Apps
•
自动SQL优化
• • • 捕捉高负载的 SQL 使用 SQL Profiles调整SQL 实施大大改善的SQL plans (可 选)
• 全局执行级别 • 计划操作级别 • 并行执行级别
• 优化工作指南
DBA最大的挑战
• 性能管理
• 持续的性能优化
更改检测
• 变更管理
• 在变化中保留秩序
更改测试 自动执行更改
• Ongoing Administration
• Manage More with Less
DBA最大的挑战
• 性能管理
优点 • 降低采用新技术的风险 • 减少有效的测试时间,从数周到几天 特点 • 数据库重演 • SQL 性能分析器 确保变更: • 数据库和操作系统 • 配置变更,比如从单机转换成RAC • 存储变更 • 操作系统迁移, 比如,从 Windows 到 Linux
Now Supports Upgrades from Oracle 9iR2 to 10gR2 and 11g!
High-Load SQL
Automatic Tuning Optimizer
• •
Access Analysis
Auto SQL Tuning
Auto SQL Analysis
提供的建议所带来的性能优势 SQL Profiling 调整执行计划而无 须更改SQL语句 对打包的应用程序启用透明的性 能优化
Analysis & Reporting
变更测试: DBA 1.0 vs. 2.0
场景: 测试 Oracle E-Business Suite
DBA 1.0 全部的测试时间
Number of Steps 安装和配置 了解应用 识别关键事物 开发测试脚本 运行测试 共计 LoadRunner
(Days)
DBA 2.0
1. 2. 运行Dictionary比较作业 识别报告中所有的 schema和初始化参数的 差异
DBA最大的挑战
• 性能管理
• 持续的性能优化
Change Detection
• 变更管理
• 在变化中保留秩序
Change Testing Change Automation
• Ongoing Administration
DBA 1.0
1. 2. 3. 4. 5. 6. 1. 检查系统的初始环境 查看等待事件 2. 确定latch争用 发现等待在shared pool 和 library cache latch 查看 v$sysstat 看 “parse time elapsed” > “parse time cpu” #硬解析很高 7. 识别SQL i. 识别产生大量应解析的session, 并且 trace他们 ii. 查看 v$sql 视图,找出具有相同 plan_hash_value的sql语句 8. 检查和回顾SQL 9. 确定应解析问题是由于常量sql语句(literal sql) 引起的 10. 启用 cursor sharing
优点
Oracle E-Business Suite (EBS) Certification
• • • • 确保 EBS release 11i, R12 可用于Oracle Database 11g 复杂、大量的负荷: 超过650K 的唯一查询语句需要 确认 保证应用系统对于 Oracle Database 11g是优化的 使用之前的工具(home-grown)进行真实有效地测试的困难
• • •
Automatic Diagnostic Engine Self-Diagnostic Engine
• • •
High-load SQL IO / CPU issues RAC Issues
使用AWR快照进行自上而下的 分析 分类树 -基于几十年的 Oracle 性能优化专业知识 Performance expert, now a RAC Specialist too in 11g 实时的结果
SQL 优化: DBA 1.0 vs. 2.0
场景: 调整问题 SQL
DBA 1.0
1. 2. 3. 4. 获取执行计划 检查查询对象和他们的大小 检查和对比执行计划的统计信息中的执行统计部 分 (存储在 V$SQL 视图中) 找出问题所在,比如, “first rows” issue because only recent data is ever displayed despite large history being queried 联系应用厂商 为应用厂商生成测试案例 从应用厂商那里获得适当的用于修改应用程序的 补丁 在下一个维护周期安装该补丁