Oracle Database 11gR2性能调整与最佳化

Oracle Database 11gR2性能调整与最佳化Oracle Database 11gR2性能调整与最佳化作者:[美] Richard Niemiec 着 杨中 朱波 吕学勇 译定价:128元印次:1-2ISBN:9787302339052出版日期:2014.01.01印刷日期:2014.05.30在Oracle认证大师Richard Niemiec的帮助下,系统地识别和排除资料库的性能问题:《Oracle Database 11g R2性能调整与最佳化》一书详细介绍了最新的监控、故障排除和最佳化的方法,取自真实世界的案例研究和最佳实践遍及全书,从中您可以学会如何找出和解决瓶颈问题、如何配置存储设备、如何有效运行查询以及如何开发无错误的 SQL和PL/SQL代码 。由Oracle出版社出版的这部书中还介绍了有关测试、报表和安全功能等方面的改进 。主要内容 ● 正确运用 Oracle 11g R2资料库的索引和分区技术 ● 运用V$视图和X$表来紧急处理资料库问题 ● 使用Oracle Exadata和Oracle Exalogic弹性云 ● 运用Oracle RAT来分布工作负载 ● 有效地管理磁碟驱动器、磁碟阵列和记忆体 ● 运用Oracle的Statspack和AWR等工具来生成报告 ● 运用Oracle的SQL提示和目录第1章11gR1&R2新特性介绍(针对DBA和开发者) 11.1轮到Exadata出场了! 31.2高级压缩 61.3自动诊断信息库(AutomaticDiagnosticRepository,ADR) 71.4自动共享记忆体管理(AutomaticSharedMemoryManagement,ASMM)的改进 81.5ASM的改进 91.5.1从ASM首选镜像读取 101.5.2滚动升级/打补丁 101.5.3更快的重新平衡 111.5.4ASM磁碟组兼容性 111.5.5ASMCMD命令扩展 121.6自动SQL最佳化 121.7数据卫士的增强 131.7.1快照备用(SnapshotStandby) 141.7.2活动数据卫士 141.7.3混合平台支持 151.7.4高级压缩支持逻辑备用资料库(11gR2) 151.7.5透明数据加密支持逻辑备用资料库 151.7.6增强的数据泵压缩 151.7.7数据泵加密Dump档案集 161.7.8数据泵的传统模式 161.8增强了的统计信息 161.8.1增强了的I/O统计信息 161.8.2减少收集分区对象的统计信息 161.8.3待定统计信息 171.8.4多列统计信息 171.8.5表达式统计信息 171.9闪回数据归档(FlashbackDataArchive,FBDA) 181.10健康监控器(HealthMonitor) 181.11事件打包服务(IncidentPackagingService,IPS) 211.12不可视索引(invisibleindex) 221.13分区新特性 221.13.1区间分区 231.13.2REF分区 231.13.3系统分区 251.13.4虚拟列分区 261.13.5分区顾问 261.14只读表 261.15RACOneNode和RACPatching 271.16真正套用测试(RealApplicationTesting,RAT) 281.17SQL性能分析器(SQLPerformanceAnalyzer,SPA) 291.18结果集快取(ResultCache) 291.19RMAN的新特性 301.19.1备份的最佳化 301.19.2长期备份处理的改进 301.19.3并行备份巨大的数据档案 301.19.4更快的备份压缩(改进的压缩) 311.19.5活动资料库複製(ActiveDatabaseDuplication) 311.19.6更好的恢複目录管理 321.19.7增强的归档日誌删除策略 321.19.8数据恢复顾问(DataRecoveryAdvisor) 321.19.9虚拟专用目录 351.19.10主动的健康检查 361.19.11块恢复(闪回日誌) 371.19.12块恢复(物理备用) 371.20安全档案 371.20.1压缩 381.20.2加密 381.20.3重複数据删除 381.21流(GoldenGate是流的未来)的增强 401.21.1XStreamIn 401.21.2XStreamOut 401.21.3流支持高级压缩(11gR2) 401.22临时表空间的收缩 401.23透明数据加密(TDE)的改进 411.2411g新的后台进程 411.25版本对照表 421.26新特性回顾 471.27参考文献 48第2章索引基本原理(针对DBA和初级开发人员) 492.1索引基本概念 502.2不可视索引 522.3组合索引 552.4索引抑制 562.4.1使用不等于运算符(<>、!=) 562.4.2使用ISNULL或ISNOTNULL 572.4.3使用LIKE 582.4.4使用函式 592.4.5比较不匹配的数据类型 592.5选择性 602.6集群因子 602.7二元高度(BinaryHeight) 612.8使用直方图 642.9快速全扫描 652.10跳跃式扫描 662.11索引的类型 672.11.1B树索引 672.11.2点阵图索引 682.11.3哈希索引 70 2.11.4索引组织表 712.11.5反键索引 712.11.6基于函式的索引 722.11.7分区索引 732.11.8点阵图连线索引 752.12快速重建索引 762.13线上重建索引 762.14要诀回顾 772.15参考文献 78第3章磁碟安装启用的方法和ASM(针对DBA) 813.1磁碟阵列:必然之选 823.1.1使用磁碟阵列改进性能和可用性 823.1.2所需的磁碟数量 833.1.3可用的RAID级别 833.1.4更新的RAID5 843.2传统档案系统的安装和维护 853.3在硬体磁碟之间分布关键数据档案 853.3.1分开存储数据和索引档案 863.3.2避免I/O磁碟争用 873.3.3通过移动数据档案来均衡档案I/O 883.4本地管理的表空间 893.4.1创建本地管理的表空间 893.4.2把字典管理的表空间迁移到本地管理的表空间 903.4.3Oracle大档案表空间 903.4.4Oracle管理档案 913.5ASM简介 923.5.1IT部门内各个角色之间的沟通 933.5.2ASM实例 933.5.3ASM初始化参数 953.5.4ASM的安装 953.5.5ASM初始化参数和SGA调整 963.5.6ASM和许可权 963.5.7ASM磁碟 973.5.8ASM和多路径 993.5.9ASM磁碟组 993.5.10ASM磁碟组和资料库 1013.5.11ASM冗余和故障组 1023.5.12新的空间相关列 1033.5.13集群同步服务 1043.5.14资料库实例和ASM 1053.5.15使用ASM进行资料库整合和集群化 1053.5.16支持ASM的资料库进程 1063.5.17大档案和ASM 1063.5.18支持ASM的资料库初始化参数 1073.5.19ASM和资料库部署最佳实践 1073.5.20ASM存储管理和分配 1083.5.21ASM重新平衡和重新分布 1083.6使用分区来避免磁碟争用 1103.6.1获得关于分区的更多信息 1123.6.2其他类型的分区 1123.6.3Oracle11gR2的新分区选项 1153.6.4其他分区选项 1173.7使用索引分区 1193.8导出分区 1203.9消除碎片 1203.9.1使用正确的区大小 1213.9.2创建新的表空间并把数据移到其中 1213.9.3导出和重新导入表 1233.9.4正确设定PCTFREE以避免链化(Chaining)现象 123 3.9.5重建资料库 1253.10增加日誌档案尺寸和LOG_CHECKPOINT_INTERVAL以提高速度 1253.10.1确定重做日誌档案的大小是否存在问题 1263.10.2确定日誌档案的大小和检查点的时间间隔 1263.11快速恢复区(FastRecoveryArea,FRA) 1283.12增加恢复的可能性:在每次批处理后提交 1293.12.1把大的事务隔离到它们自己的回滚段上 1293.12.2使用UNDO表空间 1303.12.3监控UNDO空间 1313.12.4结束有问题的会话 1313.13在不同磁碟和控制器上存放多个控制档案 1323.14磁碟I/O的其他注意事项和提示 1333.15设计阶段需要注意的问题 1333.16要诀回顾 1343.17参考文献 135第4章通过初始化参数调优资料库(针对DBA) 1374.1升级到Oracle11gR2之后 1384.2识别重要的初始化参数 1414.3在不重启资料库的情况下修改初始化参数 1434.4通过Oracle实用程式洞察初始化参数 1494.5用企业管理器查看初始化参数 1504.6最佳化DB_CACHE_SIZE来提高性能 1514.6.1使用V$DB_CACHE_ADVICE最佳化DB_CACHE_SIZE 1534.6.2保持数据快取命中率超过95% 1534.6.3监控V$SQLAREA视图以查找较慢的查询 1534.7设定DB_BLOCK_SIZE来反映数据读的大小 1564.8把SGA_MAX_SIZE设定为主记忆体大小的25%到50% 1574.9最佳化SHARED_POOL_SIZE以获取最佳性能 1584.9.1使用存储过程来最佳化共享SQL区域的使用 1584.9.2设定足够大的SHARED_POOL_SIZE以保证充分利用DB_CACHE_SIZE 1604.9.3保证数据字典快取命中率至少为95% 1604.9.4保证库快取的重载率为0,并使命中率在95%以上 1614.9.5使用可用记忆体来判断SHARED_POOL_SIZE是否设定正确 1644.9.6使用X$KSMSP表详细观察共享池 1644.9.7关于快取大小需要记住的要点 1654.9.8与初始化参数相关的等待 1664.10在Oracle中使用多个缓冲池 1674.10.1与DB_CACHE_SIZE相关并为数据分配记忆体的池 1674.10.2修改LRU算法 1684.10.3与SHARED_POOL_SIZE相关并为语句分配记忆体的池 1684.11调整PGA_AGGREGATE_TARGET以最佳化记忆体的使用 169 4.12修改SGA大小以避免换页(Paging)和交换(Swapping) 1704.13了解Oracle最佳化器 1704.14创建足够的调度程式(Dispatcher) 1714.14.1足够的打开的游标(OPEN_CURSORS) 1724.14.2不要让DDL语句失败(使用DDL锁逾时机制) 1724.15两个重要的Exadata初始化参数(仅针对Exadata) 1724.1625个需要深思熟虑的重要初始化参数 1734.16.1历年的初始化参数 1754.16.2查找未公开的初始化参数 1764.17理解典型的伺服器 1764.17.1典型伺服器的建模 1774.17.2OracleApplication资料库选型 1784.18要诀回顾 1794.19参考文献 180