Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

Oracle Database 12cR2性能调整与优化 第5版 PDF 下载


分享到:
时间:2022-02-15 09:45来源:未知 作者:小锋  侵权举报
Oracle Database 12cR2性能调整与优化 第5版 PDF 下载 相关截图: 根据中华人民共和国国家版权局相关法规,本站不提供该PDF电子版书籍 您可以进入交流社群中继续寻找资料或购买正版书籍
失效链接处理
Oracle Database 12cR2性能调整与优化 第5版 PDF 下载

下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1072748367.html

相关截图:


 

资料简介:

在Oracle认证大师Richard Niemiec的帮助下,系统地识别和排除数据库的性能问题:《Oracle Database 12cR2性能调整与优化(5版)》详细介绍新的监控、故障排除和优化方法,取自现实世界的案例研究和佳实践贯穿全书,从中可以探悉如何鉴定和解决本地部署和云环境的瓶颈问题、如何配置存储设备、如何有效运行查询以及如何开发无错误的SQL和PL/SQL代码。此外还介绍了有关测试、报表和提高性等方面的内容。学会如何:? 正确运用 Oracle 12cR2数据库的索引和分区技术? 有效使用Oracle云、Oracle Exadata和Oracle企业管理器? 有效地管理磁盘驱动器、ASM、磁盘阵列和内存? 运用Oracle的SQL提示和Trace实用工具来优化查询? 运用V$视图和X$表对数据库实施故障排除? 创建个云数据库服务并为混合云做好准备? 运用Oracle的Statspack和AWR等工具来生成报表? 运用sar、vmstat和iostat来监控操作系统统计数据

资料目录:

1章  Oracle Database 12cR1和12cR2新特性介绍(针对DBA和开发人员)   1
 
1.1  Oracle Database 12cR1(12.1.0.1)   4
 
1.1.1  VARCHAR2和NVARCHAR2的大小限制增加到32K   4
 
1.1.2  局部索引   4
 
1.1.3  不可视列   5
 
1.1.4  相同列上的多个索引   5
 
1.1.5  获取前x行   6
 
1.1.6  可插拔数据库(PDB)   7
 
1.1.7  Oracle数据库云服务(数据库即服务)   9
 
1.1.8  PDB级别:MEMORY_LIMIT和MEMORY_MINIMUM(12cR2)   14
 
1.1.9  在导入时改变压缩方式   14
 
1.1.10  自适应查询优化   15
 
1.1.11  PGA_AGGREGATE_LIMIT   15
 
1.1.12  UNION / UNION ALL的并发执行   16
 
1.1.13  调用者权限函数可以做结果集缓存   16
 
1.1.14  新的DBMS_UTILITY.EXPAND_SQL_TEXT包   16
 
1.1.15  列的默认值可以基于序列   16
 
1.1.16  用于智能闪存的多个SSD设备   16
 
1.1.17  基于成本的优化器统计信息的并发收集   16
 
1.1.18  增强的系统统计信息   17
 
1.1.19  用于可能失控的查询的资源管理器   17
 
1.1.20  自动数据优化(ADO)   17
 
1.1.21  全局索引维护:DROP和TRUNCATE分区操作   18
 
1.1.22  ASM磁盘清理   18
 
1.1.23  在线操作能力的提升   18
 
1.1.24  数据卫士的改进   19
 
1.1.25  RMAN改进   19
 
1.2  Oracle Database 12cR1(12.1.0.2)   19
 
1.2.1  IM内存数据库   19
 
1.2.2  高级索引压缩   22
 
1.2.3  自动大表缓存   22
 
1.2.4  FDA对容器数据库的支持   22
 
1.2.5  全数据库缓存   22
 
1.2.6  JSON支持   22
 
1.2.7  FIPS 140加密参数   22
 
1.2.8  PDB子集克隆   22
 
1.2.9  快速Home目录创建:创建“黄金映像”   22
 
1.3  Oracle Database 12cR2(12.2)   23
 
1.3.1  应用开发   23
 
1.3.2  降低迁移到Oracle的成本和问题的增强功能   23
 
1.3.3  可用性   24
 
1.3.4  大数据   25
 
1.3.5  压缩和存档   26
 
1.3.6  Oracle RAC和GI   26
 
1.3.7  安全   27
 
1.4  Oracle 12c中新的后台进程   27
 
1.5  Exadata——新版本X6!   27
 
1.6  版本对比   28
 
1.7  新特性回顾   31
 
2章  索引的基本原理(针对DBA和初级开发人员)   33
 
2.1  索引的基本概念   34
 
2.2  不可视索引   36
 
2.3  相同列上的多个索引   38
 
2.4  复合索引   41
 
2.5  索引抑制   42
 
2.5.1  使用不等于运算符(<>、!=)   43
 
2.5.2  使用IS NULL或IS NOT NULL   43
 
2.5.3  使用LIKE   44
 
2.5.4  使用函数   45
 
2.5.5  比较不匹配的数据类型   45
 
2.6  选择性   46
 
2.7  聚簇因子   46
 
2.8  二元高度   47
 
2.9  使用直方图   50
 
2.10  快速全扫描   51
 
2.11  跳跃式扫描   51
 
2.12  索引的类型   52
 
2.12.1  B树索引   52
 
2.12.2  位图索引   53
 
2.12.3  哈希索引   55
 
2.12.4  索引组织表   56
 
2.12.5  反向键索引   56
 
2.12.6  基于函数的索引   56
 
2.12.7  分区索引   57
 
2.12.8  12cR2中分区索引的新特性   59
 
2.12.9  位图连接索引   60
 
2.13  快速重建索引   60
 
2.14  在线重建索引   60
 
2.15  要诀回顾   61
 
3章  可插拔数据库、磁盘实施方法和ASM(针对DBA)   63
 
3.1  可插拔数据库(Oracle 12c新增)   64
 
3.1.1  CDB或PDB创建的对象   65
 
3.1.2  创建PDB的多种方法   66
 
3.1.3  可插拔数据库的一些强大命令   66
 
3.1.4  在PDB中使用ALTER SYSTEM和其他一些命令   70
 
3.1.5  在可插拔数据库中使用In-Memory(IM)   71
 
3.1.6  可插拔数据库在12cR2中的其他新特性   71
 
3.1.7  子集备库(12cR2新增特性)   71
 
3.2  磁盘阵列   72
 
3.2.1  使用磁盘阵列改进性能和可用性   72
 
3.2.2  所需的磁盘数量   72
 
3.2.3  可用的RAID级别   73
 
3.2.4  更新的RAID 5   73
 
3.2.5  SSD固态硬盘   74
 
3.2.6  ASM存储管理(条带/镜像)   74
 
3.3  传统文件系统的安装和维护   75
 
3.3.1  考虑成本   75
 
3.3.2  分开存储数据和索引文件   75
 
3.3.3  避免I/O磁盘争用   76
 
3.4  Oracle 12c热图和自动数据优化(ADO)   77
 
3.5  Oracle 12c I/O性能跟踪视图(Outliers)   78
 
3.6  Oracle大文件表空间   78
 
3.7  ASM简介   79
 
3.7.1  IT部门内各个角色之间的沟通   80
 
3.7.2  ASM实例   80
 
3.7.3  ASM初始化参数   81
 
3.7.4  12c版本中ASM的安装   82
 
3.7.5  srvctl命令增强   88
 
3.7.6  ASM磁盘清洗(scrubbing)   91
 
3.7.7  ASM再平衡增强   92
 
3.7.8  ASM快速镜像再同步   94
 
3.7.9  ASM过滤驱动器(Filter Driver)   94
 
3.7.10  ASM和权限   101
 
3.7.11  ASM和多路径   103
 
3.7.12  大文件和ASM   104
 
3.8  使用分区来避免磁盘争用   104
 
3.8.1  获得关于分区的更多信息   106
 
3.8.2  其他类型的分区   106
 
3.8.3  (本地)分区索引   109
 
3.8.4  部分索引   109
 
3.8.5  全局索引维护:删除或截断分区操作   111
 
3.8.6  其他分区选项   111
 
3.8.7  使用索引分区   113
 
3.8.8  导出分区   113
 
3.9  消除碎片(按需操作——小心使用!)   114
 
3.9.1  使用正确的区块大小   114
 
3.9.2  正确设定PCTFREE以避免链化(Chaining)现象   115
 
3.9.3  使用自动段空间管理(ASSM)   115
 
3.10  增加日志文件尺寸和LOG_CHECKPOINT_INTERVAL以提高速度   116
 
3.11  确定重做日志文件的大小是否存在问题   116
 
3.11.1  确定日志文件的大小和检查点的时间间隔   117
 
3.11.2  其他有帮助的重做日志命令   117
 
3.12  在不同的磁盘和控制器上存放多个控制文件   118
 
3.13  磁盘I/O的其他注意事项和提示   119
 
3.14  设计阶段需要注意的问题   119
 
3.15  要诀回顾   120
 
4章  通过初始化参数调优数据库(针对DBA)   123
 
4.1  升级到Oracle 12c之后   124
 
4.2  使用SEC_CASE_SENSITIVE_LOGON   125
 
4.3  与性能相关的重要的内存初始化参数   126
 
4.4  PDB级:MEMORY_LIMIT和MEMORY_MINIMUM   128
 
4.5  内存数据库(INMEMORY_SIZE)   129
 
4.6  在不重启数据库的情况下修改初始化参数   133
 
4.7  修改PDB级别的初始化参数   136
 
4.8  通过Oracle实用程序洞察初始化参数   137
 
4.9  用企业管理器查看初始化参数   137
 
4.10  优化DB_CACHE_SIZE来提高性能   138
 
4.11  使用V$DB_CACHE_ADVICE优化DB_CACHE_SIZE   140
 
4.12  设定DB_BLOCK_SIZE来反映数据读的大小   143
 
4.13  把SGA_MAX_SIZE设置为主内存大小的25%~50%   144
 
4.14  优化SHARED_POOL_SIZE以获取佳性能   144
 
4.14.1  使用存储过程来优化共享SQL区域的使用   145
 
4.14.2  设定足够大的SHARED_POOL_SIZE以保证充分利用DB_CACHE_SIZE   146
 
4.14.3  保证数据字典缓存能够缓存足够对象   146
 
4.14.4  保证库缓存的重载率为0,并使命中率在95%以上   147
 
4.14.5  使用可用内存来判断SHARED_POOL_SIZE是否设置正确   149
 
4.14.6  使用X$KSMSP表详细观察共享池   150
 
4.14.7  关于缓存大小需要记住的要点   151
 
4.14.8  与初始化参数相关的等待   151
 
4.15  在Oracle中使用多个缓冲池   152
 
4.15.1  与DB_CACHE_SIZE相关并为数据分配内存的池   152
 
4.15.2  修改LRU算法   153
 
4.15.3  与SHARED_POOL_SIZE相关并为语句分配内存的池   153
 
4.16  调整PGA_AGGREGATE_TARGET以优化内存的使用   154
 
4.17  修改SGA大小以避免换页(Paging)和交换(Swapping)   155
 
4.18  了解Oracle优化器   155
 
4.19  创建足够的调度程序(Dispatcher)   156
 
4.19.1  要有足够的打开游标(OPEN_CURSORS)   157
 
4.19.2  不要让DDL语句失败(使用DDL锁时机制)   157
 
4.20  两个重要的Exadata初始化参数(仅针对Exadata)   157
 
4.21  25个需要深思熟虑的重要初始化参数   157
 
4.21.1  历年的初始化参数   159
 
4.21.2  查找未公开的初始化参数   160
 
4.22  理解典型的服务器   161
 
4.22.1  典型服务器的建模   161
 
4.22.2  Oracle Application数据库选型   162
 
4.23  要诀回顾   166
 
5章  Oracle企业管理器云控制器(针对DBA和开发人员)   169
 
5.1  Oracle企业管理器(EM)基础和通过Oracle云访问OEM   170
 
5.2  从All Targets和其他分组开始   173
 
5.3  使用OEM的Performance菜单进行监控和优化   175
 
5.3.1  Performance选项卡:Top Activity   175
 
5.3.2  Performance选项卡:SQL | SQL 
 
Performance Analyzer   176
 
5.3.3  Performance选项卡:Real-Time ADDM   178
 
5.3.4  Performance选项卡:SQL | Access Advisor   181
 
5.3.5  Performance选项卡:管理Optimizer Statistics   182
 
5.3.6  Performance选项卡:AWR | AWR Administration   182
 
5.3.7  Performance选项卡:ASH Analytics   184
 
5.4  使用OEM Administration菜单进行监控和优化   185
 
5.4.1  Database Administration选项卡:Storage | Tablespaces   185
 
5.4.2  Database Administration选项卡:In-Memory Central和Initialization Parameters   187
 
5.4.3  Database Administration选项卡:全部初始化参数   188
 
5.4.4  Database Administration选项卡:Resource Manager (Consumer Groups)   188
 
5.5  使用OEM Database或Cluster Database菜单进行监控和优化   189
 
5.5.1  Database选项卡:Job Activity   189
 
5.5.2  Cluster Database选项卡:Configuration | Database Topology   190
 
5.6  监控主机   190
 
5.7  监控应用服务器和Web应用   191
 
5.8  真正应用测试(数据库回放)   193
 
5.9  小结   194
 
5.10  要诀回顾   194
 
6章  使用EXPLAIN PLAN、TRACE和SQL计划管理(针对开发人员和DBA)   195
 
6.1  Oracle的SQL跟踪(SQL TRACE)实用工具   196
 
6.1.1  对简单查询使用SQL跟踪的简单步骤   196
 
6.1.2  TRACE输出部分   200
 
6.1.3  深入探讨TKPROF输出   201
 
6.2  使用DBMS_MONITOR   203
 
6.3  单独使用EXPLAIN PLAN   207
 
6.3.1  对简单查询使用的另一个EXPLAIN示例   208
 
6.3.2  EXPLAIN PLAN—— 自顶而下还是从下往上读取   209
 
6.3.3  在开发者产品中利用跟踪/EXPLAIN发现有问题的查询   213
 
6.3.4  PLAN_TABLE表中的重要列   214
 
6.3.5  使用DBMS_XPLAN   215
 
6.3.6  未公开的TRACE初始化参数   216
 
6.4  使用STORED OUTLINES(存储纲要)   217
 
6.5  使用SQL计划管理(SPM)和SPM示例   218
 
6.5.1  SPM术语   218
 
6.5.2  使用SPM   219
 
6.5.3  使用固定的SQL计划基线   223
 
6.5.4  从STORED OUTLINES移植到SQL计划管理   223
 
6.5.5  自适应计划(Oracle 12c新特性)和SPM   225
 
6.6  要诀回顾   231
 
7章  基本的提示语法(针对开发人员和DBA)   235
 
7.1  常用的提示   236
 
7.1.1  慎用提示   237
 
7.1.2  首先修正设计方案   237
 
7.2  可用提示及归类   238
 
7.2.1  执行路径提示   238
 
7.2.2  访问方法提示   238
 
7.2.3  查询转换提示   239
 
7.2.4  连接操作提示   239
 
7.2.5  并行执行提示   239
 
7.2.6  其他提示   240
 
7.3  指定提示   240
 
7.4  指定多个提示   241
 
7.5  使用别名时,提示别名而非表名   241
 
7.6  提示   242
 
7.6.1  Oracle的演示样板:HR方案   242
 
7.6.2  FIRST_ROWS提示   242
 
7.6.3  ALL_ROWS提示   243
 
7.6.4  FULL提示   243
 
7.6.5  INDEX提示   244
 
7.6.6  NO_INDEX提示   245
 
7.6.7  INDEX_JOIN提示   246
 
7.6.8  INDEX_COMBINE提示   246
 
7.6.9  INDEX_ASC提示   246
 
7.6.10  INDEX_DESC提示   247
 
7.6.11  INDEX_FFS提示   247
 
7.6.12  ORDERED提示   248
 
7.6.13  LEADING提示   249
 
7.6.14  NO_EXPAND提示   249
 
7.6.15  DRIVING_SITE提示   250
 
7.6.16  USE_MERGE提示   250
 
7.6.17  USE_NL提示   251
 
7.6.18  USE_HASH提示   252
 
7.6.19  QB_NAME提示   253
 
7.6.20  PUSH_SUBQ提示   253
 
7.6.21  PARALLEL提示   254
 
7.6.22  NO_PARALLEL提示   255
 
7.6.23  PARALLEL_INDEX提示   255
 
7.6.24  APPEND提示   255
 
7.6.25  NOAPPEND提示   256
 
7.6.26  CACHE提示   256
 
7.6.27  NOCACHE提示   257
 
7.6.28  RESULT_CACHE提示   257
 
7.6.29  CURSOR_SHARING_EXACT提示   258
 
7.6.30  INMEMORY、NO_INMEMORY及其他IM提示   258
 
7.6.31  USE_INVISIBLE_INDEXES提示   259
 
7.6.32  CONTAINERS提示   260
 
7.6.33  WITH_PLSQL提示   260
 
7.7  杂项提示及注意事项   260
 
7.7.1  未公开的提示   262
 
7.7.2  如何在视图中使用提示   263
 
7.7.3  关于提示和STORED OUTLINES(或SPM)的注意事项   263
 
7.8  提示为什么不起作用   263
 
7.9  提示一览   264
 
7.10  要诀回顾   265
 
8章  查询优化(针对开发人员和初级DBA)   267
 
8.1  应该优化哪些查询?查询V$SQLAREA和V$SQL视图   268
 
8.1.1  从V$SQLAREA视图中选出糟糕的查询   268
 
8.1.2  从V$SQL视图中选出糟糕的查询   270
 
8.2  使用Oracle 12c视图定位占用大量资源的会话和查询   271
 
8.2.1  从V$SESSMETRIC视图中选出当前占用资源的会话   271
 
8.2.2  查看可用的AWR快照   272
 
8.2.3  从DBA_HIST_SQLSTAT视图中发现糟糕的查询   272
 
8.3  何时应该使用索引   272
 
8.3.1  从DBA_HIST_SQLTEXT视图中选择查询文本   273
 
8.3.2  从DBA_HIST_SQL_PLAN视图中选出查询的EXPLAIN PLAN   274
 
8.4  忘记了索引怎么办   275
 
8.4.1  建立索引   275
 
8.4.2  不可视索引(Invisible Index)   276
 
8.4.3  查看表上的索引   276
 
8.4.4  在列上正确建立索引了吗   276
 
8.5  建立了差的索引怎么办   277
 
8.6  删除索引时保持谨慎   279
 
8.7  在SELECT和WHERE子句中的列上建立索引   280
 
8.8  使用索引快速全扫描   281
 
8.9  使查询“魔术”般加速   283
 
8.10  在内存中缓存表   283
 
8.11  使用结果集缓存(Result Cache)   285
 
8.12  在多个索引间选择(使用选择性佳的索引)   285
 
8.13  索引合并   287
 
8.14  可能被抑制的索引   289
 
8.15  基于函数的索引   290
 
8.16  虚拟列(Virtual Column)   291
 
8.17  “古怪”的OR   291
 
8.18  使用EXISTS函数和嵌套子查询   292
 
8.19  表就是视图   293
 
8.20  SQL和“大一统”理论   293
 
8.21  Oracle Database 12c中的优化变化   294
 
8.21.1  Oracle 12c自适应查询优化   294
 
8.21.2  自适应统计信息   300
 
8.21.3  Oracle 12c统计信息收集的更新和两种新的直方图   304
 
8.21.4  Oracle 12c SQL计划管理的更新   305
 
8.22  Oracle自动SQL优化   306
 
8.22.1  保证执行优化操作的用户能访问API   307
 
8.22.2  创建优化任务   307
 
8.22.3  确定从顾问日志中可以查看到任务   307
 
8.22.4  执行SQL优化任务   307
 
8.22.5  查看优化任务的状态   308
 
8.22.6  显示SQL优化顾问生成的报告   308
 
8.22.7  检查报告输出   308
 
8.23  使用SQL优化顾问自动优化SQL语句   310
 
8.23.1  启用自动SQL优化顾问   310
 
8.23.2  配置自动SQL优化顾问   310
 
8.23.3  查看自动SQL优化的结果   311
 
8.24  使用SQL性能分析器(SPA)   314
 
8.25  要诀回顾   319
 
9章  表连接和其他高级优化(针对高级DBA和开发人员)   321
 
9.1  数据库回放(捕获/回放)   322
 
9.1.1  设置源数据库,为数据库回放捕获负载   323
 
9.1.2  准备捕获负载   323
 
9.1.3  捕获负载   323
 
9.1.4  准备负载以回放   324
 
9.1.5  为回放处理负载   325
 
9.1.6  准备回放负载   325
 
9.1.7  执行负载回放   325
 
9.2  SQL性能分析器(SPA)   327
 
9.2.1  创建SQL优化集   327
 
9.2.2  创建分析任务   328
 
9.2.3  执行分析任务   328
 
9.2.4  查询性能分析的顾问任务   329
 
9.2.5  取消正在执行的SPA分析任务   329
 
9.2.6  删除SPA分析任务   329
 
9.2.7  确定活动的SQL优化集   330
 
9.2.8  移除SQL优化集引用   330
 
9.2.9  删除SQL优化集   330
 
9.3  连接方法   331
 
9.3.1  嵌套循环连接   331
 
9.3.2  排序合并连接   332
 
9.3.3  聚簇连接   333
 
9.3.4  哈希连接   333
 
9.3.5  索引合并连接   334
 
9.4  表连接相关的初始化参数   336
 
9.5  双表连接:等尺寸表(基于成本)   337
 
9.6  双表索引连接:等尺寸表(基于成本)   340
 
9.7  强制使用特定的连接方法   343
 
9.8  排除多表连接中的连接记录(候选行)   345
 
9.9  大小不同的表间的双表连接   346
 
9.10  三表连接:不那么有趣   349
 
9.11  位图连接索引   350
 
9.11.1  位图索引   351
 
9.11.2  位图连接索引   352
 
9.11.3  位图连接索引的佳应用   353
 
9.12  三方产品性能优化   355
 
9.13  优化分布式查询   359
 
9.14  一切就绪   360
 
9.15  其他优化技术   361
 
9.15.1  外部表   361
 
9.15.2  数据快照太旧(Snapshot Too Old):开发人员的编程问题   364
 
9.15.3  设置事件以转储每次等待   365
 
9.15.4  从14小时到30秒—— EXISTS操作符   366
 
9.16  在块级别进行优化(高级内容)   367
 
9.16.1  数据块转储中的关键部分   370
 
9.16.2  索引块转储简介   376
 
9.17  使用简单的数学方法进行优化   378
 
9.17.1  传统的数学分析   378
 
9.17.2  七步方法论   378
 
9.17.3  性能推导公式   379
 
9.17.4  模式分析   383
 
9.17.5  数学方法总结   387
 
9.18  要诀回顾   387
 
10章  使用PL/SQL提升性能(针对开发人员和DBA)   391
 
10.1  利用PL/SQL函数结果集缓存提升性能(Oracle 12c中有改进)   393
 
10.2  在SQL语句中定义PL/SQL子程序(Oracle 12c新特性)   401
 
10.3  直接在PL/SQL表达式中引用序列   403
 
10.4  自增长(Identity)字段(Oracle 12c新特性)   404
 
10.5  将VARCHAR2、NVARCHAR2和RAW数据类型的大长度增加到32K(Oracle 12c新特性)   406
 
10.6  语句中允许绑定PL/SQL专用数据类型(Oracle 12c新特性)   407
 
10.7  在SQL函数调用中使用命名参数   407
 
10.8  使用CONTINUE语句简化循环   410
 
10.9  利用编译时警告捕捉编程错误(Oracle 12c增强特性)   412
 
10.10  使用本地编译提升性能   414
 
10.11  使用优化的编译器使性能优   416
 
10.12  使用DBMS_APPLICATION_INFO包进行实时监控   421
 
10.13  在数据库表中记录计时信息   422
 
10.14  减少PL/SQL程序的单元迭代数量和迭代时间   424
 
10.15  使用ROWID进行迭代处理   426
 
10.16  将数据类型、IF条件排序和PLS_INTEGER标准化   428
 
10.16.1  确保比较运算中的数据类型相同   428
 
10.16.2  根据条件出现的频率排序IF条件   430
 
10.16.3  使用PL/SQL数据类型PLS_INTEGER进行整数运算   430
 
10.17  减少对SYSDATE的调用   431
 
10.18  减少MOD函数的使用   432
 
10.19  通过固定PL/SQL对象提升共享池的使用   433
 
10.19.1  将PL/SQL对象语句固定(缓存)到内存中   434
 
10.19.2  固定所有的包   434
 
10.20  识别需要固定的PL/SQL对象   435
 
10.21  使用和修改DBMS_SHARED_POOL.SIZES   435
 
10.22  从DBA_OBJECT_SIZE中获取详细的对象信息   436
 
10.23  发现无效对象   437
 
10.24  发现已禁用的触发器   438
 
10.25  将PL/SQL关联数组用于快速参考表查询   439
 
10.26  查找和优化所使用对象的SQL   441
 
10.27  在处理DATE数据类型时使用时间组件   444
 
10.28  使用PL/SQL优化PL/SQL   446
 
10.29  理解PL/SQL对象定位的含义   446
 
10.30  使用回滚段打开大型游标   447
 
10.31  使用数据库临时表提高性能   449
 
10.32  限制动态SQL的使用   449
 
10.33  使用管道表函数建立复杂的结果集   450
 
10.34  别管调试命令   454
 
10.35  “跟着感觉走”:为初学者准备的例子   458
 
10.35.1  PL/SQL示例   459
 
10.35.2  创建过程的例子   459
 
10.35.3  从PL/SQL中执行过程的例子   459
 
10.35.4  创建函数的例子   460
 
10.35.5  在SQL中执行get_cust_name函数   460
 
10.35.6  创建程序包   460
 
10.35.7  在数据库触发器中使用PL/SQL   460
 
10.36  要诀回顾   461
 
11章  Oracle云、Exadata、RAC调优和并行特性的使用   463
 
11.1  云计算的演进(过去和现在)   465
 
11.2  Oracle云   467
 
11.3  Exadata数据库一体机   474
 
11.3.1  Exadata术语和基础知识   474
 
11.3.2  Exadata详细信息   475
 
11.3.3  Exadata存储扩展柜简介   477
 
11.3.4  智能扫描(Smart Scan)   478
 
11.3.5  闪存(Flash Cache)   478
 
11.3.6  存储索引(Storage Indexes)   480
 
11.3.7  混合列压缩   481
 
11.3.8  IORM   484
 
11.3.9  在Exadata中使用所有的Oracle安全优势   484
 
11.3.10  佳实践   485
 
11.3.11  小结:Exadata=根本性改变!   485
 
11.4  Oracle Database Appliance(ODA)   486
 
11.5  M7 SPARC芯片的SuperCluster   486
 
11.6  其他可以考虑的Oracle硬件   486
 
11.6.1  Oracle大数据设备X6-2   486
 
11.6.2  ZFS存储服务器   487
 
11.6.3  StorageTek模块化磁带库系统   487
 
11.7  并行数据库   487
 
11.8  RAC   488
 
11.8.1  Oracle RAC架构   488
 
11.8.2  Oracle RAC系统的内部工作原理   489
 
11.9  RAC性能优化概述   492
 
11.9.1  RAC集群互连的性能   492
 
11.9.2  寻找RAC等待事件——会话等待   493
 
11.9.3  RAC等待事件和互连统计信息   494
 
11.9.4  集群互连优化—— 硬件层   498
 
11.10  并行操作   501
 
11.10.1  并行操作的基本概念   501
 
11.10.2  并行DML和DDL语句及操作   503
 
11.10.3  管理并行服务器资源和并行语句排队   503
 
11.10.4  并行和分区   504
 
11.10.5  操作内并行和操作间并行   504
 
11.10.6  使用操作内并行和操作间并行的示例(PARALLEL和NO_PARALLEL提示)   505
 
11.10.7  使用并行操作创建表和索引的示例   506
 
11.10.8  通过V$视图监控并行操作   507
 
11.10.9  在并行操作中使用EXPLAIN PLAN和AUTOTRACE   509
 
11.10.10  使用set autotrace on命令   511
 
11.10.11  优化并行执行和初始化参数   512
 
11.10.12  并行加载   514
 
11.10.13  优化RAC中的并行操作   515
 
11.10.14  并行操作的目标   515
 
11.10.15  RAC并行使用模型   515
 
11.10.16  并行相关的初始化参数   515
 
11.10.17  查看并行统计数据的V$视图   515
 
11.10.18  Create Table As   516
 
11.10.19  并行建立索引   516
 
11.10.20  性能注意事项和小结   516
 
11.10.21  其他的并行操作注意事项   516
 
11.11  Oracle的联机文档   517
 
11.12  要诀回顾   517
 
12章  V$视图(针对开发人员和DBA)   519
 
12.1  创建和授权访问V$视图   520
 
12.2  获取构建V$视图的X$脚本列表   524
 
12.3  使用有帮助的V$脚本   526
 
12.3.1  基本的数据库信息   527
 
12.3.2  基本的自动负载资料库(AWR)信息   527
 
12.3.3  基本的许可信息   528
 
12.3.4  数据库中已安装的数据库选项   529
 
12.4  内存分配概要(V$SGA)   530
 
12.4.1  设置INMEMORY_SIZE后查询V$IM_SEGMENTS   531
 
12.4.2  自动内存管理与MEMORY_TARGET参数   532
 
12.4.3  详尽的内存分配(V$SGASTAT)   533
 
12.4.4  PDB和根CDB内存分配的详细信息(V$SGASTAT)   534
 
12.5  在V$PARAMETER视图里找出
 
spfile.ora/init.ora参数设置   534
 
12.6  在PDB级别修改初始化参数   535
 
12.7  确定数据所需内存(V$SYSSTAT和V$SYSMETRIC)   536
 
12.8  确定数据字典所需内存(V$ROWCACHE)   537
 
12.9  确定共享SQL和PL/SQL所需内存(V$LIBRARYCACHE)   538
 
12.10  查询V$CONTAINERS 和V$PDBS以获取容器的信息   539
 
12.10.1  使用可插拔数据库时查询V$CONTAINERS   540
 
12.10.2  使用可插拔数据库时查询V$PDBS   540
 
12.10.3  使用结果集缓存(Result Cache)   541
 
12.11  确定需要保留在内存中(固定住)的PL/SQL对象   543
 
12.12  监控V$SESSION_LONGOPS视图以定位有问题的查询   543
 
12.13  通过V$SQLAREA发现有问题的查询   545
 
12.14  检查用户的当前操作及其使用的资源   546
 
12.14.1  查找用户正在访问的对象   547
 
12.14.2  获取详细的用户信息   547
 
12.15  使用索引   548
 
12.16  确定锁定问题   549
 
12.16.1  杀掉有问题的会话   551
 
12.16.2  找出使用多个会话的用户   552
 
12.16.3  查询当前的概要文件   552
 
12.17  找出磁盘I/O问题   553
 
12.18  检查权限和角色   556
 
12.19  等待事件V$视图   558
 
12.20  一些主要的V$视图类别   561
 
12.21  要诀回顾   568
 
13章  X$表(针对高级DBA)   571
 
13.1  X$表介绍   572
 
13.1.1  有关X$表的误解   573
 
13.1.2  授权查看X$表   573
 
13.2  在Oracle 12c中创建V$视图和X$表   574
 
13.3  获得Oracle 12c中所有X$表的列表   577
 
13.4  获得Oracle 12c中所有X$索引的列表   578
 
13.5  对X$表和索引使用的提示   579
 
13.6  监控共享池的空间分配   580
 
13.7  创建查询脚本来监控共享池   581
 
13.7.1  ORA-04031错误   581
 
13.7.2  空间分配过大而引起的争用   582
 
13.7.3  共享池碎片化   582
 
13.7.4  共享池和Java池中空闲内存过低   584
 
13.7.5  使用库缓存内存   584
 
13.7.6  过高的硬解析   586
 
13.7.7  互斥锁/闩锁等待和/或休眠   587
 
13.7.8  其他X$表说明   588
 
13.8  获得重做日志的信息   589
 
13.9  设置初始化参数   589
 
13.10  缓冲区缓存/数据块的详细信息   592
 
13.10.1  缓存状态   593
 
13.10.2  占用数据块缓存的段   595
 
13.10.3  热数据块/闩锁争用和等待事件   596
 
13.11  获得实例/数据库相关的信息   600
 
13.12  高效使用X$表及相关策略   601
 
13.13  Oracle的内部主题   601
 
13.13.1  跟踪   601
 
13.13.2  DBMS_TRACE包   605
 
13.13.3  事件   606
 
13.13.4  转储   607
 
13.13.5  oradebug命令   607
 
13.13.6  trcsess工具   609
 
13.14  阅读跟踪文件   609
 
13.14.1  等待信息和响应时间   612
 
13.14.2  递归调用   613
 
13.14.3  模块信息   613
 
13.14.4  提交   613
 
13.14.5  UNMAP   613
 
13.14.6  绑定变量   614
 
13.14.7  错误   614
 
13.15  X$表分组   615
 
13.16  X$表与非V$固定视图的联系   628
 
13.17  常见的X$表连接   629
 
13.18  X$表的命名   630
 
13.19  12cR2中未来版本的影响   638
 
13.20  要诀回顾   638
 
14章  使用Statspack和AWR报告调优等待、闩锁和互斥锁   641
 
14.1  Oracle 12cR2(12.2)中Statspack和AWR报告的新特性   642
 
14.2  安装Statspack   643
 
14.2.1  perfstat账户的安全管理   643
 
14.2.2  安装之后   644
 
14.2.3  收集统计数据   645
 
14.2.4  运行统计数据报告   647
 
14.3  AWR和AWR报告   648
 
14.3.1  手动管理AWR   649
 
14.3.2  AWR自动快照   650
 
14.3.3  AWR快照报告   650
 
14.3.4  在Oracle企业管理器云控制器中运行AWR报告   651
 
14.4  Statspack和AWR输出解析   654
 
14.4.1  报告头信息和缓存大小   654
 
14.4.2  负载概要   654
 
14.4.3  实例效率   656
 
14.4.4  共享池统计   658
 
14.4.5  Top等待事件   658
 
14.4.6  Oracle Bug   668
 
14.4.7  Oracle影子进程的生命周期   669
 
14.4.8  RAC等待事件和互连统计数据   669
 
14.4.9  Top SQL语句   670
 
14.4.10  实例活动统计数据   672
 
14.4.11  表空间和文件I/O的统计数据   676
 
14.4.12  段统计数据   678
 
14.4.13  其他的内存统计数据   679
 
14.4.14  UNDO统计数据   684
 
14.4.15  闩锁和互斥锁统计信息   684
 
14.4.16  在块级别调优和查看(高级)   692
 
14.4.17  数据字典和库缓存的统计数据   694
 
14.4.18  SGA内存统计数据   696
 
14.4.19  非默认的初始化参数   697
 
14.5  AWR报告和Statspack输出结果中需要首先查看的15项内容   698
 
14.5.1  管理Statspack数据   699
 
14.5.2  升级Statspack   700
 
14.5.3  卸载Statspack   700
 
14.6  新ADDM报告的快速说明   700
 
14.7  12cR2脚本   704
 
14.8  要诀回顾   706
 
15章  施行快速系统审查(针对DBA)   709
 
15.1  总体绩效指数(TPI)   710
 
15.2  训练绩效指数(EPI)   710
 
15.3  系统绩效指数(SPI)   712
 
15.4  内存绩效指数(MPI)   715
 
15.4.1  排名前25的“内存滥用”语句是否被优化   715
 
15.4.2  十大“内存滥用”语句在所有语句中所占的比重   716
 
15.4.3  缓冲区缓存命中率   717
 
15.4.4  数据字典缓存命中率   718
 
15.4.5  库缓存命中率   719
 
15.4.6  PGA内存排序命中率   719
 
15.4.7  空闲的数据缓冲区的比例   720
 
15.4.8  有效地使用结果集缓存   721
 
15.4.9  固定/缓存对象   722
 
15.5  磁盘绩效指数(DPI)   723
 
15.5.1  优化滥用磁盘读操作的前25条语句   723
 
15.5.2  滥用磁盘读操作的前10条语句占所有语句磁盘读的比例   724
 
15.5.3  分离表和索引,或者使用ASM   725
 
15.5.4  关键任务表管理   725
 
15.5.5  分离关键的Oracle文件   726
 
15.5.6  自动UNDO管理   726
 
15.5.7  有效地使用可插拔数据库   728
 
15.6  总体绩效指数   729
 
15.7  系统综合检查示例   730
 
15.7.1  评级系统   730
 
15.7.2  系统审查评级类别的示例   730
 
15.7.3  需要立即采取行动的问题项   731
 
15.7.4  其他需要采取行动的问题项   732
 
15.8  系统信息列表   732
 
15.8.1  与内存有关的数值   732
 
15.8.2  与磁盘有关的数值   732
 
15.8.3  与CPU有关的数值   733
 
15.8.4  与备份和恢复有关的信息   733
 
15.8.5  命名约定和/或标准以及安全信息问题   734
 
15.8.6  DBA知识评级   734
 
15.9  TPI和系统检查需要考虑的其他项   735
 
15.10  要诀回顾   735
 
16章  运用UNIX实用工具来监控系统(针对DBA)   737
 
16.1  UNIX/Linux实用工具   738
 
16.2  使用sar命令来监控CPU的使用情况   738
 
16.2.1  sar -u(检查CPU的繁忙程度)   738
 
16.2.2  sar -d命令(找出I/O问题)   739
 
16.2.3  sar -b命令(检查缓冲区高速缓存)   742
 
16.2.4  sar -q命令(检查运行队列和交换队列的长度)   742
 
16.3  使用sar命令和vmstat命令监控调页/交换   743
 
16.3.1  使用sar命令的-p选项报告调页活动   743
 
16.3.2  使用sar命令的-w选项来报告交换和切换活动   744
 
16.3.3  使用sar命令的-r选项来报告空闲内存和空闲交换空间   744
 
16.3.4  使用sar命令的-g选项来报告调页活动   744
 
16.3.5  使用sar -wpgr命令来报告内存资源的使用情况   745
 
16.4  使用top命令找出系统上差的用户   747
 
16.5  使用uptime命令监控CPU负载   748
 
16.6  使用mpstat命令辨认CPU瓶颈   749
 
16.7  结合使用ps命令和选定的V$视图   749
 
16.8  使用iostat命令辨认磁盘I/O瓶颈   752
 
16.8.1  为磁盘驱动器sd15、sd16、sd17和sd18使用iostat的-d选项   752
 
16.8.2  使用iostat的-D选项   752
 
16.8.3  使用iostat的-x选项   753
 
16.8.4  将iostat的-x选项与shell脚本中的逻辑相结合   753
 
16.9  使用ipcs命令来确定共享内存   754
 
16.10  使用vmstat命令监控系统负载   755
 
16.11  监控磁盘的空闲空间   756
 
16.11.1  df命令   756
 
16.11.2  du命令   757
 
16.12  使用netstat监控网络性能   757
 
16.13  修改配置信息文件   758
 
16.14  改善性能的其他途径   760
 
16.15  要诀回顾   760
 
附录A  重要的初始化参数(针对DBA)   763
 
附录B  V$视图(针对DBA和开发人员)   803
 
附录C  X$表(针对DBA)   821
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐