具体描述
开发方法,Oracle 9i的调整和网络管理的具体细节,基于Oracle的Web Server与Internet计算结构,Oracle应用服务器(OAS)的体系结构及其使用,以及预编译技术和嵌入式SQL程序设计,最后介绍如何进行Oracle的高级应用开发与管理。
本书的最大特点是与应用结合非常密切,既可以满足数据库爱好者学习Oracle数据库高级应用的愿望,也能满足高级数据库管理员深入进阶的需求。此外,它还汇聚了作者多年来研究数据库的心得体会、技能技巧与经验总结,更结合了软件开发过程和嵌入式查询语言设计的思想,使得本书具备更高的阅读层次。
本书注重理论联系实际,原理讲解深入浅出,程序实例步骤详细,代码剖析精辟深刻,不但可以作为各高等院校数据库方向研究生或计算机系高年级本科生的学习教材,也能够作为基于Oracle数据库进行程序开发的软件设计者和Oracle数据库管理员的重要参考书。
作者简介
目录信息
1-1 开发过程管理 1
1-1-1 成功三要素 1
1-1-2 需求获取过程 1
1-1-3 管理过程 2
1-1-4 管理包开发 5
1-1-5 管理环境 8
1-2 如何在开发过程中成功确定数据库对象 8
1-2-1 “.net”与ado.net初探 8
1-2-2 实例——web-iaround系统的表结构分析 12
1-2-3 web-iaround系统的视图、索引对象分析 22
1-2-4 web-iaround系统存储对象分析与数据库接口 24
1-2-5 web-iaround系统其他方面的接口描述 27
思考题 29
第2章 oracle designer与uml对象建模设计 35
2-1 oracle 9i designer case工具 35
2-1-1 designer:oracle 9i的常用计算机辅助工程解决方案 35
2-1-2 oracle 9i designer一览 36
2-1-3 提高oracle 9i designer性能 42
2-1-4 应用编程界面 43
2-2 uml对象建模初探 44
2-2-1 uml简述 44
2-2-2 uml的基本目标 45
2-2-3 uml的组成部分 46
2-2-4 uml建模的特点 46
2-3 uml基本建模与web-iaround系统对象建模分析 50
2-3-1 uml命名规则 51
2-3-2 uml扩展 52
2-3-3 uml的规范化设计 54
2-3-4 uml的实现 54
2-3-5 uml建模的深化与web-iaround系统建模 58
2-3-6 uml建模方法论 66
2-3-7 uml建模的泛化对象类 73
2-4 uml历史记录建模 81
2-4-1 跟踪历史记录 81
2-4-2 实现历史记录 86
思考题 90
第3章 oracle数据库调整与网络管理 91
3-1 数据库调整 91
3-1-1 调整数据库应用系统设计 91
3-1-2 调整sql语句 94
3-1-3 调整内存使用 98
3-1-4 调整数据存储 101
3-1-5 调整数据操作 107
3-1-6 调整物理存储 111
3-1-7 调整逻辑存储 112
3-1-8 减少网络流量 113
3-1-9 使用oem和性能调整组件 118
3-1-10 调整方案 124
3-2 卸库与装库 125
3-2-1 卸库与装库的功能 126
3-2-2 卸库与装库的相同点和不同点 126
3-2-3 操作方法 127
3-2-4 卸库与装库的模式 131
3-2-5 分区表上的卸库与装库 133
3-2-6 运行程序的要求与错误的解决办法 133
3-2-7 参数之间的关系 134
3-2-8 从oem中卸库与装库 135
3-3 sql * loader 139
3-3-1 运行sql * loader 139
3-3-2 sql * loader组件 141
3-3-3 sql * loader示例一览 143
3-3-4 常规路径装载与直接路径装载 152
3-4 sql*net v2和net 157
3-4-1 sql*net v2和net概述 157
3-4-2 sql*net/net配置 160
3-4-3 使用net configuration assistant 164
3-4-4 使用net manager 169
3-4-5 应用样例 170
3-4-6 调整sql * net和net 173
3-4-7 对sql * net/net进行性能优化 174
3-5 管理网络 176
3-5-1 确保网络没有过载 177
3-5-2 用发送报文命令连接主机 178
3-5-3 使用网络电缆分析器 179
3-5-4 勿在nfs的mount分区创建数据文件 179
3-5-5 勿用数据库服务器作为nfs服务器 180
3-5-6 有效利用子网 180
3-6 unix/linux上的oracle联网技术 180
3-7 windows 2000/windows server 2003上的oracle联网技术 184
3-8 c/s配置、web网络环境配置 188
3-9 web-iaround系统网络管理实务 189
3-9-1 检查网络状况 190
3-9-2 设置数据库联网环境 191
思考题 192
第4章 web server与internet计算结构 203
4-1 oracle web server概述 203
4-1-1 oracle web server的组成部分 203
4-1-2 oracle web listener监听程序 204
4-1-3 oracle web agent代理 205
4-1-4 oracle web server开发者工具箱 205
4-1-5 oracle server 205
4-2 oracle web listener 205
4-2-1 oracle web listener的特性 206
4-2-2 oracle web listener的配置参数 210
4-3 oracle web agent 216
4-3-1 oracle web agent的使用者 216
4-3-2 oracle web agent的工作过程 216
4-3-3 oracle web agent的服务(service) 217
4-3-4 oracle web agent如何使用cgi环境变量 219
4-3-5 传递参数给pl/sql 220
4-3-6 oracle web agent错误处理 224
4-4 web server开发工具箱 226
4-5 oracle internet计算结构 226
4-5-1 internet计算 226
4-5-2 internet计算结构 227
4-5-3 ica环境及故障评估 229
4-6 web-iaround系统应用oracle web agent示例 232
思考题 236
第5章 oas应用 237
5-1 oas结构 237
5-2 oas的安装 241
5-3 oas常见故障与排除 244
5-4 oas的安全性 246
思考题 251
第6章 oracle预编译器与嵌入式sql 252
6-1 oracle预编译器概述 252
6-1-1 oracle预编译器支持的语言 253
6-1-2 预编译器概述 253
6-1-3 oracle预编译器的特点 254
6-2 变量声明和数据类型 255
6-2-1 变量声明与嵌入式sql语句 255
6-2-2 数据类型 257
6-3 连接数据库 259
6-4 用嵌入式sql访问和操纵数据 261
6-4-1 事务处理 261
6-4-2 动态sql 263
6-5 错误与通信处理 268
6-6 预编译源代码 269
6-6-1 条件预编译 269
6-6-2 预编译选项 271
6-6-3 预编译配置 273
6-7 web-iaround系统中的预编译技术应用 275
6-7-1 cgi概述 275
6-7-2 web-iaround系统应用 278
思考题 282
第7章 大型数据库管理 284
7-1 设置大型数据库环境 284
7-1-1 大型数据库容量设置 285
7-1-2 设置其他磁盘空间大小 287
7-1-3 选择物理设计 287
7-1-4 创建并管理分区 288
7-2 创建并管理索引结构表 292
7-2-1 创建显形图 292
7-2-2 创建完全索引表 293
7-2-3 创建和管理索引组织表 293
7-2-4 创建和管理位映射索引 294
7-3 大型事务管理 295
7-3-1 配置批事务环境 295
7-3-2 装载数据 296
7-3-3 插入数据 297
7-3-4 删除数据 298
7-4 大型数据库备份 300
7-4-1 备份需求及评估 301
7-4-2 备份策略分析 301
7-5 数据库环境调整 302
7-6 使用可迁移表空间 304
7-6-1 生成可迁移的表空间集 304
7-6-2 导入可迁移的表空间集 305
7-7 局部管理的表空间 305
思考题 306
第8章 分布式数据库管理 307
8-1 分布式数据库的管理和维护 307
8-1-1 管理分布式系统中的全局名 307
8-1-2 创建数据库链接 310
8-1-3 创建共享数据库链接 313
8-1-4 管理数据库链接 315
8-1-5 查看有关数据库链接的信息 316
8-1-6 dml语句区域无关性 319
8-2 基于分布式数据库的应用开发 319
8-2-1 管理应用数据的分布 320
8-2-2 控制靠数据库链接建立起来的连接 320
8-2-3 维护分布式系统中的参照完整性约束 320
8-2-4 协调分布式查询 321
8-2-5 远程过程管理异常 324
思考题 324
附录 325
i. oracle 9i在不同环境下的安装 325
i-1 在windows 2000环境下的安装 325
i-2 安装oracle 10g(10.1.0)for linux 337
ii. web server开发过程和函数参考 350
iii. oracle预编译连接文件示例 367
iv. oracle预编译后的c语言源代码 370
· · · · · · (收起)
读后感
用户评价
这本书的封面设计倒是挺有年代感的,那种深沉的蓝色调,让人一下就能联想到数据库管理的那种严谨和专业。我当初买它,主要是冲着“Oracle 9i/10g”这两个版本去的,毕竟那是我们公司系统迭代的关键时期,手头急需一本能兼顾这两个版本,并且实战性强的参考书。说实话,刚翻开目录的时候,我对它“开发管理与实例”的组合有点疑虑,通常这类书要么偏理论,要么就是纯粹的代码堆砌,很难找到一个完美的平衡点。我特别留意了关于性能调优和分区管理的那几章,因为那是我们在项目上线前夕最头疼的问题。期望书中能有大量详尽的SQL执行计划分析案例,最好能图文并茂地展示出不同参数配置下,查询速度的量化差异。如果它真的能提供一套行之有效的、针对9i到10g平滑迁移的步骤指南,以及一套标准化的数据库设计规范模板,那对我们项目组来说,价值就不仅仅是一本书,简直就是一座移动的知识库了。我希望看到的是,那些教科书上晦涩难懂的锁机制、事务隔离级别,能被翻译成一个个生动的、日常开发中会遇到的场景,比如高并发下死锁的排查思路,而不是仅仅停留在理论定义层面。
从一个资深DBA的角度来看,我对这本书的“管理”部分抱有很高的期待,尤其是关于安全和备份恢复策略的论述。在Oracle的环境中,数据安全是红线,任何关于数据丢失或泄露的讨论都必须是严肃且全面的。我希望看到书中对RMAN(Recovery Manager)的讲解能够深入到“非标准”的恢复场景,比如异地容灾配置、以及如何设计一套能够应对“人为误操作”的快速恢复方案。市面上很多书对备份恢复都草草带过,只讲了`BACKUP DATABASE`和`RECOVER DATABASE`的命令组合。但现实中,我们面对的是复杂的闪回查询(Flashback Query)、数据泵(Data Pump)的并行导入导出优化,以及如何处理归档日志丢失的应急预案。如果这本书能提供一些经过实战检验的、针对特定业务场景的灾难恢复SLA(服务等级协议)设计模板,那将是非常有价值的参考资料,能够帮我们更好地向上级汇报我们的风险控制能力。
拿到书后,我立刻跳过了基础的SQL DML/DDL部分,直接奔向了“开发管理”这块。我最看重的是它在企业级应用开发中的指导意义。现代的数据库应用,早已不是简单的CRUD操作,而是涉及到复杂的存储过程、触发器、以及如何利用PL/SQL构建健壮的业务逻辑层。这本书的排版挺清晰的,但有些章节的示例代码总感觉少了点“血肉”。比如,在讲解如何优化大型循环查询时,它给出的优化建议似乎过于保守,更像是教科书上的标准答案,缺少了在高负载生产环境中,那些“非常规但有效”的黑客式技巧和取舍权衡。我真正想看到的是,作者如何处理那些遗留系统的维护难题——那些代码写得极差、文档几乎没有,但又必须快速迭代的“烫手山芋”。如果书里能包含一些关于版本控制在数据库脚本管理中的应用,或者如何用自动化工具来部署和回滚数据库变更的实践案例,那就太棒了。现在的开发节奏这么快,单纯依赖手动操作和经验判断,效率实在太低了。
整体而言,这本书的篇幅相当可观,这通常意味着内容的广度不错,但也可能牺牲了深度的打磨。对于一个初学者来说,它或许是一个全面的入门导读,能够建立起一个坚实的知识框架。但对于那些已经掌握了基础SQL和PL/SQL,正准备向高级DBA或数据库架构师迈进的读者而言,这本书的“干货”密度可能需要读者自己去筛选和挖掘。我希望能在这本书中找到更具前瞻性的内容,比如如何将数据库开发与新兴的DevOps理念结合,如何利用脚本化工具管理数据迁移,而不是仅仅停留在Oracle自身提供的工具集上做优化。它的语言风格是严谨的,逻辑链条是清晰的,但缺乏那种能让人眼前一亮的“洞察力”——那种能够一下子点醒你多年来在特定疑难点上的困惑的精辟总结。它更像一位经验丰富但略显保守的导师,提供了一份安全可靠的路线图,而非一张充满挑战与机遇的藏宝图。
翻阅这本书的后半部分时,我感觉作者的侧重点明显偏向了早期的9i特性,对于10g引入的很多革新技术,比如在线重定义(Online Redefinition)和新的查询优化器特性,介绍得略显单薄。这让我有些失望,毕竟10g的出现带来了架构上的不少改进,尤其是在可管理性和自我调优方面。我期待的“实例”部分,不应仅仅是针对基础SQL的练习,而应该是一系列面向问题的解决方案集。例如,当数据库出现间歇性的I/O瓶颈时,我们如何利用AWR(Automatic Workload Repository)报告来快速定位是哪个表空间、哪个进程在拖后腿?如果书中能提供如何定制和解读这些报告的深入指南,并结合实际的I/O硬件配置给出建议,那就真正体现了“开发管理”的实战价值。目前看来,它更像是一本扎实的“特性手册”,而非一本“问题解决手册”。