《深入浅出Oracle》一书的修订进入了最后阶段,除了一些小的微调之外,各章节会逐渐确定下来。
新书中除了修订之外,还增加了对Oracle Database 11g的一些相关内容,当然这些内容是根据需要被加入进来的,是全书内容的有机部分。
修订稿第一章目录大致如下,先列出来看看,实际上第一章的内容经过补充,已经包含了更为明确的三个部分,这三个部分指数据库的启动、连接、关闭。
实用性应当进一步得到增强:
以下是《深入浅出Oracle》修订版的第二章目录,第二章和前面的第一章,其前身就是原来的第一章。
现在一分为二,内容也不用再紧紧张张,随意现在将很多问题进行了扩展说明。
这一章主要涉及控制文件以及控制文件在数据库运行中的关键作用,检查点、SCN、启动校验等内容:
以下是修订后的《深入浅出Oracle》一书第三章目录:
以下是第四章目录:
以下是第五章目录:
以下是第六章目录:
新书中除了修订之外,还增加了对Oracle Database 11g的一些相关内容,当然这些内容是根据需要被加入进来的,是全书内容的有机部分。
修订稿第一章目录大致如下,先列出来看看,实际上第一章的内容经过补充,已经包含了更为明确的三个部分,这三个部分指数据库的启动、连接、关闭。
实用性应当进一步得到增强:
第1章 数据库的启动和关闭......................................................2
1.1 数据库的启动..............................................................2
1.1.1 启动数据库到Nomount状态.................................................3
1.1.1.1 实例以及进程的创建.....................................................3
1.1.1.2 V$PROCESS视图..........................................................6
1.1.1.3 参数文件的选择.........................................................8
1.1.1.4 实例启动最小参数需求...................................................9
1.1.1.5 ORACLE_SID的含义......................................................11
1.1.1.6 INSTANCE_NAME的含义...................................................13
1.1.1.7 DB_NAME与INSTANCE_NAME................................................15
1.1.1.8 RMAN的缺省实例........................................................18
1.1.1.9 Nomount案例两则.......................................................19
1.1.2 启动数据库到mount状态..................................................21
1.1.2.1 控制文件的定位........................................................21
1.1.2.2 数据文件的存在性判断..................................................22
1.1.2.3控制文件的HeartBeat....................................................24
1.1.2.3 口令文件的作用........................................................25
1.1.2.4 lk<ORACLE_SID>文件及作用..............................................26
1.1.2.5 Mount相同db_name的数据库..............................................27
1.1.3 启动数据库open阶段.....................................................30
1.1.3.1 Open阶段的一致性校验.................................................31
1.1.3.2 Oracle11g Automatic Diagnostic Repository新特性......................35
1.1.3.3 Oracle11g Fault Diagnosability Infrastructure新特性..................38
1.1.3.4 关于诊断的建议.......................................................42
1.2 数据库的访问.............................................................43
1.2.1 客户端的TNSNAMES.ORA文件配置...........................................44
1.2.2 服务器端的监听器文件listener.ora配置...................................46
1.2.3 通过不同服务器名对数据库的访问.........................................48
1.2.4 动态监听器注册服务.....................................................49
1.3 数据库的关闭.............................................................54
1.2.1 数据库关闭的步骤.......................................................54
1.2.1 几种关闭方式的对比.....................................................56
1.1.2.1 SHUTDOWN NORMAL......................................................56
1.1.2.1 SHUTDOWN IMMEDIATE...................................................56
1.1.2.1 SHUTDOWN TRANSACTIONAL...............................................56
1.1.2.1 SHUTDOWN ABORT.......................................................57
参考文献:....................................................................59
以下是《深入浅出Oracle》修订版的第二章目录,第二章和前面的第一章,其前身就是原来的第一章。
现在一分为二,内容也不用再紧紧张张,随意现在将很多问题进行了扩展说明。
这一章主要涉及控制文件以及控制文件在数据库运行中的关键作用,检查点、SCN、启动校验等内容:
第1章 控制文件与数据库初始化.............................2
1.1 控制文件的内容.......................................2
1.2 SCN..................................................4
1.2.1 SCN的定义.........................................4
1.2.1 SCN的获取方式.....................................5
1.2.1 SCN的进一步说明...................................6
1.3 检查点-Checkpoint....................................9
1.2.2 检查点(checkpoint)的工作原理.....................10
1.2.2 常规检查点与增量检查点.............................11
1.2.2 LOG_CHECKPOINT_TO_ALERT参数........................16
1.2.2 控制文件与数据文件头信息...........................17
1.2.2 数据库的启动验证...................................19
1.2.2 使用备份的控制文件.................................23
1.2.2 FAST_START_MTTR_TARGET.............................25
1.2.2 关于检查点执行的案例...............................27
1.2.2 Oracle10g自动检查点调整............................29
1.2.2 检查点信息及恢复起点...............................32
1.2.3 正常关闭数据库的状况...............................32
1.2.3.1 数据库的相关信息.................................33
1.2.3.2 redo检查点信息...................................33
1.2.3.3数据文件检查点信息................................34
1.2.4 数据库异常关闭的情况:..............................34
1.2.4.1 数据库的相关信息.................................35
1.2.4.2控制文件记录的redo信息............................35
1.2.4.3数据文件检查点信息................................35
1.2.4.4数据库的实例恢复..................................36
1.2.2 数据库并行恢复案例一则.............................37
1.2.2 判断一个死事务的恢复进度...........................40
1.4 数据库的初始化.......................................41
1.3.1 bootstrap$及数据库初始化过程.......................41
1.3.2 bootstrap$的定位...................................44
1.3.3 Oracle中独一无二的Cache对象........................45
1.3.4 Oracle数据库的引导.................................47
1.3.5 系统对象与bootstrap$...............................48
1.3.6 BOOTSTRAP$的重要性.................................50
1.3.7 BBED工具的简要介绍.................................51
1.3.8 坏块的处理与恢复...................................54
1.3.1 使用BBED模拟和修复坏块.............................56
1.3.2 使用RMAN进行坏块修复...............................58
参考文献:...............................................59
以下是修订后的《深入浅出Oracle》一书第三章目录:
第2章 参数及参数文件........................................2
2.1 初始化参数的分类........................................2
2.1.1 推导参数(Derived Parameters)..........................2
2.1.2 操作系统依赖参数......................................3
2.1.3 可变参数..............................................3
2.1.4 初始化参数的获取......................................4
2.2 参数文件................................................7
2.2.1 PFILE和SPFILE.........................................8
2.2.1 获取参数的视图........................................9
2.2.2 SPFILE的创建.........................................11
2.2.3 SPFILE的搜索顺序.....................................12
2.2.4 使用PFILE/SPFILE启动数据库...........................12
2.2.5 修改参数.............................................14
2.2.5 解决SPFILE参数修改错误...............................19
2.2.6 重置spfile中设置的参数...............................21
2.2.7 是否使用了spfile.....................................22
2.2.8 SPFILE的备份与恢复...................................23
2.2.8 Oracle11g参数文件恢复................................30
2.2.9 如何设置Events事件...................................31
2.2.10 导出SPFILE文件.......................................32
2.3 参数文件诊断案例之一...................................34
2.3.1 登陆系统检查告警日志文件文件..........................35
2.3.2. 尝试重新启动数据库..................................36
2.3.3. 检查数据文件........................................36
2.3.4. mount数据库,检查系统参数...........................36
2.3.5. 检查参数文件........................................37
2.3.6. 再次检查alert文件...................................37
2.3.7. 修正 pfile..........................................39
2.3.8. 启动数据库..........................................39
2.4 RAC环境参数文件诊断案例................................40
2.4.1 数据库资源异常.......................................40
2.4.2 问题的发现...........................................40
2.4.3 参数文件问题的解决...................................42
以下是第四章目录:
第3章 数据字典..............................................1
3.1 数据字典概述............................................1
3.2 内部RDBMS(X$)表.......................................2
3.3 数据字典表..............................................5
3.4 静态数据字典视图........................................9
3.4.1 静态数据字典视图的分类................................9
3.4.2 静态数据字典视图的内部实现...........................11
3.4.3 常用数据字典视图举例.................................13
3.5 动态性能视图...........................................16
3.5.1 GV$和V$视图..........................................17
3.5.2 GV_$,V_$视图和V$,GV$同义词...........................18
3.5.3 进一步的说明.........................................22
3.5.4 动态性能视图与数据库启动.............................23
3.6 最后的验证.............................................24
3.6.1 V$PARAMETER的结构....................................24
3.6.2 视图还是同义词.......................................25
3.6.3 Oracle如何通过同义词定位对象.........................26
以下是第五章目录:
第4章 内存管理..........................................2
4.1 PGA管理..............................................2
4.2.1 什么是PGA..........................................2
4.2.2 UGA与CGA...........................................4
4.2.3 PGA管理技术的变迁..................................6
4.2.4 参数的设置与内存分配...............................7
4.2.5 自动PGA管理实现原理...............................10
4.2.6 PGA的调整建议.....................................15
4.2.7 PGA的转储.........................................19
4.2 SGA管理.............................................21
4.1.1 SGA的组成.........................................22
1. 固定区域 - Fixed Area...............................22
1. Buffer Cache.........................................25
2.Shared Pool...........................................28
3. Redo Log Buffer......................................28
4. 其他内存组件.........................................28
4.1.2 SGA与共享内存.....................................31
4.1.3 SGA管理的变迁.....................................36
1. Oracle8i中静态SGA的管理.............................36
2. Oracle9i动态SGA管理.................................36
3. Oracle10g自动共享内存管理...........................43
4. Oracle11g自动内存管理...............................47
4.3 Oracle的内存分配和使用..............................52
4.3.1 诊断案例一-SGA与Swap..............................52
1. 登陆数据库,检查系统进程............................53
2. 检查警报日志文件....................................53
3. 尝试连接数据库......................................54
4. 检查系统日志........................................54
5. 检查系统内存及交换区使用............................54
6. 检查数据库的SGA设置.................................55
7. 调整内容............................................55
7. 问题总结:...........................................56
4.3.2 诊断案例二-SGA设置过高导致的系统故障..............56
1. 登陆数据库,检查警告日志文件........................56
2. 检查共享内存设置....................................57
3. 检查SGA设置.........................................58
4. 交换区问题..........................................58
5. 解决方案............................................59
6. 系统调整后状态......................................59
7. 一点总结............................................60
8. 后续研究............................................60
4.3.3 诊断案例三-如何诊断和解决CPU高度消耗(100%)问题....61
1. 通过Top命令查看......................................61
2. 找到存在问题的进程信息...............................62
3. 捕获存在问题的SQL语句................................62
4. 连接数据库,找到问题sql及进程.........................62
5. 进一步的跟踪.........................................63
以下是第六章目录:
第5章 Buffer Cache与Shared Pool原理..............................1
5.1 Buffer Cache原理.............................................2
5.1.1 LRU与Dirty List............................................2
5.1.2 Cache Buffers Lru Chain闩锁竞争与解决......................8
5.1.3 Cache Buffer Chain闩锁竞争与解决..........................10
5.2 Shared Pool的基本原理.......................................24
5.2.1 Oracle11g新特性-Result Cache..............................25
5.2.1 Shared pool的设置说明.....................................30
5.2.1 Oracle9i子缓冲池的增强....................................36
5.2.1 Oracle10g共享池管理的增强.................................39
5.2.2 了解X$KSMSP视图...........................................41
5.2.2 Shared Pool的转储与分析...................................45
5.2.3 诊断和解决Ora-04031错误....................................60
5.2.3.1 什么是Ora-04031错误......................................60
5.2.3.2 关注相关Bug信息..........................................61
5.2.3.3 绑定变量和cursor_sharing.................................63
5.2.3.4使用Flush Shared Pool缓解共享池问题.......................66
5.2.3.5 SHARED_POOL_RESERVED_SIZE参数的设置及作用................67
5.2.3.6 其他.....................................................68
5.2.3.7 模拟Ora-04031错误........................................69
5.2.4 Library Cache pin及Library Cache Lock分析..................72
5.2.4.1 LIBRARY CACHE PIN等待事件................................73
5.2.4.2. LIBRARY CACHE LOCK等待事件..............................79
5.2.4.2. Oracle10g的增强.........................................80
5.2.5诊断案例一-version_count过高造成的Latch竞争解决.............81
5.2.6 V$SQL与V$SQLAREA视图.......................................89
5.2.4.1 V$SQL视图与V$SQLAREA视图.................................89
5.2.4.1 v$sql视图和v$sqlarea的构建...............................92
5.2.6 Oracle10g中version_count过高的诊断.........................94
5.2.6诊断案例二-临时表引发的竞争.................................99
5.2.7总结.......................................................102
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




