Oracle Database 11g数据库管理艺术

Oracle Database 11g数据库管理艺术 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:Sam R.Alapati
出品人:
页数:1033
译者:钟鸣
出版时间:201005
价格:139.00元
装帧:平装
isbn号码:9787115227867
丛书系列:图灵程序设计丛书·数据库系列
图书标签:
  • Oracle
  • 数据库
  • DBA
  • 计算机
  • 技术类
  • ORACLE
  • 2010
  • 计算机科学
  • Oracle
  • 数据库
  • 11g
  • 数据库管理
  • 数据库技术
  • Oracle DBA
  • 数据库开发
  • SQL
  • PL/SQL
  • 性能优化
  • 数据管理
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书针对大多数日常的Oracle Database 11g数据库管理任务,全面覆盖DBA行业知识,并将理论与实践相结合,旨在为初中级DBA提供高效运行数据库所需的方方面面的知识,帮助他们从Oracle公司发行的大量资料中找到自己需要的信息。书中内容主要集中在大多数企业常见的问题之上,如安装和升级到Oracle Database 11g数据库软件、创建数据库、导出和导入数据、数据库的备份与恢复、性能调优,等等。

本书还提供了DBA完成本职工作必备的基本的UNIIX、SQL、PL/SQL和数据建模的知识,也给出了许多富有趣味性的例子,通过这些实例详细、循序渐进地说明了Oracle Database 11g数据库的各个概念和特性。

《数据结构与算法:原理与实践》 书籍简介 在这本深入探讨数据结构与算法核心概念的著作中,我们将带领读者穿越计算思维的殿堂,从最基础的逻辑结构到复杂的图论模型,全面解析支撑现代计算机科学的基石。本书旨在提供一个既有深厚理论基础,又紧密结合实际应用场景的全面指南。 第一部分:基础构建——数据组织与逻辑 本书的开篇聚焦于数据的基本组织方式。我们首先详尽阐述了线性数据结构的精髓。从数组(Array)的内存连续性与随机访问优势,到链表(Linked List)在动态内存管理中的灵活性,每一个结构都配以C++和Python的实例代码进行深入剖析。我们不仅讨论了单向链表、双向链表,还引入了循环链表的特殊应用场景。 紧接着,我们深入探讨了栈(Stack)与队列(Queue)。栈作为“后进先出”(LIFO)的典型代表,其在函数调用堆栈、表达式求值(中缀转后缀/前缀)和回溯算法中的作用被细致描绘。队列(先进先出,FIFO)的应用则扩展到了任务调度、缓冲区管理和广度优先搜索(BFS)的实现。本书特别强调了如何使用链表或数组高效地实现这两种抽象数据类型(ADT),并对比了它们在时间复杂度和空间效率上的权衡。 第二部分:分层思维——树形结构详解 树形结构是处理层次化数据的核心工具。本书用大量篇幅系统介绍了树(Tree)的基本概念,包括根、节点、叶子、深度与高度。在此基础上,我们重点讲解了二叉树(Binary Tree),并详细区分了先序、中序和后序遍历的算法逻辑及其在数据恢复中的重要性。 本书的亮点在于对二叉搜索树(BST)的全面解析。我们不仅展示了如何进行插入、删除和查找操作,更重要的是,我们深入探讨了BST在最坏情况下的性能退化问题。为了解决这一问题,本书随后引入了平衡树的概念,详细阐述了AVL树和红黑树(Red-Black Tree)的自平衡机制。我们用图示和步骤分解的方式,清晰地解释了旋转操作(左旋、右旋)如何维护树的平衡性,确保了对数时间复杂度的操作效率。 此外,我们还覆盖了B树(B-Tree)和B+树。鉴于这两种结构在数据库索引和文件系统中的核心地位,本书专门用一章来剖析它们如何通过多路分支来优化磁盘I/O操作,这对于理解高性能存储系统的底层逻辑至关重要。 第三部分:高效索引与查找——散列技术 散列(Hashing)是实现平均常数时间复杂度查找的关键技术。本章从散列表(Hash Table)的构建原理入手,解释了哈希函数的设计原则——如何最大程度地减少冲突。我们详细分析了冲突解决策略,包括链式法(Separate Chaining)和开放寻址法(Open Addressing),后者又细分为线性探测、二次探测和双重散列。本书通过实际案例演示了加载因子(Load Factor)对性能的影响,并讨论了如何通过动态重散列(Rehashing)来维持高效的查找性能。 第四部分:关系构建——图论的深度探索 图(Graph)是描述复杂关系网络的强大工具。本书从图的基本术语(顶点、边、权重、有向/无向)出发,系统介绍了图的表示方法:邻接矩阵与邻接表,并对比了它们在空间占用和稀疏/稠密图中的适用性。 在算法层面,我们进行了详尽的讲解: 1. 图的遍历: 深度优先搜索(DFS)和广度优先搜索(BFS)的实现及其在连通性判断、拓扑排序中的应用。 2. 最短路径问题: 详细阐述了Dijkstra算法(非负权重)和Bellman-Ford算法(处理负权边)。对于多源最短路径,我们引入了Floyd-Warshall算法。 3. 最小生成树(MST): 深入分析了Prim算法和Kruskal算法的贪心策略,并通过实例说明它们如何应用于网络设计和成本优化。 第五部分:算法设计范式与效率分析 本书的后半部分转向了算法设计思想和性能评估。我们详细介绍了算法的时间复杂度与空间复杂度分析方法,着重讲解了大O表示法(Big O Notation)的精确含义和应用。 我们重点剖析了三种主流的设计范式: 1. 分治法(Divide and Conquer): 以归并排序(Merge Sort)和快速排序(Quick Sort)为例,展示了如何将大问题分解为可解的小问题,并分析了快速排序的平均与最坏情况复杂度。 2. 贪心算法(Greedy Algorithms): 探讨了活动选择问题、霍夫曼编码(Huffman Coding)等经典案例,并强调了证明贪心选择性质的必要性。 3. 动态规划(Dynamic Programming, DP): 这是本书的一个核心章节。我们通过斐波那契数列、背包问题(0/1 Knapsack)、最长公共子序列(LCS)等经典问题,系统阐述了DP的最优子结构和重叠子问题特性,以及自底向上(Tabulation)和自顶向下(Memoization)两种实现方法。 第六部分:高级主题与实践应用 最后,本书探讨了几个前沿且实用的高级主题: 堆(Heap)结构: 讲解了最大堆与最小堆的实现,以及如何利用堆来高效地解决Top K问题和实现堆排序(Heap Sort)。 并查集(Disjoint Set Union, DSU): 重点介绍其在高效处理集合合并与查找问题中的应用,尤其是在Kruskal算法和网络连通性分析中的表现。 字符串匹配算法: 涵盖了朴素算法、KMP算法(Knuth-Morris-Pratt),解释了前缀函数(Prefix Function)在避免回溯方面的巧妙之处。 全书配有大量的图解、伪代码和跨语言的编程示例,旨在确保读者不仅理解“是什么”,更能掌握“如何做”,真正将抽象的算法转化为解决实际工程问题的强大工具。本书是计算机科学专业学生、软件工程师以及任何希望系统提升算法能力的专业人士的理想参考读物。

作者简介

Sam R. Alapati是世界顶尖的Oracle技术专家,一位从业20余年的资深数据库管理员。他拥有Oracle OCP DBA证书和HP UNIX System Administrator证书,做过Oracle公司的高级顾问,并曾在AT&T、NBC等世界顶级公司担任DBA。目前,他管理着世界上最大的Oracle数据库——美国童子军全国总部数据库。除本书外,他还编写了Oracle公司OCP考试的官方教材。

目录信息

第一部分 背景知识、数据建模、UNIX/Linux和SQL*Plus
第1章 Oracle DBA的世界 2
1.1 Oracle DBA的任务 2
1.1.1 DBA的安全任务 3
1.1.2 DBA的系统管理任务 3
1.1.3 DBA的数据库设计任务 5
1.2 不同的DBA工作分类 6
1.3 数据库的类型 6
1.3.1 联机事务处理和决策支持系统数据库 6
1.3.2 开发、测试和产品数据库 7
1.4 培训和认证 7
1.4.1 培训 7
1.4.2 认证 8
1.4.3 Oracle DBA的资源和组织 10
1.4.4 Oracle示例 11
1.4.5 Oracle数据库的两天DBA课程 11
1.4.6 Oracle MetaLink 11
1.4.7 Oracle Web Conference 12
1.5 普通Oracle DBA的日常工作 12
1.6 几点建议 12
1.6.1 知道何时寻求帮助 12
1.6.2 记住你并不孤单 13
1.6.3 站在全局看问题 13
1.6.4 首先是不要造成损害 13
第2章 关系数据库建模及数据库设计 14
2.1 关系数据库简介 14
2.2 关系数据库模型 15
2.2.1 数据库模式 15
2.2.2 关系代数 15
2.2.3 关系演算 16
2.2.4 SQL 16
2.3 关系数据库的生命周期 17
2.3.1 需求收集和分析 17
2.3.2 逻辑数据库设计 18
2.3.3 物理数据库设计 25
2.3.4 实现物理设计 27
2.4 反向设计数据库 28
2.5 对象-关系和对象数据库 28
2.5.1 关系模型 28
2.5.2 对象模型 28
2.5.3 对象-关系模型 29
2.5.4 半结构数据模型 30
第3章 Oracle DBA的UNIX/Linux基础 31
3.1 UNIX和Linux操作系统概述 31
3.1.1 UNIX 31
3.1.2 Linux 32
3.1.3 中档系统 32
3.2 理解UNIX shell 33
3.3 访问UNIX系统 33
3.4 基本UNIX命令概览 35
3.4.1 帮助信息:man命令 36
3.4.2 改变提示符 37
3.4.3 文件和目录的查找 37
3.4.4 命令输出的控制 38
3.4.5 显示文件的内容 38
3.4.6 比较文件 38
3.4.7 理解操作系统和Shell变量 38
3.4.8 UNIX中的输入和输出重定向 41
3.4.9 防止文件被覆盖 41
3.5 UNIX中文件和目录的浏览 42
3.5.1 UNIX系统中的文件 42
3.5.2 链接文件 42
3.5.3 管理文件 42
3.5.4 权限:读/写UNIX的文件 43
3.5.5 目录管理 45
3.6 用vi编辑器编写文件 46
3.6.1 利用vi创建和修改文件 46
3.6.2 用head和tail命令移动 47
3.7 文本的提取和排序 48
3.7.1 使用grep匹配模式 48
3.7.2 剪切、粘贴和联结文本 49
3.8 shell脚本 50
3.8.1 shell程序介绍 51
3.8.2 使用shell变量 51
3.8.3 用test命令求表达式的值 51
3.8.4 执行带命令行参数的shell程序 52
3.8.5 分析shell脚本 52
3.8.6 Korn shell编程中的流控制结构 53
3.9 管理UNIX进程 55
3.9.1 用ps命令收集进程信息 55
3.9.2 在注销后运行进程 56
3.9.3 在后台执行进程 56
3.9.4 用kill命令终止进程 56
3.10 UNIX系统管理和Oracle DBA 57
3.10.1 UNIX的备份和恢复实用程序 57
3.10.2 crontab和Automating脚本 57
3.10.3 使用telnet 58
3.10.4 远程登录和远程复制 59
3.10.5 使用SSH 59
3.10.6 使用FTP发送和接收文件 59
3.10.7 UNIX系统性能监控工具 60
3.11 UNIX中的磁盘和存储 64
3.11.1 磁盘存储配置选择 65
3.11.2 监控磁盘使用 65
3.11.3 磁盘存储、性能和可用性 66
3.12 RAID系统 67
3.12.1 RAID级别 67
3.12.2 选择理想的磁盘配置 69
3.12.3 冗余磁盘控制器 70
3.12.4 RAID和备份 70
3.12.5 RAID和Oracle 70
3.13 其他存储技术 70
3.13.1 SAN 71
3.13.2 NAS系统 71
3.13.3 InfiniBand 71
3.13.4 自动存储管理 72
3.13.5 Oracle与存储系统的兼容性 72
第4章 使用SQL*Plus和Oracle企业管理器 73
4.1 启动SQL*Plus会话 73
4.1.1 设置环境 73
4.1.2 从命令行启动SQL*Plus会话 74
4.1.3 用CONNECT命令进行连接 75
4.1.4 用/NOLOG的无连接SQL*Plus会话 76
4.1.5 通过Windows GUI连接SQL*Plus 76
4.1.6 在SQL*Plus中进行操作 77
4.2 退出SQL*Plus 77
4.3 SQL*Plus和SQL命令 77
4.3.1 SQL*Plus的安全性 78
4.3.2 用SET命令设置SQL*Plus环境 80
4.3.3 设置常用的SQL*Plus变量 81
4.3.4 SQL*Plus错误记录 84
4.3.5 SQL*Plus命令行选项 85
4.4 SQL*Plus管理命令 87
4.4.1 CLEAR命令 87
4.4.2 STORE命令 88
4.4.3 SHOW命令 88
4.5 关键的SQL*Plus“工作”命令 90
4.5.1 SQLPROMPT命令 90
4.5.2 DESCRIBE命令 91
4.5.3 HOST命令 91
4.5.4 SPOOL命令 92
4.5.5 ACCEPT和PROMPT命令 92
4.5.6 EXECUTE命令 92
4.5.7 PAUSE命令 93
4.6 格式化SQL*Plus的输出以及创建报告的命令 93
4.6.1 BREAK命令 93
4.6.2 COLUMN命令 94
4.6.3 COMPUTE命令 94
4.6.4 REPFOOTER命令 94
4.6.5 REPHEADER命令 94
4.6.6 BTITLE和TTITLE命令 94
4.7 在SQL*Plus中创建命令文件 95
4.7.1 将SQL缓冲区内容保存到文件中 95
4.7.2 在SQL*Plus中执行SQL脚本 95
4.7.3 创建Windows的批处理脚本 97
4.7.4 DEFINE和UNDEFINE命令 97
4.7.5 预定义SQL*Plus变量 97
4.7.6 在SQL*Plus中使用注释 98
4.7.7 显示SQL命令清单 98
4.8 在SQL*Plus中进行编辑 99
4.8.1 插入和删除行 100
4.8.2 添加文本 101
4.8.3 用REMARK命令加入注释 102
4.8.4 用COPY命令复制表 102
4.8.5 用SQL*Plus使DML的更改永久化 103
4.8.6 用SQL*Plus创建网页 103
4.9 主要的SQL*Plus数据库管理命令 104
4.9.1 RECOVER命令 104
4.9.2 STARTUP和SHOUTDOWN命令 104
4.9.3 ARCHIVE LOG命令 104
4.10 用SQL生成SQL 104
4.11 Oracle SQL Developer 105
4.12 OEM 106
4.12.1 使用OEM管理数据库的好处 106
4.12.2 OEM体系结构和组件 108
4.12.3 配置和使用Database Control 108
4.12.4 访问Database Control 111
4.12.5 Database Control的简要介绍 112
4.12.6 Performance 113
4.12.7 Availability 114
4.12.8 Server 114
4.12.9 Schema 115
4.12.10 Data Movement 115
4.12.11 Software and Support 115
4.12.12 Oracle软件克隆 115
4.12.13 配置使用Setup页 116
4.12.14 Related Links部分和Advisor Central页 117
4.12.15 创建Database Control角色 117
4.12.16 链接到MetaLink 118
4.12.17 基于策略的配置框架 118
4.12.18 跟踪数据库特性使用的统计数据 118
4.12.19 OEM Grid Control 120
4.12.20 管理Management Agent 122
4.12.21 OMS(Oracle Management Service,Oracle服务管理) 123
4.12.22 连接到Grid Control 123
4.12.23 登录到Grid Control 123
4.12.24 Grid Control的特性 124
4.12.25 使用Grid Control主页 124
4.12.26 用Grid Control监控整个系统 125
第二部分 Oracle Database 11g的体系结构、模式和事务管理
第5章 Oracle Database 11g体系结构 128
5.1 Oracle数据库的结构 128
5.1.1 逻辑数据库结构 128
5.1.2 物理数据库结构 134
5.1.3 其他文件 137
5.2 Oracle进程 139
5.2.1 用户和Oracle进程之间的交互 139
5.2.2 服务器进程 139
5.2.3 后台进程 140
5.3 Oracle内存结构 145
5.3.1 理解主存储器 145
5.3.2 SGA 146
5.3.3 PGA 151
5.4 简单的Oracle数据库事务 153
5.5 提交和回滚 154
5.5.1 提交一个事务 154
5.5.2 回滚一个事务 155
5.6 数据一致性和数据并发性 155
5.6.1 数据库写入器和写前协议 155
5.6.2 SCN 156
5.6.3 撤销管理 156
5.7 备份与恢复体系结构 157
5.7.1 用户管理的备份与恢复 157
5.7.2 RMAN 157
5.7.3 Oracle Secure Backup 158
5.7.4 闪回恢复技术 158
5.8 Oracle数据字典和动态性能视图 158
5.8.1 Oracle数据字典 159
5.8.2 动态性能(V$)视图 159
5.8.3 三组数据字典视图 159
5.8.4 如何创建数据字典 160
5.9 使用静态数据字典视图 160
5.10 与数据库对话 161
5.10.1 连接Oracle 161
5.10.2 OEM 161
5.10.3 SQL*Plus 162
5.11 Oracle实用程序 162
5.11.1 数据泵的导出和导入 162
5.11.2 SQL*Loader 162
5.11.3 LogMiner 162
5.11.4 自动诊断信息库控件接口 163
5.12 调度和资源管理工具 163
5.12.1 Oracle调度程序 163
5.12.2 数据库资源管理器 163
5.13 自动数据库管理 163
5.13.1 ADDM 163
5.13.2 自动撤销保留调优 164
5.13.3 自动优化程序统计数据收集 164
5.13.4 ASM 164
5.13.5 自动SQL调优 164
5.14 公共可管理基础设施 164
5.14.1 AWR 165
5.14.2 ASH 165
5.14.3 服务器产生的预警 166
5.14.4 自动任务特性 166
5.14.5 顾问程序的框架 166
5.14.6 更改管理 167
5.15 高效的管理和监控 167
第6章 管理表空间 169
6.1 表空间区尺寸和空间管理 169
6.1.1 分配区尺寸:自动分配与统一尺寸 169
6.1.2 自动与手动段空间管理 170
6.2 创建表空间 172
6.2.1 数据文件和表空间 172
6.2.2 区分配和解除分配 173
6.2.3 存储参数 174
6.2.4 数据库对象的存储分配 175
6.2.5 增加表空间的大小 176
6.2.6 删除表空间 177
6.2.7 用户表空间的数目 178
6.2.8 表空间限额 178
6.2.9 主动的表空间的空间预警 178
6.2.10 管理重做数据的生成 180
6.2.11 重新命名表空间 180
6.2.12 只读表空间 181
6.2.13 使表空间脱机 181
6.3 临时表空间 181
6.3.1 创建临时表空间 182
6.3.2 更改临时表空间 183
6.3.3 收缩临时表空间 183
6.3.4 默认临时表空间 184
6.3.5 临时表空间组 184
6.4 默认的永久表空间 186
6.5 大文件表空间 187
6.5.1 使用大文件表空间的限制 188
6.5.2 创建大文件表空间 188
6.5.3 更改大文件表空间 189
6.5.4 浏览大文件表空间的信息 189
6.6 管理Sysaux表空间 189
6.6.1 创建Sysaux表空间 190
6.6.2 Sysaux表空间的使用限制 190
6.7 表空间加密 190
6.7.1 为什么需要加密表空间 191
6.7.2 创建Oracle钱夹 191
6.7.3 创建一个加密的表空间 192
6.8 管理表空间的数据字典视图 193
6.8.1 DBA_TABLESPACE 193
6.8.2 DBA_FREE_SPACE 194
6.8.3 DBA_SEGMENTS 194
6.8.4 DBA_DATA_FILES 195
6.8.5 DBA_TABLESPACE_GROUPS 196
6.8.6 V$DATAFILE 196
6.8.7 V$FILESTAT 196
6.9 用Oracle管理的文件方便文件的管理 197
6.9.1 使用OMF的好处 198
6.9.2 创建Oracle管理的文件 198
6.9.3 不同类型的Oracle管理的文件 199
6.10 在两个数据库之间复制文件 202
6.10.1 COPY_FILE 202
6.10.2 GET_FILE 203
6.10.3 PUT_FILE 203
6.11 找出剩下多少可用空间 204
6.12 使用操作系统文件 205
6.12.1 使用UTL_FILE程序包 205
6.12.2 关键的UTL_FILE的过程和函数 206
6.12.3 异常处理程序 206
6.12.4 使用UTL_FILE程序包的简单例子 206
第7章 模式管理 209
7.1 SQL语句的类型 209
7.1.1 系统控制语句 210
7.1.2 会话控制语句 210
7.1.3 嵌入的SQL语句 210
7.1.4 数据操纵语句 210
7.1.5 事务控制语句 211
7.1.6 数据定义语言语句 211
7.2 Oracle模式 211
7.3 Oracle表 212
7.3.1 估计表的尺寸 213
7.3.2 创建简单表 214
7.3.3 什么是NULL值 215
7.3.4 列的默认值 216
7.3.5 虚拟列 216
7.3.6 添加表列 217
7.3.7 删除表列 217
7.3.8 重命名表列 217
7.3.9 重命名表 218
7.3.10 删除表中的所有数据 218
7.3.11 用CTAS选项创建新表 218
7.3.12 设置表为只读模式 219
7.3.13 表压缩 220
7.3.14 删除表 221
7.4 特殊的Oracle表 222
7.4.1 临时表 222
7.4.2 索引组织表 223
7.4.3 外部表 224
7.5 分区表 225
7.5.1 范围分区 225
7.5.2 间隔分区 226
7.5.3 散列分区 227
7.5.4 列表分区 227
7.5.5 引用分区 228
7.5.6 基于虚拟列的分区 229
7.5.7 系统分区 230
7.5.8 组合分区 231
7.5.9 分区维护操作 233
7.6 管理表的数据字典视图 235
7.7 群 237
7.8 散列群 238
7.9 Oracle索引 238
7.9.1 创建索引的准则 239
7.9.2 Oracle的索引模式 240
7.9.3 估算索引的尺寸 240
7.9.4 创建索引 241
7.10 特殊类型的索引 242
7.10.1 位图索引 242
7.10.2 反向键索引 242
7.10.3 键压缩索引 243
7.10.4 基于函数的索引 243
7.10.5 分区索引 243
7.10.6 不可见索引 244
7.11 监控索引的使用 245
7.12 索引的维护 246
7.13 管理数据库完整性约束 246
7.13.1 主键约束 247
7.13.2 非空约束 247
7.13.3 检查约束 247
7.13.4 唯一约束 248
7.13.5 引用完整性约束 248
7.13.6 完整性约束状态 248
7.13.7 信赖约束 249
7.13.8 暂缓和立即约束 250
7.14 与约束和索引有关的视图 250
7.14.1 DBA_CONSTRAINTS 250
7.14.2 DBA_CONS_COLUMNS 251
7.15 使用视图 251
7.16 使用实体化视图 253
7.16.1 查询重写 254
7.16.2 Rewrite_or_Error提示 255
7.16.3 重写的完整性 255
7.16.4 刷新实体化视图的数据 255
7.16.5 使用DBMS_MVIEW程序包 256
7.16.6 创建实体化视图 256
7.17 使用SQL访问顾问程序 258
7.17.1 使用OEM Database Control 259
7.17.2 使用DBMS_ADVISOR程序包 261
7.17.3 使用QUICK_TUNE过程 262
7.18 使用同义词 262
7.18.1 创建公共同义词 263
7.18.2 创建私有同义词 264
7.18.3 删除同义词 264
7.18.4 管理同义词 264
7.18.5 切换到另一个模式 264
7.19 使用序列 265
7.20 使用触发器 266
7.21 浏览对象信息 266
7.21.1 管理数据库对象的视图 266
7.21.2 DBA_OBJECTS 266
7.21.3 DBA_TABLES 267
7.21.4 DBA_EXTERNAL_TABLES 267
7.21.5 DBA_TAB_PARTITIONS 267
7.21.6 DBA_PART_TABLES 268
7.21.7 DBA_TAB_MODIFICATIONS 268
7.21.8 DBA_TAB_COLUMNS 269
7.21.9 DBA_VIEWS 269
7.21.10 DBA_MVIEWS 270
7.21.11 DBA_INDEXES 270
7.21.12 DBA_IND_COLUMNS 270
7.21.13 INDEX_STATS 271
第8章 Oracle事务管理 272
8.1 Oracle的事务 272
8.1.1 COMMIT语句 273
8.1.2 ROLLBACK语句 274
8.2 事务的特性 274
8.3 事务并发性控制 275
8.3.1 并发性带来的问题 275
8.3.2 进度表和串行性 276
8.4 隔离级别和ISO事务标准 276
8.5 Oracle的隔离级别 278
8.5.1 事务级和语句级一致性 279
8.5.2 改变默认隔离级别 279
8.6 实现Oracle的并发控制 280
8.6.1 Oracle的锁定方法 281
8.6.2 Oracle的锁类型 281
8.6.3 允许DDL锁等待DML锁 282
8.6.4 显式表锁定 283
8.6.5 Oracle中的显式锁定 283
8.6.6 管理Oracle锁 284
8.7 利用撤销数据提供读一致性 287
8.7.1 AUM 287
8.7.2 有保证的撤销保留 292
8.7.3 使用OEM管理撤销数据 295
8.8 使用撤销数据纠正闪回错误 296
8.9 用DBMS_FLASHBACK程序包进行闪回 297
8.10 闪回事务查询 301
8.10.1 同时使用闪回事务查询和闪回版本查询 302
8.10.2 闪回表特性 303
8.11 事务管理 307
8.11.1 离散事务 307
8.11.2 自主事务 307
8.12 可恢复的空间分配 309
8.12.1 可继续执行的操作 309
8.12.2 常见的可继续执行错误 310
8.12.3 使用可恢复的空间分配特性 310
8.12.4 挂起操作的通知 312
8.12.5 操作挂起的警告 312
8.12.6 监控可恢复的空间分配 312
8.13 管理长事务 312
8.13.1 使用Workspace Manager的好处 313
8.13.2 表版本和工作区 313
第三部分 安装和升级到Oracle Database 11g,创建数据库
第9章 安装和升级到Oracle Database 11g 316
9.1 安装Oracle 316
9.1.1 参阅文献 316
9.1.2 确定磁盘和内存需求 317
9.2 OFA 317
9.2.1 安装点 318
9.2.2 目录及文件命名约定 319
9.3 执行预安装任务 323
9.3.1 检查预安装需求 324
9.3.2 系统管理员的预安装任务 325
9.3.3 Oracle拥有者的预安装任务 332
9.4 安装的最终检查表 334
9.4.1 访问安装软件 334
9.4.2 安装软件 336
9.4.3 使用响应文件安装Oracle软件 340
9.5 安装后的任务 341
9.5.1 系统管理员的后安装任务 342
9.5.2 Oracle拥有者的后安装工作 342
9.6 卸载Oracle 343
9.6.1 删除运行在服务器上的所有Oracle数据库 343
9.6.2 删除Oracle软件 344
9.7 升级到Oracle Database 11g 344
9.8 升级到Oracle Database 11g的方法 345
9.9 升级方法和工具 345
9.9.1 手动升级过程 345
9.9.2 数据库升级助手 346
9.9.3 预升级信息工具 346
9.9.4 后升级状态工具 347
9.9.5 为升级准备数据库 347
9.10 用DBUA升级 348
9.10.1 启动DBUA 348
9.10.2 执行DBUA 348
9.10.3 复原升级前的数据库 350
9.11 手动升级 350
9.11.1 升级和降级脚本 350
9.11.2 创建假脱机文件 351
9.11.3 启动预升级信息工具 351
9.11.4 备份数据库 353
9.11.5 复制参数文件 353
9.11.6 启动新数据库 353
9.11.7 执行升级脚本 354
9.11.8 执行升级活动脚本 354
9.11.9 重启实例 355
9.11.10 运行后升级活动脚本 355
9.11.11 检查无效对象 355
9.11.12 重编译和使无效对象有效 355
9.11.13 运行后升级状态工具 356
9.11.14 结束假脱机文件 357
9.11.15 重启新数据库 357
9.12 升级之后 357
9.12.1 为加强密码保护而重新设置密码 357
9.12.2 降级到旧版本 357
第10章 创建Oracle数据库 359
10.1 准备创建数据库 359
10.1.1 安装Oracle软件 359
10.1.2 为数据库创建文件系统 360
10.1.3 分配足够的内存 361
10.1.4 得到必要的授权 361
10.1.5 设置OS环境变量 361
10.2 创建参数文件 362
10.2.1 数据库参数文件的类型 362
10.2.2 初始化参数文件 362
10.2.3 更改初始化参数值 363
10.2.4 重要的Oracle Database 11g初始化参数 364
10.2.5 文档未记载的初始化参数 382
10.2.6 查看当前初始化参数值 382
10.3 创建新数据库 383
10.3.1 手动创建 383
10.3.2 使用DBCA创建数据库 393
10.4 使用服务器参数文件 400
10.4.1 创建服务器参数文件 400
10.4.2 设置动态参数更改的范围 402
10.4.3 从内存创建SPFILE或PFILE 403
10.5 从SQL*Plus中启动和关闭数据库 403
10.5.1 启动数据库 403
10.5.2 自动启动数据库 405
10.5.3 限制数据库的访问 406
10.5.4 关闭数据库 407
10.5.5 停顿数据库 409
10.5.6 挂起数据库 410
10.5.7 删除数据库 410
10.5.8 使用数据字典监控数据库状态 411
10.5.9 接下来的工作 412
第四部分 连接和用户管理
第11章 连接和网络 414
11.1 Oracle网络和数据库连接 414
11.2 网络概念:Oracle网络如何工作 415
11.2.1 Web应用如何连接到Oracle数据库 416
11.2.2 数据库实例名 416
11.2.3 全局数据库名 416
11.2.4 数据库服务名 416
11.2.5 连接描述符 417
11.2.6 连接标识符 417
11.2.7 连接串 417
11.3 建立Oracle连接 418
11.4 Oracle客户机 419
11.4.1 安装Oracle客户机 420
11.4.2 使用TWO_TASK环境变量 420
11.5 即时客户机 421
11.6 监听器和连接 421
11.6.1 自动服务注册 422
11.6.2 监听器命令 423
11.6.3 监听器管理 424
11.7 命名和连接 425
11.7.1 本地命名方法 426
11.7.2 简易连接命名方法 429
11.7.3 数据库驻留连接池 431
11.7.4 外部命名方法 433
11.7.5 目录命名方法 433
11.8 Oracle和Java数据库连接 437
11.8.1 建立数据库连接 437
11.8.2 使用数据库 437
11.8.3 一个完整的程序 439
第12章 用户管理和数据库安全 441
12.1 管理用户 441
12.1.1 临时和默认表空间 442
12.1.2 创建新用户 442
12.1.3 更改用户 444
12.1.4 删除用户 445
12.1.5 创建和使用用户概要文件 445
12.1.6 管理资源 450
12.2 Database Resource Manager 450
12.2.1 使用Database Resource Manager 451
12.2.2 使用OEM管理Database Resource Manager 460
12.3 控制数据库访问 461
12.3.1 Oracle数据库中的权限 461
12.3.2 角色 466
12.3.3 使用视图和存储过程来管理权限 469
12.3.4 管理用户、角色和权限的DBA视图 469
12.3.5 细粒度数据访问 470
12.4 审计数据库使用 477
12.4.1 标准审计 477
12.4.2 细粒度审计 483
12.5 认证用户 485
12.5.1 数据库认证 486
12.5.2 外部认证 489
12.5.3 代理认证 490
12.5.4 集中式用户认证 490
12.6 企业用户安全 491
12.6.1 共享模式 491
12.6.2 单次注册 491
12.6.3 数据加密 491
12.6.4 表空间加密 495
12.6.5 Oracle Internet Directory 497
12.7 数据安全须知 497
12.7.1 自动保护配置 497
12.7.2 用户账号 498
12.7.3 密码 498
12.7.4 操作系统认证 498
12.7.5 数据库审计 498
12.7.6 授予权限 499
12.7.7 涉及多个DBA的环境 499
12.7.8 保护数据字典 499
12.7.9 设置权限 499
12.7.10 网络和监听程序 500
12.7.11 细粒度网络访问控制 501
12.7.12 Oracle的高级安全选项 503
12.7.13 应用安全 503
12.7.14 管理用户的有用技术 504
第五部分 数据装载、备份和恢复
第13章 装载和转换数据 508
13.1 提取、转换和装载概览 508
13.2 使用SQL*Loader实用程序 509
13.2.1 SQL*Loader控制文件 510
13.2.2 在装载中生成数据 517
13.2.3 调用SQL*Loader 517
13.2.4 装载日志文件 518
13.2.5 使用返回代码 519
13.2.6 使用直接装载方法 520
13.2.7 实用的SQL*Loader数据装载技术 522
13.3 使用外部表装载数据 524
13.3.1 创建外部表层 525
13.3.2 填充外部表 528
13.3.3 使用外部表 530
13.3.4 使用SQL*Loader生成外部表创建语句 531
13.4 转换数据 533
13.4.1 从现有表中派生数据 534
13.4.2 使用SQL转换数据 534
13.4.3 使用SQL MODEL子句 542
13.5 使用Oracle流复制和共享信息 545
13.5.1 研究流体系结构 545
13.5.2 设置Oracle流 546
第14章 使用数据泵导出和导入 549
14.1 数据泵技术的介绍 549
14.1.1 数据泵技术的优点 550
14.1.2 数据泵导出和导入的用途 551
14.1.3 数据泵的组成部分 551
14.1.4 数据访问方法 552
14.1.5 数据泵文件 552
14.1.6 数据泵权限 556
14.1.7 数据泵作业的结构 556
14.2 执行数据泵导出和导入 557
14.2.1 数据泵导出方法 557
14.2.2 数据泵导出的方式 558
14.2.3 数据泵导出参数 559
14.2.4 数据泵导出的例子 571
14.2.5 数据泵导入的类型和方式 572
14.2.6 数据泵导入参数 572
14.3 监控数据泵作业 578
14.3.1 浏览数据泵作业 579
14.3.2 浏览数据泵会话 579
14.3.3 浏览数据泵作业的进度 579
14.4 使用数据泵API 580
14.5 可移植表空间 581
14.5.1 可移植表空间的使用 581
14.5.2 移植表空间 581
14.5.3 在不同Endian格式的平台之间移植表空间 584
第15章 备份数据库 587
15.1 备份Oracle数据库 587
15.1.1 重要的备份术语 588
15.1.2 备份准则 590
15.1.3 测试备份 591
15.1.4 维护冗余集 591
15.1.5 备份策略 591
15.2 闪回恢复区 594
15.2.1 闪回恢复区的好处 595
15.2.2 设置闪回恢复区的大小 596
15.2.3 创建闪回恢复区的方法 596
15.2.4 备份闪回恢复区 599
15.2.5 使用闪回恢复区 599
15.3 恢复管理器 600
15.3.1 RMAN的好处 601
15.3.2 RMAN体系结构 602
15.3.3 连接到RMAN 603
15.3.4 RMAN脚本 605
15.3.5 重要的RMAN术语 609
15.3.6 指定备份标记和备份格式 610
15.3.7 做RMAN备份的副本 610
15.3.8 RMAN备份位置 611
15.3.9 RMAN命令 612
15.3.10 RMAN配置参数 617
15.3.11 使用恢复目录 621
15.3.12 维护恢复目录 623
15.3.13 虚拟专用目录 626
15.3.14 RMAN备份的例子 627
15.3.15 重新启动RMAN备份 630
15.3.16 限制备份时间 630
15.3.17 增量更新备份 630
15.3.18 快速增量备份 631
15.3.19 RMAN压缩备份 632
15.3.20 归档备份 632
15.3.21 监控和验证RMAN作业 634
15.4 备份控制文件 636
15.5 Oracle Secure Backup 637
15.5.1 Oracle Secure Backup的好处 637
15.5.2 Oracle Secure Backup管理域 637
15.5.3 安装Oracle Secure Backup 638
15.5.4 使用Oracle Backup Web Interface工具 639
15.5.5 配置Oracle Secure Backup 639
15.5.6 用Oracle Secure Backup执行备份 640
15.6 用户管理的备份 640
15.6.1 进行完全的数据库备份 641
15.6.2 制作部分数据库备份 644
15.6.3 监控用户管理的联机备份 645
15.7 数据库讹误检测 645
15.7.1 检测介质讹误 645
15.7.2 检测数据块讹误 645
15.8 加强数据保护以便进行灾难恢复 647
15.8.1 高可用性系统 647
15.8.2 Oracle Data Guard和备用数据库 648
第16章 数据库恢复 650
16.1 数据库故障类型 650
16.1.1 系统故障 650
16.1.2 数据中心的灾难 651
16.1.3 人为错误 651
16.1.4 介质故障 651
16.1.5 故障和数据修复 651
16.2 Oracle的恢复过程 652
16.2.1 崩溃和实例恢复 653
16.2.2 快速实例启动 654
16.2.3 介质恢复 654
16.2.4 介质恢复与非介质恢复 656
16.3 用RMAN执行恢复 657
16.3.1 使用RMAN恢复的好处 657
16.3.2 使用VALIDATE BACKUP命令验证RMAN备份 658
16.3.3 使用RESTORE...VALIDATE命令 658
16.3.4 使用RESTORE...PREVIEW命令 658
16.3.5 确定恢复必需的文件 659
16.3.6 RMAN恢复过程 659
16.3.7 用增量更新备份进行恢复 659
16.3.8 监控RMAN作业 660
16.3.9 用户管理的恢复过程 660
16.4 典型的介质恢复方案 661
16.4.1 整个数据库的完全恢复 661
16.4.2 恢复表空间 663
16.4.3 恢复数据文件 664
16.4.4 不完全恢复 666
16.4.5 从控制文件丢失中恢复 670
16.4.6 恢复没有备份的数据文件 673
16.5 数据恢复顾问 674
16.6 克隆数据库 678
16.6.1 使用RMAN克隆数据库 678
16.6.2 使用Database Control克隆数据库 681
16.6.3 手动克隆数据库 682
16.7 粒度恢复技术 683
16.7.1 表空间时间点恢复 683
16.7.2 使用LogMiner进行精确恢复 684
16.8 闪回技术和恢复 689
16.8.1 闪回级别 689
16.8.2 闪回与传统恢复技术 690
16.8.3 闪回删除 690
16.8.4 闪回数据库 694
16.9 使用复原点 700
16.9.1 有保证的复原点 701
16.9.2 查看复原点 702
16.10 修理数据讹误并试验恢复 702
16.10.1 块介质恢复 703
16.10.2 试验恢复 704
16.11 排除恢复错误 704
16.11.1 ORA-01194错误 704
16.11.2 ORA-01152错误 705
16.11.3 ORA-00376错误 706
16.11.4 事务取消特性 706
16.12 闪回数据存档 708
16.12.1 管理闪回数据存档 708
16.12.2 启用闪回数据存档 709
16.12.3 使用闪回数据存档:例子 710
第六部分 管理Oracle数据库
第17章 自动管理和联机功能 714
17.1 自动数据库诊断监控器(ADDM) 714
17.1.1 ADDM的用途 715
17.1.2 ADDM可以诊断的问题 715
17.1.3 ADDM判定 716
17.1.4 ADDM建议 717
17.1.5 管理ADDM 718
17.2 自动内存管理 728
17.2.1 内存管理的类型 729
17.2.2 开启自动内存管理 729
17.2.3 调优自动内存管理 731
17.2.4 自动内存参数的相关性 731
17.3 自动优化程序的统计数据收集 732
17.3.1 自动收集优化程序的统计数据 732
17.3.2 手动收集优化程序的统计数据 734
17.4 自动存储管理 734
17.4.1 ASM的优点 734
17.4.2 考察ASM架构 735
17.4.3 安装ASM 736
17.4.4 ASM和集群同步服务 736
17.4.5 创建ASM实例 737
17.4.6 ASM的快速镜像再同步特性 741
17.4.7 ASM首选的镜像读 742
17.4.8 改变ASM磁盘组属性 742
17.4.9 asmcmd命令行工具 743
17.4.10 管理ASM磁盘组 745
17.4.11 利用磁盘组增加性能和冗余 746
17.4.12 创建磁盘组 747
17.4.13 向磁盘组添加磁盘 747
17.4.14 删除磁盘和磁盘组 748
17.4.15 重新平衡磁盘组 748
17.4.16 管理ASM文件 748
17.4.17 ASM文件名的类型 749
17.4.18 使用ASM文件名 750
17.4.19 ASM文件模板 750
17.4.20 创建基于ASM的数据库 750
17.4.21 将数据库迁移到ASM 751
17.5 自动空间管理 752
17.5.1 自动撤销管理 753
17.5.2 使用OMF轻松管理文件 753
17.5.3 联机段收缩和段顾问 758
17.5.4 手动段收缩 759
17.5.5 使用Segment Advisor收缩段 759
17.5.6 自动Segment Advisor作业 761
17.5.7 自动检查点调优 761
17.6 Oracle Database 11g的联机功能 762
17.6.1 联机数据重组 762
17.6.2 联机数据重定义 764
17.6.3 动态资源管理 769
17.6.4 联机更改数据库块尺寸 770
17.6.5 为联机维护使用数据库停顿 772
17.6.6 挂起数据库 772
第18章 管理和监控运行中的数据库 773
18.1 Oracle性能统计的类型 773
18.1.1 累计统计 774
18.1.2 样本数据 774
18.1.3 基线数据 774
18.1.4 数据库度量 775
18.2 服务器产生的预警 777
18.3 基线度量和自适应阈值 779
18.3.1 管理预警 779
18.3.2 主动的表空间预警 781
18.3.3 使用预警日志和跟踪文件进行监控 782
18.3.4 与度量和预警有关的数据字典视图 782
18.4 AWR 783
18.4.1 AWR收集的数据的类型 784
18.4.2 AWR数据处理 784
18.4.3 管理AWR 784
18.4.4 移动窗基线 788
18.4.5 AWR基线模板 788
18.5 ASH 793
18.5.1 当前活动会话数据 794
18.5.2 旧的活动会话历史数据 794
18.5.3 生成ASH报告 795
18.6 管理顾问框架 797
18.6.1 管理顾问程序 798
18.6.2 顾问框架的管理 799
18.7 使用撤销和MTTR顾问程序 801
18.7.1 使用撤销顾问程序 801
18.7.2 使用MTTR顾问程序 802
18.8 管理联机重做日志 802
18.8.1 硬件镜像与Oracle的多路复用技术 803
18.8.2 联机重做日志组 803
18.8.3 创建联机重做日志组 803
18.8.4 增加重做日志组 803
18.8.5 重命名重做日志文件 804
18.8.6 删除联机重做日志 804
18.8.7 联机重做日志讹误 804
18.8.8 监控重做日志 805
18.9 管理数据库链接 805
18.9.1 创建私有数据库链接 805
18.9.2 创建公共数据库链接 806
18.9.3 使用Database Control创建数据库链接 807
18.10 比较和会聚数据库对象 807
18.10.1 比较数据 807
18.10.2 会聚数据 809
18.11 用数据库服务器复制文件 810
18.11.1 文件复制的要求 810
18.11.2 复制本地系统中的文件 811
18.11.3 将文件传送到不同的数据库 811
18.12 映射Oracle文件到物理设备 812
18.12.1 文件映射的结构 812
18.12.2 设置文件映射 813
18.13 使用Oracle的调度程序 813
18.13.1 基本的Scheduler部件 813
18.13.2 调度程序作业的类型 814
18.13.3 Scheduler的高级部件 815
18.13.4 Scheduler的体系结构 815
18.13.5 Scheduler的权限 816
18.13.6 管理Scheduler的基本组件 816
18.13.7 管理轻型作业 818
18.13.8 管理外部作业 820
18.13.9 管理Scheduler的高级部件 828
18.13.10 管理Scheduler属性 833
18.13.11 清除作业日志 834
18.13.12 默认的Scheduler作业 834
18.14 自动维护任务 835
18.14.1 预定义维护窗口 835
18.14.2 管理自动维护任务 835
18.14.3 监控自动维护任务 835
18.15 故障诊断 837
18.15.1 自动诊断信息库 838
18.15.2 ADRCI 839
18.15.3 意外事件打包服务 840
18.15.4 Support Workbench 842
18.15.5 Health Monitor 845
18.15.6 用SQL Repair Advisor修复SQL语句 848
18.15.7 SQL Test Case Builder 850
第七部分 性能调优
第19章 改进数据库性能:SQL查询优化 852
19.1 Oracle性能调优的方法 852
19.1.1 性能调优的系统性方法 853
19.1.2 被动的性能调优 853
19.2 优化Oracle查询处理 853
19.2.1 语法分析 854
19.2.2 优化 854
19.2.3 查询的执行 856
19.3 查询优化和Oracle CBO 857
19.3.1 选择优化方式 857
19.3.2 为优化程序提供统计数据 857
19.3.3 设置优化程序方式 859
19.3.4 设置优化程序级别 860
19.3.5 优化程序做些什么 860
19.3.6 CBO的缺点 862
19.3.7 为CBO提供统计数据 862
19.3.8 延迟统计数据公布 865
19.3.9 扩展统计数据 866
19.3.10 Oracle 优化程序的成本模型 868
19.3.11 收集系统统计数据 868
19.3.12 对字典对象收集统计数据 870
19.3.13 统计数据收集的频率 871
19.3.14 没有统计数据时会发生什么事情 871
19.3.15 使用OEM收集优化程序统计数据 871
19.4 编写高效的SQL 872
19.4.1 高效的WHERE子句 872
19.4.2 使用提示影响执行计划 874
19.4.3 选择最佳的联结方法 875
19.4.4 使用位图联结索引 875
19.4.5 选择最佳的联结次序 876
19.4.6 索引策略 877
19.4.7 监控索引的使用 879
19.4.8 删除不需要的索引 880
19.4.9 使用相似的SQL语句 880
19.4.10 通过内嵌函数减少SQL开销 880
19.4.11 使用绑定变量 881
19.4.12 避免不恰当地使用视图 881
19.4.13 避免不必要的全表扫描 881
19.5 DBA如何帮助改进SQL处理 881
19.5.1 使用分区表 882
19.5.2 使用压缩技术 882
19.5.3 使用实体化视图 882
19.5.4 使用存储大纲保证CBO的稳定性 883
19.6 SQL计划管理 885
19.6.1 SQL计划基线 886
19.6.2 捕捉SQL计划基线 886
19.6.3 SQL管理库 889
19.6.4 使用并行执行 890
19.6.5 其他DBA任务 890
19.7 自适应游标共享 891
19.7.1 自适应游标共享如何工作 892
19.7.2 监控自适应游标共享 893
19.8 SQL性能调优工具 894
19.8.1 使用EXPLAIN PLAN 894
19.8.2 使用Autotrace 898
19.8.3 使用SQL Trace和TKPROF 902
19.9 端到端跟踪 907
19.9.1 使用DBMS_MONITOR程序包 908
19.9.2 使用V$SQL视图查找低效的SQL 910
19.10 SQL Tuning Advisor 912
19.10.1 使用SQL Tuning Advisor 912
19.10.2 SQL Tuning Advisor如何工作 912
19.10.3 SQL Tuning Advisor实践 914
19.10.4 Automatic SQL Tuning Advisor 916
19.10.5 解释自动SQL调优报告 919
19.10.6 使用其他的GUI工具 919
19.11 使用结果高速缓存 920
19.11.1 管理结果高速缓存 920
19.11.2 设置RESULT_CACHE_MODE参数 920
19.11.3 管理结果高速缓存 922
19.11.4 PL/SQL函数结果高速缓存 923
19.11.5 客户机查询结果高速缓存 924
19.12 调优SQL语句的简单方法 925
19.12.1 识别问题语句 925
19.12.2 定位低效资源 925
19.12.3 调优SQL语句 926
19.12.4 比较性能 926
第20章 Oracle性能调优:调优实例 927
20.1 实例调优简介 927
20.2 自动性能调优与动态性能视图 929
20.3 Oracle内存调优 929
20.3.1 共享池调优 930
20.3.2 硬分析和软分析 932
20.3.3 调优缓冲区高速缓存 939
20.3.4 调优大池、流池和Java池 943
20.3.5 调优PGA内存 943
20.4 评估系统性能 947
20.4.1 CPU性能 947
20.4.2 内存 951
20.4.3 磁盘I/O 951
20.5 度量I/O性能 952
20.5.1 I/O是否最佳分布 952
20.5.2 减少磁盘争用 953
20.5.3 最佳磁盘使用的Oracle SAME准则 953
20.5.4 网络性能 954
20.6 度量实例性能 954
20.6.1 数据库命中率 954
20.6.2 数据库等待统计数据 955
20.6.3 等待事件和等待类 956
20.6.4 分析实例性能 956
20.6.5 检查系统性能 971
20.6.6 了解应用程序 972
20.6.7 使用ADDM分析性能问题 973
20.6.8 对各SQL语句使用AWR报告 974
20.6.9 操作系统内存管理 975
20.6.10 用ASH报告分析最近的会话活动 975
20.6.11 当数据库挂起时 976
20.6.12 处理被卡住的归档进程 976
20.6.13 系统使用问题 977
20.6.14 资源的过多争用 977
20.6.15 锁问题 978
20.6.16 进程尺寸的异常增加 978
20.6.17 由于共享池问题导致的延迟 980
20.6.18 由坏统计数据导致的问题 980
20.6.19 在数据库挂起期间收集信息 980
20.6.20 使用Database Control的Hang Analysis页 980
20.7 实例调优的一种简单方法 982
20.7.1 数据库怎么了 983
20.7.2 使用OEM Database Control查看数据库性能 983
20.7.3 存在运行时间很长的事务吗 989
20.7.4 Oracle有问题吗 989
20.7.5 网络正常吗 989
20.7.6 系统是否受到CPU限制 990
20.7.7 系统受到I/O限制吗 990
20.7.8 数据库负荷太高 991
20.7.9 检查与内存有关的问题 991
20.7.10 重做日志的尺寸设置正确吗 991
20.7.11 系统受到等待的限制吗 992
20.7.12 Compare Periods报告 992
20.7.13 排除争用 994
20.8 真应用测试 995
20.8.1 数据库重演 995
20.8.2 SQL性能分析器 1001
附录A Oracle Database 11g SQL和PL/SQL入门知识 1005
· · · · · · (收起)

读后感

评分

这样的定价和体积,如果看成一本教材,无疑会让读者鸭梨巨大,若作为参考手册随手翻阅,官方文档的存在又让此书的定位稍显尴尬 书的内容足够全,甚至覆盖到了unix和存储方面的内容,但总让人感觉缺了点什么,犹如用广角镜头创作出来的中庸作品,画面里什么都有,但过目即忘,...

评分

这样的定价和体积,如果看成一本教材,无疑会让读者鸭梨巨大,若作为参考手册随手翻阅,官方文档的存在又让此书的定位稍显尴尬 书的内容足够全,甚至覆盖到了unix和存储方面的内容,但总让人感觉缺了点什么,犹如用广角镜头创作出来的中庸作品,画面里什么都有,但过目即忘,...

评分

这样的定价和体积,如果看成一本教材,无疑会让读者鸭梨巨大,若作为参考手册随手翻阅,官方文档的存在又让此书的定位稍显尴尬 书的内容足够全,甚至覆盖到了unix和存储方面的内容,但总让人感觉缺了点什么,犹如用广角镜头创作出来的中庸作品,画面里什么都有,但过目即忘,...

评分

这样的定价和体积,如果看成一本教材,无疑会让读者鸭梨巨大,若作为参考手册随手翻阅,官方文档的存在又让此书的定位稍显尴尬 书的内容足够全,甚至覆盖到了unix和存储方面的内容,但总让人感觉缺了点什么,犹如用广角镜头创作出来的中庸作品,画面里什么都有,但过目即忘,...

评分

这样的定价和体积,如果看成一本教材,无疑会让读者鸭梨巨大,若作为参考手册随手翻阅,官方文档的存在又让此书的定位稍显尴尬 书的内容足够全,甚至覆盖到了unix和存储方面的内容,但总让人感觉缺了点什么,犹如用广角镜头创作出来的中庸作品,画面里什么都有,但过目即忘,...

用户评价

评分

当我翻开《Oracle Database 11g数据库管理艺术》时,我并没有期待它能给我带来多少“新”的技术,更多的是希望能够深化我对现有知识的理解。然而,这本书却远远超出了我的预期。作者以一种近乎“哲学”的视角,探讨了数据库管理的精髓。我最欣赏的是它对“性能瓶颈分析”的独到见解。它不像其他书籍那样简单地告诉你“检查CPU”、“检查内存”,而是引导你去思考“瓶颈究竟出在哪里?”,并提供了一套系统的分析方法。例如,书中关于“等待事件”的讲解,让我明白了每一个等待事件背后都可能隐藏着不同的问题,而通过对这些等待事件的深入分析,就能找到问题的根源。我曾经在一个项目中,遭遇了数据库响应缓慢的问题,当时感到非常迷茫。如果我能够掌握书中关于等待事件分析的技巧,或许就能更快速地定位到问题,并采取有效的措施。书中对“SQL优化”的讲解,也让我受益匪浅。它不仅仅是介绍各种优化技巧,更是引导你去理解SQL语句的执行计划,并从中找出可以改进的地方。这让我不再是盲目地去修改SQL,而是能够有针对性地进行优化。我曾经为了提高一个报表查询的速度,花费了大量的时间和精力。如果我当时能够掌握书中提到的SQL优化方法,或许就能事半功倍。此外,书中关于“数据安全与合规性”的讲解,也让我印象深刻。它不仅仅是强调权限控制,更是深入探讨了数据审计、加密等重要方面,并指出了如何满足各种合规性要求。总而言之,这本书让我看到,数据库管理不仅仅是技术,更是一种对系统稳定、安全、高效的追求,它让我对Oracle数据库的管理有了更深刻的理解和更高的追求。

评分

这本书给我最大的感受,就是“深度”和“广度”的完美结合。作者在讲解每一个技术点时,都能够深入到其本质,同时又能够将其置于整个Oracle数据库的生态系统中进行审视。我特别欣赏书中关于“高可用性架构”的讲解。它不仅仅是介绍了RAC和Data Guard,更是深入分析了它们背后的原理,例如RAC中的集群一致性、锁机制,以及Data Guard中的同步和异步复制。这让我不再是简单地去配置这些产品,而是能够理解它们是如何工作的,以及在不同场景下如何选择最合适的方案。书中对“数据库监控与故障排除”的讲解,也让我受益匪浅。它不仅仅是列出了各种监控工具和视图,更是指导我如何通过对这些信息的分析,来快速定位和解决问题。例如,作者在讲解如何分析AWR(Automatic Workload Repository)报告时,就如同为我打开了一扇通往数据库性能诊断的窗口,让我能够更有效地发现瓶颈所在。我曾经在一个项目中,面临着数据库频繁宕机的困扰。如果当时我能够熟练掌握书中关于故障排除的技巧,或许就能避免很多不必要的损失。此外,书中对于“数据泵(Data Pump)”的讲解,也让我印象深刻。它不仅仅是介绍了impdp和expdp命令,更深入地探讨了其在数据迁移、备份和克隆方面的应用,以及如何通过参数的调整来优化导入导出性能。总而言之,这本书让我看到了数据库管理背后隐藏的“艺术”和“智慧”,它不仅仅是技术的堆砌,更是对系统稳定、高效、安全的全面掌控。

评分

这本书的价值,在我看来,远超出了我对一本技术书籍的期待。它不像是那种为了完成KPI而批量生产的“教程”,更像是一位经验丰富的老者,在炉火旁,将他毕生所学毫无保留地倾囊相授。最让我印象深刻的是,作者在讲解每一个概念时,都非常注重逻辑的连贯性和知识的递进性。例如,在讲解存储结构时,他并非一上来就抛出各种表空间、段、区、块的术语,而是先从物理存储单元开始,逐步构建起逻辑存储的层级关系,直到最终构成我们熟悉的表空间。这种循序渐进的方式,极大地降低了学习的门槛,也让我在理解这些抽象概念时,能够形成清晰的脉络。我特别欣赏书中对于“调优”这一话题的深入挖掘。它不仅仅是简单的参数调整,更是对Oracle数据库内部运行原理的深刻洞察。作者通过大量图示和详细的比喻,将那些复杂的后台进程、内存结构、I/O机制解释得浅显易懂。我曾经在一次数据库迁移项目中,遇到了性能瓶颈,当时感到非常迷茫。现在回想起来,如果当时我能够更好地理解书中关于SGA(System Global Area)和PGA(Program Global Area)的分配与使用,以及多进程架构的协同工作方式,或许就能更快速地定位问题,并采取有效的措施。书中还分享了许多作者在实际工作中遇到的经典案例,这些案例分析不仅提供了解决问题的思路,更重要的是,它教会了我如何去思考,如何去分析问题的本质,而不是停留在表面。这本书真正让我体会到了“管理”二字的精髓,不仅仅是维护,更是对数据库生命周期的全方位掌控。

评分

《Oracle Database 11g数据库管理艺术》这本书,给我最大的感受是它充满了“智慧”和“经验”。作者并没有生硬地灌输概念,而是通过生动的故事和深入的分析,将复杂的数据库技术娓娓道来。我尤其喜欢书中对“SQL性能调优”的讲解。它不仅仅是介绍各种优化技巧,更是引导你去理解SQL语句的执行计划,并从中找出可以改进的地方。这让我不再是盲目地去修改SQL,而是能够有针对性地进行优化。我曾经为了提高一个报表查询的速度,花费了大量的时间和精力。如果我当时能够掌握书中提到的SQL优化方法,或许就能事半功倍。书中对“数据库安全”的讲解,也让我印象深刻。它不仅仅是强调权限控制,更是深入探讨了数据审计、加密等重要方面,并指出了如何满足各种合规性要求。这让我意识到,数据库安全是一个系统工程,需要从设计、开发到运维的各个环节都加以重视。我曾经在一次安全审计中,发现了一些潜在的安全隐患。如果我能够提前阅读这本书,或许就能更好地规避这些风险。此外,书中对“数据库性能监控与故障排除”的讲解,也让我受益匪浅。它不仅仅是列出了各种监控工具和视图,更是指导我如何通过对这些信息的分析,来快速定位和解决问题。这让我不再对性能问题感到束手无策。总而言之,这本书让我看到,数据库管理不仅仅是技术,更是一种对系统稳定、安全、高效的极致追求。

评分

这本书的价值,在我看来,体现在它能够帮助我建立一种“全局观”的数据库管理思维。作者并非孤立地讲解某个技术点,而是将其置于整个Oracle数据库的体系结构中进行阐释。我最欣赏的是书中对“数据库架构与设计”的讲解。它不仅仅是介绍了各种组件的功能,更是深入分析了它们之间的相互关系,以及如何根据业务需求来设计最优的数据库架构。这让我不再是简单地去配置数据库,而是能够从更高的层面去思考如何构建一个稳定、高效、可扩展的数据库系统。书中对“数据备份与恢复策略”的讲解,也让我受益匪浅。它不仅仅是介绍了RMAN的使用,更是深入探讨了不同故障场景下的恢复策略,以及如何进行灾难恢复演练。这让我意识到,数据安全和可用性是数据库管理的生命线。我曾经在一个项目中,需要制定一套完整的备份恢复计划。如果我能够熟练掌握书中关于备份恢复策略的技巧,或许就能更从容地应对各种挑战。此外,书中对“数据库生命周期管理”的讲解,也让我印象深刻。它不仅仅是涵盖了从数据库的安装、配置、日常运维,到最终的退役等各个阶段,更是强调了在整个生命周期中,如何持续地进行性能优化、安全加固和容量规划。这让我意识到,数据库管理是一个持续改进的过程。总而言之,这本书让我看到了数据库管理背后隐藏的“艺术”和“智慧”,它不仅仅是技术的堆砌,更是对系统稳定、安全、高效的全面掌控。

评分

这本书给我最大的启发,在于它让我重新审视了“数据库管理”的内涵。它不仅仅是对技术的掌握,更是对系统运行规律的深刻理解和对潜在风险的预见。我尤其喜欢书中对“并发控制与死锁检测”的讲解。它不仅仅是介绍了锁的类型和管理,更是深入分析了死锁产生的原理,以及如何通过各种手段来避免和解决死锁。这让我不再对死锁感到恐惧,而是能够从容地应对。书中对“数据库故障恢复与灾难恢复”的讲解,也让我受益匪浅。它不仅仅是介绍了RMAN的使用,更是深入探讨了不同故障场景下的恢复策略,以及如何进行灾难恢复演练。这让我意识到,数据安全和可用性是数据库管理的生命线。我曾经在一个项目中,遭遇了数据库数据丢失的风险。如果我能够熟练掌握书中关于故障恢复的技巧,或许就能避免很多不必要的损失。此外,书中对“数据库容量规划与扩展性”的讲解,也让我印象深刻。它不仅仅是教你如何监控当前的资源使用情况,更是引导你如何预测未来的增长趋势,并提前做好容量规划。这对于任何一个需要长期运维数据库的DBA来说,都是极其宝贵的经验。总而言之,这本书让我看到了数据库管理背后隐藏的“艺术”和“智慧”,它不仅仅是技术的堆砌,更是对系统稳定、安全、高效的全面掌控。

评分

在我长期的数据库管理生涯中,遇到过不少讲解Oracle的书籍,但《Oracle Database 11g数据库管理艺术》无疑是最令我耳目一新的一本。它没有冗长的理论堆砌,也没有枯燥的命令罗列,而是将枯燥的技术概念,通过作者生动、形象的笔触,描绘成了一幅幅鲜活的图景。我尤其喜欢书中关于“事务管理”和“并发控制”的章节。以前我对这些概念只是一知半解,认为只要做好锁定就行了。但这本书深入浅出地剖析了MVCC(Multi-Version Concurrency Control)的原理,解释了回滚段(rollback segment)和撤销表空间(undo tablespace)在保证数据一致性方面的关键作用,以及不同隔离级别对并发性能的影响。这让我对Oracle如何在多个用户同时访问数据时,保证数据不混乱有了全新的认识。书中的案例也十分贴合实际,比如针对高并发场景下的锁竞争问题,作者提出的解决方案,不仅有理论依据,还有具体的实践指导。我曾经在处理一个电商平台的秒杀活动时,遇到了严重的锁等待问题,导致系统响应缓慢。如果我当时能有这本书作为参考,或许就能提前预见到风险,并采取更优化的策略。此外,书中对于数据恢复和备份策略的讲解,也让我受益匪浅。它不仅仅是列出RMAN(Recovery Manager)的命令,更是深入分析了不同备份类型(完全备份、增量备份、归档日志备份)的适用场景,以及如何根据业务需求制定合理的备份恢复计划。这让我意识到,数据安全不仅仅是备份,更是一套系统性的风险管理体系。总的来说,这本书不仅仅是一本技术指南,更是一位资深DBA的经验总结和智慧结晶,它让我对Oracle数据库的管理有了更深刻的理解和更高的追求。

评分

第一次翻开《Oracle Database 11g数据库管理艺术》,就被其宏大的叙事和深刻的洞察所吸引。作者并非将自己定位为“技术教官”,而是像一位循循善诱的导师,引领读者走进Oracle数据库的内心世界。我尤其喜欢书中对“数据库性能调优”的系统性阐述。它不像其他书籍那样零散地讲解各种优化技巧,而是从数据库的整体架构入手,深入分析了CPU、内存、I/O等资源的使用情况,以及它们如何相互影响。例如,在讲解“I/O性能优化”时,作者详细分析了磁盘子系统的瓶颈,以及如何通过调整Oracle的I/O参数、选择合适的存储设备来提升性能。这比简单地告诉我“多加几块硬盘”要有价值得多。书中关于“SQL调优”的部分,更是让我醍醐灌顶。作者不仅讲解了SQL解析、优化、执行的过程,还深入剖析了各种优化器行为,以及如何通过 Hints 来引导优化器做出更优的选择。我曾经为了解决一个复杂查询的性能问题,花费了大量的时间和精力。如果我当时能够掌握书中提到的那些“调优艺术”,或许就能事半功倍。此外,书中对“数据归档和恢复”的讲解,也让我印象深刻。它不仅仅是介绍了RMAN的使用,更深入地探讨了不同故障场景下的恢复策略,以及如何进行灾难恢复演练。这让我意识到,数据安全和可用性是数据库管理的生命线。总而言之,这本书不仅仅是一本技术书籍,它更是一种思维方式的启迪,一种对数据库管理艺术的深刻诠释,让我对Oracle数据库的管理有了全新的认识和更高的追求。

评分

这本书真是让我大开眼界,尤其是在对Oracle数据库的理解深度上,简直是一个飞跃。我一直觉得数据库管理只是机械的命令堆砌,但读完这本书,我才意识到背后蕴含着如此精妙的艺术。作者并非简单地罗列操作步骤,而是深入剖析了Oracle 11g的内在机制,就像一位技艺精湛的匠人,娓娓道来他如何打磨出坚固而优雅的数据库。例如,在谈到性能优化时,他不仅仅是教你如何调参,而是先让你理解SQL语句是如何被解析、优化、执行的,数据是如何在内存和磁盘之间流转的,缓存机制又是如何工作的。这种追根溯源的讲解方式,让我不再是知其然,更知其所以然。我曾经为了解决一个慢查询而焦头烂额,尝试了各种网上的技巧,效果甚微。现在回想起来,如果当时有这本书,我或许能从根本上找到问题的症结,而不是头痛医头脚痛医脚。书中的案例分析也非常到位,每一个场景都贴近实际工作中的痛点,提出的解决方案不仅有效,而且极具启发性,让我学会了如何举一反三,触类旁通。特别是关于RAC(Real Application Clusters)部分,以前我总觉得它是一个遥不可及的高级技术,但通过作者的详细讲解,我发现它的核心思想也并非难以理解,关键在于理解各个节点之间的协调与通信机制。虽然我目前还没有机会直接接触RAC环境,但这本书让我对未来的学习方向有了更清晰的规划,不再感到畏惧。总而言之,这是一本能够真正提升你的数据库管理功力,让你从一名普通的“数据库操作员”蜕变为一名“数据库艺术家”的佳作。它不仅仅是一本技术手册,更是一本智慧的启迪之书,值得每一位Oracle数据库从业者反复研读,细细品味。

评分

不得不说,这本书的独特之处在于它将“艺术”一词恰如其分地融入了数据库管理这个看似冰冷的领域。作者的笔触,不像很多技术书籍那样直白,而是充满了人文关怀和对细节的打磨。我印象最深的是关于“索引优化”的部分。在很多书中,可能只会告诉你创建B-tree索引、位图索引,然后告诉你如何使用`EXPLAIN PLAN`。但这本书则会引导你去思考:为什么一个查询需要索引?不同类型的索引在什么场景下最优?如何避免索引失效?它甚至会讨论到索引的维护成本,以及何时应该考虑删除不必要的索引。这种“权衡”和“取舍”的思维方式,正是艺术的体现。我曾经在维护一个报表系统时,发现某个关键查询非常缓慢,尝试了各种方法,最后才发现是因为索引使用不当,导致全表扫描。如果我早些读到这本书,或许就能从一开始就避免这个问题。书中对于“数据库安全”的讲解,也并非停留在权限控制的层面,而是深入探讨了潜在的安全风险,例如SQL注入、数据泄露的可能途径,以及如何通过多层次的安全防护措施来降低风险。这让我意识到,数据库安全是一个系统工程,需要从设计、开发到运维的各个环节都加以重视。我还特别欣赏书中关于“数据库升级与迁移”的章节。它没有简单地罗列步骤,而是详细分析了升级过程中可能遇到的各种挑战,例如兼容性问题、数据迁移的风险,以及如何制定详细的回滚计划。这对于任何一个面临升级或迁移项目的DBA来说,都是极其宝贵的经验。这本书让我看到,数据库管理不仅仅是技术,更是一种对系统稳定、安全、高效的极致追求。

评分

手册类书籍,翻译得还不错

评分

手册类书籍,翻译得还不错

评分

手册类书籍,翻译得还不错

评分

自己不太需要。了解一下

评分

经典

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有