前 言
人们很难相信Linux的出现还不到10年。在这样短的时间里,由芬兰的一位研究生作为实验编写的Linux操作系统在性能和使用范围方面不断扩张。同时,Internet的普及加速了Linux的成长。
现在Linux作为一个企业级的基于关键任务的服务器平台迅速流行。自首次全面发行以来,Linux业已证实它是一个稳定的可伸缩的操作系统。然而只是最近,主要的软件供应商们才开始将他们的应用转向Linux平台。这方面最显著的进展出现在1999年,四个一流的数据库供应商(Oracle、Informix、Sybase、IBM)宣布全面支持Linux平台。在此之前,Linux也有其他数据库,但是上述四个重要供应商的加盟使之成为业界注目的中心。
关于本书
本书许多章节讲述各种数据库的安装,如何测试和利用维护数据库所需的关键功能。虽然究竟何种数据库最适合于给定的项目这个问题只能读者自己去判断,但书中还是给出了一些指导以帮助读者进行数据库的选择。
本书的组织方式
本书介绍了几种重要数据库的安装和配置。本书主要用于参考目的,有的读者可能不需要通览全书。书中每一章基本都是独立的,介绍某个特定的数据库。
第1章:Linux操作系统 简要介绍Linux。本章介绍了Linux历史及其背景知识,对不熟悉Linux和开放源代码运动的读者很有帮助。
第2章:基本Red Hat Linux安装 给出最流行的Linux(Red Hat)的详细安装步骤。如果使用的数据库服务器是一个实际的服务器,则建议用新硬件从头开始安装,以便得到可靠的配置。
第3章:在Linux上安装并运行 Oracle Oracle可能是当前市场上最流行的并得到广泛认可的数据库。它具有高度的可伸缩性并且极为可靠。但是,它也极为昂贵,可能不适合小企业。
第4章:在Linux上安装 Informix Informix在可伸缩性和可靠性方面与 Oracle 相近。选择这两个数据库中的哪一个完全取决于个人的偏好。
第5章:在Linux上安装和使用Sybase Sybase有一批非常忠实的追随者。如果你熟悉 Microsoft SQLServer,则Sybase是Linux环境下的一个合理的选择。微软的SQLServer设计与 Sybase的设计极为相近。
第6章:在 Red Hat Linux上安装DB2 Universal Databases 6.1 DB2是一种最未得到正确评价的重要数据库。虽然主要用在大型机上,但DB2转向Linux后功能是很强的,可伸缩性也很好。即使不仔细阅读本章,你也应该不至于忽略将DB2作为一种可行的选择。
第7章:在 Linux上安装MySQL MySQL是最流行的免费数据库。它很容易设置和配置,利用它很容易编制出很好的基于 Web的应用程序。不过对非常大的数据库,它的可伸缩性稍差。
第8章:在Linux上安装和管理Progress Progress一般不为大多数数据库管理员所重视。它通常嵌在第三方应用程序中,但其本身是一个功能很强的数据库。
第9章:Linux上的PostgreSQL PostgreSQL与几个 Linux分发包一道安装。它的源代码与MySQL一样是开放的,对小的数据库应用程序很容易入门。不过其可缩伸性有限。
第10章:开发基于Web的应用程序 给出一个样例数据库应用程序。一旦安装了某个数据库,就可以用它来做许多事情了。
联机Usenet组、白皮书以及用户组是计算机专业人员联网共享知识的宝贵资源。因此,本书中我们还提供了访问Web的有用链接和资源。
Linux环境上的数据库
您可能已经决定在 Linux上实现一个数据库方案。Linux操作系统的稳定性和可靠性很适合数据库。作为一个开放源代码的操作系统,Linux得到很好的支持并不断更新。用户必须一开始就认识到要定期将重要核心版本和对小错误的修正应用到该操作系统,而且对数据库服务器的实际硬件也应该特别关注。应该建立某种冗余机制,特别要考虑按某种独立磁盘冗余阵列(RAID)使用多个磁盘。不同的数据库有不同的配置,应该配备尽可能大的内存;好的数据库安装在不好的机器上功能必然差。
应当从以下几个方面对手头上的操作系统和服务器,提下列几个问题:
■ 你希望数据库完成什么工作?
■ 你的实际环境怎么样:较小、中等或较大?
■ 这是一个基于关键任务的的应用程序吗?
■ 存在这个应用程序的支持需求吗?
本书中介绍的每个数据库都有自身的长处和短处。如果还没有作出决定,或者即使已经作出,都应该考虑一下上述问题。在方案实施以前多点考虑没什么坏处。
在可伸缩性和可靠性方面,Oracle 作为领先者之一有很高的地位。但Oracle还需要高素质的数据库管理员并且要与公司有技术支持合同。这些要求再与Oracle的商用许可证的高成本相结合,使其超出了数据库较小的小企业的需要。Informix的情况也类似。它也是一个功能很强、可靠性很高的数据库,但其所要的价格和技术支持的成本通常太高。
Sybase 是一个很普及适中的方案。它的功能可能没有Oracle和Informix 那么多,但并不缺乏基本功能。它的代价更低,而且如果用户熟悉Microsoft SQLServer,则其配置是非常简单的。Sybase适合于很多应用程序并提供很好的稳定性。DB2也同样如此,但在技术支持方面的挑战性要大些,它的功能和可伸缩性与Oracle一样。不过 DB2 的商业应用代价较小。Progress 也归于 DB2 这一类。
像MySQL和PostgreSQL这样的免费数据库是非常好的入门性解决方案,其成本极低。这些数据库容易实现、容易维护。初学者在本书的帮助下一两天就可以设置好它们并使它们运转起来。这些数据库的主要缺陷是可伸缩性不好。一般免费数据库在管理的记录多于一百万条时会有性能方面的问题。但用这些免费数据库起步,然后再移植到较大的数据库上仍然不失为一种完善的解决方案。将这些数据库的表导出到 SQL,然后导入不同的数据库通常效果很好。如果打算采用这种方案,那么从一开始就花时间设计一个可靠的数据库和好的数据模型会少很多麻烦。这种说法对许多数据库实现都是成立的,但在有数据移植的情况中尤其贴切。
本书是帮助决定哪个数据库最适合要求的书籍,但最终的决定权在您的手中。
有更多的数据库可供选择
当前许多公司正在研究已有数据库的强大应用程序。管理人员和DBA们可从今天的大量数据库中进行选择。SQL的标准化特性使数据的可移植性极强。利用 BLOB(二进制大对象)使得在数据库中存储图像和可执行代码成为可能。相对较新的 XML 技术使以前禁锢在两到三个应用层之后的数据可以直接从 Web上得到。一般来说本书讲述的数据库可归为两种类别:传统数据库与开放源代码数据库。
传统数据库
传统数据库是由较大的软件公司编程和支持的。这种模型的最显著的优点是产品的支持。软件供应商们每年很容易从产品支持、故障排除以及产品升级中取得费用。大多数依赖极大型数据库的公司完全拒绝放弃这种支持模型所提供的额外的收费方式。但传统模型的一个明显的缺点是软件供应商们更改它们的产品和增加新功能很缓慢。在投放到最终用户手中之前,最新技术的开发周期需要数月到数年。一个最显著的缺点就是这些公司和别的公司一样,不愿亮出自己的底牌。单个执照的费用可能阻止了许多用户的使用。供应商经常要进行激烈的竞争,结果是产品出炉过早,经常需要补丁程序。最好的例子就是Oracle 8i。期待已久的这个Oracle版本是为向Internet进军而编写的,但是其中有许多bug。Oracle 8i发行版2处理了这些问题,但已经是一年以后的事了。许多软件公司的情形与此类似。
开放源代码数据库
较新的软件开发模型是开放源代码模型。开放源代码有很大的开发群体优势。一般有一个或几个人对代码负责,他们将整个Internet作为寻找开发人员的大本营。产生出来的软件经常更新和修改。具体软件的最新发行版拥有最新的功能和最新的技术。这当然也会带来缺陷。即,这些功能可能未经过充分的测试,系统管理员必须在新变化和增补方面保持领先,并且需要更高级用户来维护该系统。较大的公司都在回避传统的技术支持和责任并非很有效这个事实。实际上技术支持任务主要落在管理员身上。说实在的,这就是大多数公司的系统被支持的方式。管理员将他们自己的知识以及可从Web站点和新闻组上获得的知识应用到有问题的软件上。
充分利用数据库
在Linux服务器上安装一个数据库是一件很大的事情,但是应该用它来干点什么呢?很大程度上,答案是:“没有限制。”可用它来追踪员工数据、管理客户要求、关联营销数据、改进订单系统的效率,还可以构思和编制许多其他应用程序。
基本特性
所有数据库都支持SQL(结构化查询语言)。这种基本的标准保证了数据库之间的兼容性。某些的数据库可能充分也可能不充分地实现了这个标准,所以,在进行数据库移植时要小心。例如,不要试图将采用了BLOB的Oracle数据库移植到不支持这种对象类型的Postgre SQL数据库上。所有数据库都支持四种基本的SQL结构:SELECT、INSERT、UPDATE、DELETE。此外,所有数据库都应该支持基本用户以及用来创建和管理数据库表和用户权限的表模式。
高级特性
有两种最著名的高级特性,BLOB 和 XML。BLOB 允许在数据库中存储大二进制对象(如图像)。Oracle 和其他几个数据库支持 BLOB。XML(扩展标记语言)是一种新技术。类似于HTML,XML是SGML(标准通用标记语言)的子集。但不像HTML(HTML是一种文档格式标记语言),XML是一种数据符号集标记语言。XML 允许数据直接转储到Web页。如果浏览器或应用服务器支持XML,则可以用最少的编程量格式化和显示数据。当前市场上的大多数数据库都以某种方式支持 XML。
数据库应用
在过去的三年里,Web大为流行,在Web上利用数据库已提上了议事日程。收藏用户和顾客信息、访问个人描述文件、为顾客排序和分类产品信息和数据等将成为驱动电子商务的新标准或新模型。数据开采、数据入口以及购物车(shopping cart)将成为大老板们打高尔夫球时的时髦词汇。
就本书来说,我们给出了汽车销售情景以说明数据库的某些潜在用途。Web服务器在使用 Web上的数据库时是一个关键的因素,我们提供了目前最流行的多个应用的概览。
总之,我们希望读者会发现本书是自己在 Linux上实现各种数据库应用的有用参考书。
+ 展开目录目 录
译者序
前言
第1章 Linux操作系统 1
1.1 Linux的简要历史介绍 1
1.2 Linux核心 2
1.2.1 Linux的开发特点 2
1.2.2 Linux分发包 3
1.2.3 为什么要为商业Linux
版本付费 3
1.3 Linux与其他操作系统之间的差异 3
1.3.1 功能丰富 3
1.3.2 多任务 4
1.4 为什么选择 Linux 6
1.4.1 何时使用 Linux 6
1.4.2 服务器与工作站 6
1.4.3 推荐的硬件 7
1.4.4 移植到 Linux工作站 7
1.5 Linux分发包 8
1.6 升级或移植前的考虑 10
1.6.1 硬件兼容性 11
1.6.2 升级 11
1.6.3 从其他操作系统进行移植 12
1.6.4 选择分发包 12
1.7 怎样着手工作 12
1.8 小结 13
1.9 常见问答 13
第2章 Red Hat Linux基本安装 16
2.1 引言 16
2.1.1 物理上独立的机器 16
2.1.2 选择 Linux分发包 16
2.2 初步的安装决定 17
2.2.1 硬件 17
2.2.2 多CPU 17
2.2.3 RAM 17
2.2.4 磁盘 17
2.2.5 RAID 18
2.2.6 网络接口 18
2.2.7 备份问题 19
2.2.8 支持问题 19
2.2.9 安装初步知识 19
2.3 安装 Red Hat 19
2.3.1 快速安装介绍 19
2.3.2 选择安装类型 22
2.4 定制(手工)安装 23
2.4.1 按要求创建分区 23
2.4.2 网络设置 26
2.4.3 时区选择 28
2.4.4 root账号配置 28
2.4.5 验证 29
2.4.6 使用 NIS 或 NIS+ 30
2.4.7 程序包选择 30
2.4.8 X Window 安装 32
2.4.9 程序包安装 34
2.4.10 Linux装载程序与引导盘 35
2.4.11 完成安装 36
2.4.12 配置服务器运行数据库 36
2.4.13 需要注意的事项 36
2.5 Linux的其他风格 36
2.6 小结 37
2.7 常见问答 38
第3章 在 Linux上安装并运行 Oracle 40
3.1 引言 40
3.2 概念 41
3.2.1 系统全局区域 41
3.2.2 程序全局区域 42
3.2.3 表空间 42
3.2.4 数据文件 42
3.2.5 区 42
3.2.6 段 42
3.2.7 控制文件 42
3.2.8 重做日志 42
3.2.9 回退段 42
3.2.10 参数文件 43
3.2.11 版本标识符 43
3.2.12 PL/SQL 43
3.2.13 模式 43
3.4 安装 43
3.4.1 安装前 44
3.4.2 安装Oracle 8 50
3.4.3 安装Oracle 8i 54
3.4.4 安装后 62
3.5 使用 Oracle 8/8i 65
3.5.1 启动和关闭 66
3.5.2 后台进程 67
3.5.3 创建帐号 68
3.5.4 SQL*Plus 70
3.5.5 数据字典 72
3.5.6 导入/导出 73
3.6 第三方软件 73
3.6.1 Orasoft 73
3.6.2 Orac 75
3.6.3 Perl/DBI 76
3.7 小结 76
3.8 常见问答 76
第4章 在Linux上安装 Informix 78
4.1 引言 78
4.2 安装 81
4.2.1 第一部分:软件的获取
和软件的服务器放置 81
4.2.2 第二部分:安装和标记 83
4.2.3 第三部分:磁盘设置和服务器
运行 85
4.2.4 建立 Informix 的数据文件 86
4.2.5 关于磁盘 87
4.2.6 磁盘和目录 87
4.3 关于空间的考虑 88
4.4 配置 88
4.4.1 $INFORMIXDIR/etc/
$ONCONFIG 89
4.4.2 $INFORMIXDIR/etc/sqlhosts 100
4.4.3 /etc/services 100
4.4.4 /opt/data/rootdbs 101
4.4.5 利用 oninit 启动引擎 102
4.4.6 终止引擎 106
4.5 最后的配置 107
4.5.1 回顾 107
4.5.2 Physdbs 107
4.5.3 创建 physdbs 文件 108
4.5.4 logsdbs 111
4.5.5 创建 logsdbs 113
4.5.6 创建新的逻辑日志 114
4.5.7 Tempdbs 123
4.5.8 最终的 $ONCONFIG 配置值 125
4.5.9 重新启动引擎 126
4.6 其他工具 129
4.6.1 Dbaccess 132
4.6.2 Onmonitor 132
4.7 资源 133
4.7.1 Informix 技术支持组织 134
4.7.2 Informix Web 站点 134
4.7.3 Usenet 新闻组 comp.database.
informix 134
4.7.4 国际 Informix 用户组(IIUG) 134
4.7.5 Informix出版社 134
4.7.6 Informix 培训 134
4.8 小结 134
4.9 常见问答 135
第5章 在Linux上安装和使用 Sybase 136
5.1 引言 136
5.2 安装 136
5.2.1 安装 SQL Server 11.0.3 137
5.2.2 安装可选的客户机软件 141
5.3 配置 142
5.3.1 配置Sybase Database Server 143
5.3.2 配置Sybase Backup Server 149
5.3.3 配置Sybase Client/Server 库 150
5.3.4 在引导时启动数据库服
务器和备份服务器 151
5.3.5 设置系统管理员口令 151
5.3.6 配置数据库设备和数据库 152
5.3.7 建立用户登录和权限 153
5.4 测试数据库 156
5.5 数据库设计 159
5.6 问题 161
5.6.1 标识列(自动增加) 161
5.6.2 SQL一致性 163
5.6.3 执行环境 164
5.7 小结 168
5.8 常见问答 169
第6章 在 Red Hat Linux上安装DB2
Universal Database 6.1 170
6.1 引言 170
6.2 为安装DB2准备 Red Hat工作站 171
6.2.1 为DB2安装准备 Red Hat 5.2
和 6.0 172
6.2.2 为DB2安装准备 Red Hat 6.1 172
6.3 安装 DB2 173
6.3.1 进行安装 174
6.3.2 检验安装 180
6.4 配置Control Center 182
6.5 安装DB2客户机 184
6.6 配置DB2客户机与DB2服务器通信 188
6.7 小结 194
6.8 常见问答 195
第7章 在Linux上安装MySQL 198
7.1 引言 198
7.2 安装 199
7.2.1 命名约定 199
7.2.2 二进制分发包的安装 201
7.2.3 RPM 分发包的安装 202
7.2.4 源代码分发包的安装 202
7.3 配置 204
7.3.1 安全性 204
7.3.2 权限 205
7.3.3 访问控制 208
7.3.4 系统设置 209
7.3.5 性能 210
7.4 问题 212
7.4.1 线程 213
7.4.2 运行环境 213
7.5 故障处理 214
7.6 小结 215
7.7 常见问答 216
第8章 在Linux上安装和管理Progress 218
8.1 引言 218
8.2 安装 218
8.2.1 从介质中安装 219
8.2.2 核心参数 223
8.2.3 环境设置 225
8.3 配置 226
8.3.1 目录结构 227
8.3.2 磁盘空间与 I/O 吞吐量 227
8.3.3 创建新数据库 229
8.3.4 设置缓冲池尺寸 230
8.4 运行Progress 231
8.5 故障排除 241
8.6 优缺点 242
8.6.1 4GL 243
8.6.2 面向 OLTP 243
8.6.3 可靠的崩溃恢复 243
8.6.4 成本 243
8.6.5 词索引 244
8.6.6 国际化 244
8.6.7 24×7运转 244
8.6.8 无二进制大对象 244
8.6.9 无并行查询 245
8.6.10 无分布式锁管理程序 245
8.7 小结 249
8.8 常见问答 249
第9章 Linux上的Postgre SQL 252
9.1 引言 252
9.2 Internet 驱动Postgre SQL 252
9.3 获得Postgre SQL 253
9.4 PostgreSQL 快速安装说明 254
9.5 详细安装 255
9.6 资源分发包的安装 259
9.6.1 准备工作 259
9.6.2 循序渐进的过程 260
9.7 PostgreSQL样例 RPM 264
9.8 测试Tcl/Tk接口 264
9.9 测试Python接口—PyGreSQL 264
9.10 测试Perl接口 265
9.11 测试libpq和libpq++ 接口 265
9.12 测试Java接口 266
9.13 测试ecpg接口 266
9.14 测试ODBC接口 267
9.15 测试MPSQL Motif-Worksheet
接口 267
9.16 测试SQL样例—用户定义
类型和函数 267
9.17 验证PostgreSQL安装 267
9.18 紧急问题处理 268
9.19 怎样才能信赖 PostgreSQL 268
9.20 系统布局 268
9.21 Kerberos 验证 269
9.21.1 可用性 269
9.21.2 安装 269
9.21.3 运行 269
9.22 运行时的环境—从 UNIX/Linux
中使用 Postgres 270
9.22.1 启动 postmaster 270
9.22.2 使用 pg_options 270
9.22.3 认可的选项 271
9.23 安全 273
9.23.1 用户验证 273
9.23.2 基于主机的访问控制 273
9.23.3 验证方法 274
9.23.4 建立用户 275
9.23.5 建立组 275
9.23.6 访问控制 275
9.23.7 函数和规则 275
9.23.8 函数 275
9.23.9 规则 276
9.23.10 说明 276
9.23.11 安全的TCP/IP连接 276
9.23.12 通过ssh运行安全隧道 276
9.24 增加与删除用户 276
9.25 磁盘管理—支持大型数据库 277
9.26 管理数据库 278
9.26.1 创建数据库 278
9.26.2 访问数据库 278
9.26.3 删除数据库 279
9.26.4 备份和恢复 279
9.26.5 大型数据库 280
9.27 使用 PostgreSQL 的 KVM 开关 280
9.28 故障排除—postmaster
启动故障 281
9.28.1 客户机连接问题 282
9.28.2 调试消息 282
9.28.3 pg_options 283
9.29 技术支持 284
9.30 邮件清单 284
9.30.1 PostgreSQL 的电子邮件账号 284
9.30.2 英文邮件清单 285
9.30.3 邮件清单的归档 285
9.30.4 西班牙邮件清单 285
9.31 PostgreSQL的GUI前台工具 285
9.32 ODBC、JDBC和UDBC驱动程序 286
9.33 Perl 和 DBI 接口 287
9.34 PostgreSQL的教材 289
9.35 PostgreSQL URL 参考 290
9.36 小结 290
9.37 常见问答 291
第10章 开发基于Web的应用程序 295
10.1 引言 295
10.2 Web 应用程序平台 296
10.2.1 Active Server Pages 296
10.2.2 Cold Fusion 296
10.2.3 Java Server Pages 296
10.2.4 Zope 296
10.2.5 Scripting Languages 296
10.2.6 PHP 297
10.2.7 Apache 297
10.3 入门 297
10.4 设计相应的模式 298
10.5 数据流 299
10.5.1 PHP、MySQL 和 Apache:
安装样例应用程序 300
10.5.2 PHP 数据库连通性:进行连接 300
10.6 小结 302
10.7 常见问答 302
附录A 汽车销售应用程序脚本 304
附录B 汽车销售应用程序转储文件 327
Tags: Linux
最后更新时间:2009年06月25日 共有
315 次浏览 .
订阅本书的评论(RSS 2.0).