书籍详情
联动Oracle:设计思想、架构实现与AWR报告

作者:玉素甫·买买提
出版社:机械工业出版社
出版时间:2024-02-01
ISBN:9787111744160
定价:¥99.00
购买这本书可以去
内容简介
【为宏观掌握Oracle基础(第1~3章)】,介绍了进程管理、内存管理及存储等基础知识,并且讲解了常用Linux操作系统性能工具的使用及结果分析方法,旨在帮助读者了从宏观视角掌握Oracle数据库体系架构和进程组织方案。【微观理解Oracle原理(第4~8章)】,围绕Oracle内部运行原理展开讲解。首先,在Oracle数据结构的基础上讨论日志和回滚。其次,引入了排队论和排队系统中的概念,对比法讲解了Oracle的数据缓冲区高速缓存和共享池设计思想及运行原理。【串联Oracle运行流程(第9~11章)】,结合实践案例将从提交SQL至结果返回的整个过程串起来,首先总结归纳了Oracle算法和数据结构的重要知识点,打通了Oracle原理与数据结构之间的桥梁。其次,通过典型案例讲解AWR报告,让读者能够了解完整的Oracle诊断思路。再次,介绍了集群技术、Oracle RAC及其日志结构。然后,对Oracle多租户架构的演进过程及部分新特性进行了简要讨论及总结。
作者简介
玉素甫·买买提广电企业资深Oracle OCM,擅长数据库性能优化、数据迁移、IT系统从0到1的建设和运维过程,目前主要从事数据中心(IDC)及云平台建设运维相关工作。近15年来,作为项目经理及主力军亲历10余个中大型项目建设,如呼叫中心系统、BOSS系统、基于OpenStack的企业云平台、用户行为大数据采集与分析平台、OSS综合网管、GIS资管系统、IDC建设工程等。
目录
前 言
第一篇 宏观掌握Oracle基础
第1章 Oracle概貌及进程 2
1.1 Oracle概貌 2
1.1.1 串联Oracle知识体系的挑战 3
1.1.2 UNIX体系结构简介 4
1.1.3 Oracle进程状态转换 6
1.2 充分理解进程 8
1.2.1 何为进程 8
1.2.2 进程的状态 10
1.2.3 进程切换 11
1.2.4 进程间通信 11
1.3 Oracle的进程组织方案 12
1.3.1 2N方案:一个数据库服务器
进程对应一个用户进程 12
1.3.2 N M方案:M个数据库服务器进程对应N个用户进程 14
1.4 Oracle的进程结构 15
1.4.1 Oracle常见进程及简介 15
1.4.2 Oracle进程的启动顺序 20
1.4.3 进程、连接、会话的区别 21
1.5 本章小结 22
第2章 Oracle内存与实例 24
2.1 虚拟存储管理 24
2.1.1 操作系统虚拟内存结构 24
2.1.2 共享内存段的概念 26
2.1.3 共享内存段与内核参数 26
2.1.4 查看共享内存段 27
2.1.5 共享内存段与进程 28
2.1.6 内存交换与HugePage 29
2.1.7 内存文件系统 29
2.2 Oracle实例 30
2.2.1 数据库实例的构成 30
2.2.2 ASM实例的构成 32
2.2.3 ASM启动与参数文件 33
2.2.4 数据库实例与ASM实例的
交互 34
2.3 Linux性能分析工具 35
2.3.1 查看进程队列及系统负载 36
2.3.2 查看I/O 38
2.4 Oracle常用视图及跟踪工具 40
2.4.1 常用动态性能视图 40
2.4.2 查看SQL执行计划 43
2.4.3 常用诊断和调试工具 46
2.5 本章小结 49
第3章 Oracle存储结构 50
3.1 存储体系结构 50
3.1.1 逻辑存储结构 52
3.1.2 段和表的区别 52
3.1.3 数据块结构 55
3.1.4 Rowid结构 56
3.1.5 索引结构及索引范围扫描 59
3.2 数据文件存储结构 60
3.2.1 数据文件物理存储结构 61
3.2.2 Oracle数据文件读取 62
3.3 日志文件存储结构 65
3.3.1 重做记录存储结构 65
3.3.2 检查点 66
3.3.3 控制文件 68
3.4 ASM存储结构 70
3.4.1 ASM磁盘组与磁盘 70
3.4.2 ASM文件 72
3.4.3 ASM空间分配 73
3.5 ASM存储设备配置 76
3.5.1 ASM磁盘发现 76
3.5.2 多路径配置 78
3.5.3 UDEV简介及配置 80
3.6 本章小结 81
第二篇 微观理解Oracle原理
第4章 重做 84
4.1 深入认识重做记录 84
4.1.1 SCN:系统改变号 85
4.1.2 SEQ与RBA 85
4.1.3 准备重做日志转储 86
4.1.4 转储文件的内容及构成 87
4.2 IMU与非IMU 89
4.2.1 非IMU的重做日志申请
过程 90
4.2.2 IMU的重做日志申请过程 91
4.3 LGWR的工作原理 93
4.3.1 写日志流程 93
4.3.2 3秒唤醒和commit写入的
差异 93
4.4 Redo等待事件 94
4.4.1 log buffer space 94
4.4.2 log file parallel write 94
4.4.3 log file sync 94
4.5 多LGWR进程 95
4.6 本章小结 96
第5章 回滚 98
5.1 回滚的概念及原理 98
5.1.1 Do-Undo-Redo协议 99
5.1.2 Undo部分的生成过程 99
5.1.3 数据块头、回滚段头、回滚块
之间的关系 104
5.1.4 事务槽及相关等待事件 108
5.2 读一致性及块清除 109
5.3 获取UNDO信息 110
5.4 本章小结 112
第6章 排队论和并发控制 113
6.1 排队论和事务处理 113
6.1.1 排队论的基本概念 113
6.1.2 事务的基本概念 116
6.1.3 事务流 118
6.2 响应时间曲线图和CPU、I/O
系统模型 119
6.2.1 响应时间曲线图 119
6.2.2 CPU系统模型 121
6.2.3 I/O系统模型 121
6.3 并发控制和封锁 122
6.3.1 并发控制的基本概念 122
6.3.2 封锁的概念和类型 123
6.4 Oracle多粒度锁机制 123
6.4.1 RDBMS的TM锁和
意向锁 124
6.4.2 Oracle的TM锁和意向锁 125
6.4.3 Oracle锁查询脚本 126
6.5 本章小结 126
第7章 数据缓冲区 128
7.1 数据缓冲区结构 128
7.1.1 Working Set 129
7.1.2 Buffer Header 129
7.1.3 Hash Bucket与
Hash Chain 130
7.2 并发控制及申请流程 131
7.2.1 CBC Latch和Pin 131
7.2.2 共享与独占 134
7.2.3 LRU队列 135
7.2.4 数据块申请流程 137
7.3 物理读与逻辑读 139
7.3.1 逻辑读过程及统计SQL 139
7.3.2 物理读过程及统计SQL 139
7.4 本章小结 140
第8章 共享池 142
8.1 共享池结构 142
8.1.1 子池 143
8.1.2 空闲列表与LRU 146
8.1.3 共享池内存申请流程 147
8.1.4 ORA-4031报错过程 149
8.2 SQL解析及并发控制 149
8.2.1 SQL解析及游标 150
8.2.2 library Cache Lock加锁
步骤 153
8.2.3 cursor_sharing 155
8.2.4 v$latch、v$latch_childred
统计 156
8.3 Mutex 157
8.3.1 Mutex简介 157
8.3.2 Mutex的类
第一篇 宏观掌握Oracle基础
第1章 Oracle概貌及进程 2
1.1 Oracle概貌 2
1.1.1 串联Oracle知识体系的挑战 3
1.1.2 UNIX体系结构简介 4
1.1.3 Oracle进程状态转换 6
1.2 充分理解进程 8
1.2.1 何为进程 8
1.2.2 进程的状态 10
1.2.3 进程切换 11
1.2.4 进程间通信 11
1.3 Oracle的进程组织方案 12
1.3.1 2N方案:一个数据库服务器
进程对应一个用户进程 12
1.3.2 N M方案:M个数据库服务器进程对应N个用户进程 14
1.4 Oracle的进程结构 15
1.4.1 Oracle常见进程及简介 15
1.4.2 Oracle进程的启动顺序 20
1.4.3 进程、连接、会话的区别 21
1.5 本章小结 22
第2章 Oracle内存与实例 24
2.1 虚拟存储管理 24
2.1.1 操作系统虚拟内存结构 24
2.1.2 共享内存段的概念 26
2.1.3 共享内存段与内核参数 26
2.1.4 查看共享内存段 27
2.1.5 共享内存段与进程 28
2.1.6 内存交换与HugePage 29
2.1.7 内存文件系统 29
2.2 Oracle实例 30
2.2.1 数据库实例的构成 30
2.2.2 ASM实例的构成 32
2.2.3 ASM启动与参数文件 33
2.2.4 数据库实例与ASM实例的
交互 34
2.3 Linux性能分析工具 35
2.3.1 查看进程队列及系统负载 36
2.3.2 查看I/O 38
2.4 Oracle常用视图及跟踪工具 40
2.4.1 常用动态性能视图 40
2.4.2 查看SQL执行计划 43
2.4.3 常用诊断和调试工具 46
2.5 本章小结 49
第3章 Oracle存储结构 50
3.1 存储体系结构 50
3.1.1 逻辑存储结构 52
3.1.2 段和表的区别 52
3.1.3 数据块结构 55
3.1.4 Rowid结构 56
3.1.5 索引结构及索引范围扫描 59
3.2 数据文件存储结构 60
3.2.1 数据文件物理存储结构 61
3.2.2 Oracle数据文件读取 62
3.3 日志文件存储结构 65
3.3.1 重做记录存储结构 65
3.3.2 检查点 66
3.3.3 控制文件 68
3.4 ASM存储结构 70
3.4.1 ASM磁盘组与磁盘 70
3.4.2 ASM文件 72
3.4.3 ASM空间分配 73
3.5 ASM存储设备配置 76
3.5.1 ASM磁盘发现 76
3.5.2 多路径配置 78
3.5.3 UDEV简介及配置 80
3.6 本章小结 81
第二篇 微观理解Oracle原理
第4章 重做 84
4.1 深入认识重做记录 84
4.1.1 SCN:系统改变号 85
4.1.2 SEQ与RBA 85
4.1.3 准备重做日志转储 86
4.1.4 转储文件的内容及构成 87
4.2 IMU与非IMU 89
4.2.1 非IMU的重做日志申请
过程 90
4.2.2 IMU的重做日志申请过程 91
4.3 LGWR的工作原理 93
4.3.1 写日志流程 93
4.3.2 3秒唤醒和commit写入的
差异 93
4.4 Redo等待事件 94
4.4.1 log buffer space 94
4.4.2 log file parallel write 94
4.4.3 log file sync 94
4.5 多LGWR进程 95
4.6 本章小结 96
第5章 回滚 98
5.1 回滚的概念及原理 98
5.1.1 Do-Undo-Redo协议 99
5.1.2 Undo部分的生成过程 99
5.1.3 数据块头、回滚段头、回滚块
之间的关系 104
5.1.4 事务槽及相关等待事件 108
5.2 读一致性及块清除 109
5.3 获取UNDO信息 110
5.4 本章小结 112
第6章 排队论和并发控制 113
6.1 排队论和事务处理 113
6.1.1 排队论的基本概念 113
6.1.2 事务的基本概念 116
6.1.3 事务流 118
6.2 响应时间曲线图和CPU、I/O
系统模型 119
6.2.1 响应时间曲线图 119
6.2.2 CPU系统模型 121
6.2.3 I/O系统模型 121
6.3 并发控制和封锁 122
6.3.1 并发控制的基本概念 122
6.3.2 封锁的概念和类型 123
6.4 Oracle多粒度锁机制 123
6.4.1 RDBMS的TM锁和
意向锁 124
6.4.2 Oracle的TM锁和意向锁 125
6.4.3 Oracle锁查询脚本 126
6.5 本章小结 126
第7章 数据缓冲区 128
7.1 数据缓冲区结构 128
7.1.1 Working Set 129
7.1.2 Buffer Header 129
7.1.3 Hash Bucket与
Hash Chain 130
7.2 并发控制及申请流程 131
7.2.1 CBC Latch和Pin 131
7.2.2 共享与独占 134
7.2.3 LRU队列 135
7.2.4 数据块申请流程 137
7.3 物理读与逻辑读 139
7.3.1 逻辑读过程及统计SQL 139
7.3.2 物理读过程及统计SQL 139
7.4 本章小结 140
第8章 共享池 142
8.1 共享池结构 142
8.1.1 子池 143
8.1.2 空闲列表与LRU 146
8.1.3 共享池内存申请流程 147
8.1.4 ORA-4031报错过程 149
8.2 SQL解析及并发控制 149
8.2.1 SQL解析及游标 150
8.2.2 library Cache Lock加锁
步骤 153
8.2.3 cursor_sharing 155
8.2.4 v$latch、v$latch_childred
统计 156
8.3 Mutex 157
8.3.1 Mutex简介 157
8.3.2 Mutex的类
猜您喜欢



