具体描述
本书深入浅出地介绍了Oracle
作者简介
目录信息
贺辞
序
译者序
前言
引言
第一部分 Oracle介绍
第1章 Oracle8简介
1.1信息管理
1.1.1数据库
1.1.2数据库管理系统
1.1.3创建于Oracle7基础上的Oracle8
1.2Oracle8与高端数据库环境
1.2.1分区表与索引
1.2.2海量用户的管理
1.2.3高级队列
1.2.4并行处理能力的增强
1.3Oracle8与Oracle的网络计算结构(NCA)
1.3.1Oracle8――对象关系型数据库管理系统
1.3.2Sedona――Oracle新的应用开发环境
1.4Oracle8数据库管理与安全性
1.4.1备份与恢复
1.4.2口令管理
1.5Oracle8与分布式数据库
1.5.1复制性能的增强
1.5.2分布式安全域
1.5.3异类数据存取
1.6展望
第二部分 Oracle8基础
第2章 基本的关系型数据库结构
2.1模式――有组织的数据库对象
2.1.1模式――一个完全的逻辑学概念
2.1.2模式与数据库用户帐号的相互关系
2.1.3数据字典――一个唯一的模式
2.2数据库表
2.2.1列与数据类型
2.2.2数据完整性与完整性限制
2.3视图――查看表中数据的另一种不同方法
2.3.1只读视图
2.3.2可更新视图
2.3.3其他类型的视图
2.4索引――改进表存取的性能
2.4.1B树索引
2.4.2位图索引
2.4.3索引表
2.4.4其他索引选项
2.5数据簇――存储表数据的独特方法
2.5.1索引数据簇
2.5.2哈希簇
2.6序列――有效地生成唯一值
2.7同义词――同一对象的不同名字
2.8模式应用示例
第3章 使用SQL与事务
3.1SQL――与Oracle8交互
3.1.1查询
3.1.2DML语句
3.1.3DDL语句
3.1.4DCL语句
3.1.5应用的可移植性与ANSI/ISOSQL标准
3.2优化――可执行的SQL语句
3.2.1优化统计
3.2.2优化选项
3.2.3提示与优化控制
3.3事务――完成工作
3.3.1所有工作或什么也不做
3.3.2事务类型
3.3.3设计事务
第4章 对服务器编程
4.1PL/SQL――增加SQL过程流能力
4.1.1程序块
4.1.2程序注释
4.1.3程序声明
4.1.4程序功能
4.1.5程序例外处理
4.2PL/SQL程序类型
4.2.1匿名PL/SQL块
4.2.2存储过程和函数
4.2.3包
4.2.4数据库触发器
4.3外部过程
4.4小结
第5章 使用对象扩展Oracle
5.1面向对象
5.1.1Oracle8和面向对象数据库
5.1.2面向对象数据库术语及概念
5.2怎样使用对象
5.3使用对象类型
5.3.1设计对象类型
5.3.2创建对象类型
5.3.3创建与使用对象类型示例
5.3.4方法详解
5.4对象与视图
5.4.1对象型表的对象视图
5.4.2关系型表的视图
5.4.3视图与INSTEAD OF触发器
5.5小结
第三部分 Oracle8数据库结构
第6章 控制数据库访问
6.1用户管理
6.1.1用户验证
6.1.2用户的缺省表空间
6.1.3用户的临时空间表
6.1.4用户账号的锁定与解锁
6.2权限管理
6.2.1数据库权限类型
6.2.2授权与收回特权
6.2.3使用角色管理权限
6.3资源限制
6.3.1表空间限额
6.3.2资源限制环境文件
6.4数据库审计
6.4.1有选择地审计
6.4.2审计记录与审计追踪
6.4.3设置审计选项
6.5什么是可信任Oracle
6.6小结
第7章 数据库存储
7.1表空间
7.1.1SYSTEM表空间
7.1.2其他表空间
7.1.3联机表空间和脱机表空间
7.1.4永久表空间和临时表空间
7.1.5只读表空间和可读写表空间
7.2 数据文件详细介绍
7.2.1一个表空间的数据文件数量
7.2.2数据文件的空间使用
7.2.3数据文件大小
7.2.4数据文件损坏
7.2.5联机数据文件和脱机数据文件
7.3控制文件
7.4段、区间和数据块
7.5数据段和索引段
7.5.1临时段
7.5.2临时表空间
7.6回滚段
7.6.1Oracle怎样写回滚段
7.6.2SYSTEM回滚段
7.6.3多个回滚段
7.6.4联机回滚段和脱机回滚段
7.6.5公共回滚段和私有回滚段
7.6.6延期回滚段
7.6.7回滚段的其他功能
7.7数据块
7.7.1数据块分配
7.7.2数据块可用性和空闲列表
7.7.3行链接与数据块大小
7.8对象存储设置
7.8.1表空间配置
7.8.2区间设置
7.8.3数据块设置
7.8.4对象存储的缺省设置
7.9多媒体数据的特有数据存储
7.10数据分区
7.10.1分区表
7.10.2在数据分区中放置记录
7.10.3使用最大值(MAXVALUE)
7.10.4分区索引
7.10.5分区索引选项
7.10.6分区扩展表名
7.10.7分区管理
7.11小结
第四部分 Oracle8软件体系结构
第8章 Oracle软件结构
8.1数据库服务器与数据库实例
8.1.1服务器启动与关闭
8.1.2服务器连接
8.2Oracle8进程
8.2.1服务器端后台进程
8.2.2支持用户连接的进程选项
8.2.3Oracle特定的进程结构
8.3内存区与数据缓存区
8.4Oracle8内存区
8.4.1高速缓存区
8.4.2共享池
8.4.3系统全局区(SGA)
8.4.4程序全局区(PGA)
8.4.5排序区
8.5Oracle8网络与Net8
8.5.1透明的网络底层(TNS)与其他Net8层
8.5.2TNS连接、初始化与目的地
8.5.3TNS监听器
8.5.4TNS地址
8.5.5多网络与多协议交换
8.5.6Net8配置
8.6小结
第9章 共享数据库访问机制
9.1三个C――竞争性、并发性与一致性
9.1.1Oracle的并发性与一致性机制
9.1.2事务与冲突
9.1.3隔离的级别
9.2Oracle的锁机制
9.2.1自动锁与显式锁
9.2.2锁级别
9.2.3DML锁
9.2.4DDL锁
9.2.5内部闩锁
9.3多版本
9.3.1系统修改序列号
9.3.2非块查询
9.3.3多版本与事务级读一致性
9.3.4快照太老的错误
9.4记住,一切都是自动的
9.5小结
第10章 数据库保护
10.1不同类型的问题
10.1.1系统崩溃或服务器崩溃
10.1.2由于用户错误、冲突或者磁盘失效导致的文件丢失
10.1.3场地灾难
10.2数据库保护机制一览
10.3恢复管理器介绍
10.4事务日志或重做日志
10.4.1事务日志结构
10.4.2检查点
10.5保护数据库控制文件
10.6数据库备份
10.6.1完全数据库备份
10.6.2表空间备份
10.6.3恢复管理器备份概念
10.6.4逻辑数据库备份
10.7数据库恢复
10.7.1前滚和回滚恢复阶段
10.7.2崩溃恢复
10.7.3介质恢复――从文件损坏中恢复
10.7.4完全恢复
10.7.5不完全恢复
10.8恢复优化
10.9日志组和控制文件受到破坏该怎么办
10.10高可用性选项
10.10.1备用数据库
10.10.2超越故障节点与数据复制
10.11小结
第五部分 特定Oracle环境
第11章 分布式数据与数据复制
11.1分布式数据库结构
11.1.1合作与自动
11.1.2客户/服务器的扩展
11.1.3网络和分布式数据库系统
11.1.4分布式数据库中的数据库服务与命名
11.1.5数据库链接
11.1.6异构型分布式数据库
11.2应用程序与分布式数据库
11.2.1远程查询
11.2.2分布式查询
11.2.3远程更新
11.2.4分布式更新
11.2.5远程过程调用(RPC)
11.2.6远程事务
11.2.7分布式事务
11.3分布式数据库透明性
11.4独特的分布式数据库安全问题
11.5数据复制简介
11.5.1数据复制的用途
11.5.2数据复制的类型
11.6基本复制与只读快照
11.6.1复杂快照
11.6.2快照数据存储
11.6.3快照刷新
11.7高级复制环境
11.7.1多主机复制
11.7.2快照节点与可更新快照
11.7.3高级复制选项比较
11.8高级复制系统体系结构
11.8.1复制对象与复制组
11.8.2主节点与快照节点
11.8.3复制目录
11.8.4Oracle的复制管理API
11.9Oracle的高级复制软件机制
11.9.1行级复制
11.9.2异步(存储然后传播)数据传播
11.9.3一个示例
11.10高级复制系统中的复制冲突
11.10.1复制冲突的类型
11.10.2避免冲突
11.10.3冲突检测与解决
11.11其他的高级复制选项
11.11.1过程化复制
11.11.2同步(实时)数据传播
11.12 小结
第12章 Oracle的并行处理选项
12.1并行处理介绍
12.1.1单处理器计算机与多处理器计算机
12.1.2共享内存系统
12.1.3共享磁盘系统
12.1.4非共享系统
12.2并行处理SQL
12.2.1串行处理
12.2.2并行SQL处理
12.2.3并行SQL处理体系结构
12.2.4数据分区与并行SQL处理
12.3Oracle的并行服务器选项――高可用性的多个实例
12.3.1什么是并行数据库访问
12.3.2并行服务器体系结构
12.3.3并行服务器数据库管理
12.3.4自动实例恢复
12.3.5透明的超越故障应用
12.3.6从介质失效中恢复数据库
12.4并行服务器配置的独特的数据库特性
12.4.1序列生成器
12.4.2数据块空闲列表
12.4.3特定实例区间分配
12.4.4私有回滚段
12.4.5反向键值索引
12.5并行SQL处理与并行服务器处理混合
12.6小结
· · · · · · (收起)
读后感
用户评价
令人费解的是,这本书在处理历史演进和版本迭代信息时,显得异常的混乱。作为一个研究数据库技术的人,我深知技术的迭代往往是理解当前架构的最佳切入点,早期的设计决策往往会遗留至今,成为理解现有约束的关键。然而,这本书似乎完全割裂了时间维度,将不同版本的功能堆砌在一起,没有清晰地指出哪些是早期遗留的设计,哪些是针对新需求的优化。例如,在谈论数据恢复机制时,它混合了多个版本中截然不同的处理方式,却从未明确指出哪个段落对应哪个时间点。这对于试图建立连贯知识体系的读者来说,造成了巨大的认知负担。你必须不断地在脑海中构建时间轴,自己去分辨哪些信息是过时的,哪些是当前的主流实践。一个好的体系结构指南,应当清晰地梳理出技术演进的脉络,展示出架构的“进化史”,而不是将历史的残骸随意堆放在一起,让读者自行去挖掘和整理。
这本书的排版和图示简直是一场灾难,简直是对严肃技术书籍的侮辱。我得承认,我花了大量的时间去猜测那些模糊不清的流程图到底想表达什么,那些密密麻麻的文字块中间缺乏有效的留白和清晰的层级划分,让阅读体验变得极其痛苦。技术书籍,尤其是涉及到复杂架构的著作,图文并茂是基本要求,但这里的图示不仅数量少得可怜,质量也低得惊人,很多图例根本无法直观地展示出概念之间的关系,反而增加了理解的难度。我甚至怀疑作者是否亲自审阅过最终的印刷版本,因为有些关键术语的引用和交叉引用在不同章节之间存在着明显的矛盾,这表明在编辑和校对环节上存在着极其草率的态度。如果一个作者连最基本的阅读体验都无法保障,我们又如何能对书中内容的严谨性和深度抱有信心呢?这本书读起来更像是一份未经打磨的草稿,而不是一本面向专业人士出版的参考书。
这本书在专业术语的定义和使用上,表现出一种令人不安的随意性。在不同的上下文中,同一个术语被赋予了略微不同的含义,这在严谨的计算机科学领域是绝对不可接受的。举个例子,关于“实例”和“数据库实例”的界定,在第十章和第十五章中几乎是混用的,这使得初学者很容易被误导,认为它们是同义词,从而错失了理解其在操作系统和数据库层面的关键区别。这种不一致性不仅影响了阅读的流畅性,更重要的是,它削弱了读者对作者专业性的信任。技术写作的核心在于精确性,每一个词汇都应当是经过深思熟虑的选择。如果连最基本的术语一致性都无法做到,那么我们如何能指望书中对复杂机制的描述是准确无误的呢?我不得不频繁地查阅外部资料来确认作者意图,这完全违背了购买专业书籍以求高效学习的初衷。
这本书,恕我直言,完全没能抓住我对“体系结构”这个词的期待。我原以为会看到的是一套严谨的、从底层逻辑到应用层面的全景式解析,能够像剥洋葱一样,一层层揭示出这个复杂系统的内在骨架和运作机制。然而,读完之后,我感到的是一种知识的碎片化和逻辑的跳跃性。它似乎更倾向于罗列已有的特性和功能模块,而不是深入探讨这些模块是如何协同工作,以及在设计之初,设计者们是如何权衡取舍,最终确定了这种特定的结构形态。对于一个追求“知其所以然”的读者来说,这种侧重于“是什么”而非“为什么”的叙述方式,无疑是令人失望的。我期待的体系结构书籍,应该像一张精密的蓝图,清晰地标注出各个子系统的边界、接口以及数据流动的方向,而这本书给我的感觉更像是一本功能说明手册的集合,虽然内容丰富,但缺乏将这些点连接成面的宏大视野和逻辑贯穿力。尤其是在谈及内存管理和进程调度这些核心部分时,深度明显不足,只是蜻蜓点水,没有提供足够的细节来支撑起一个完整的“体系”概念。
更令人遗憾的是,书中对于实际操作层面的指导和案例分析,简直是少得可怜,或者说,它们脱离了现实的复杂性。体系结构不仅仅是理论上的图纸,它更是指导我们如何高效部署、维护和故障排除的实践基础。然而,这本书在描述了那些宏大的架构概念之后,便戛然而止,留给读者的多是抽象的描述。我希望看到的是,如何将这些理论结构映射到具体的配置参数、实际的性能调优场景中,以及在面对高并发或特定负载模型时,这些结构是如何体现其优越性或局限性的。缺乏与实际工作环境的联系,使得书中的内容显得高高在上,缺乏“落地性”。它更像是一份学术论文的提纲,而不是一本可以陪伴工程师度过职业生涯、指导日常决策的实用工具书。如果一个体系结构书籍不能帮助我更好地“管理”或“理解”我正在运行的系统,那么它的价值就大打折扣了。