第1章 关于IBM Informix 1
第2章 Informix Dynamic Server概述 5
2.1 系统架构概述 6
2.2 虚处理器 7
2.3 共享内存组成 8
2.4 共享内存的驻留段 8
2.5 驻留段中的物理日志缓冲 9
2.6 驻留段中的逻辑日志缓冲 10
2.7 共享内存中的LRU队列 10
2.8 虚拟内存段 11
2.9 磁盘部分中的chunk 12
2.10 页面 13
2.11 dbspace 13
2.12 tblspace 14
2.13 dbspace和tblspace的关系 15
2.14 简单大对象 15
2.15 blobspace 16
2.16 智能大对象 16
2.17 逻辑日志 17
2.18 物理日志 18
2.19 数据缓冲 18
2.20 检查点操作checkpoint 19
第3章 准备工作 21
3.1 准备操作系统环境 21
3.2 确定数据库占用的空间大小和dbspace的名称 22
3.3 本地连接方式 23
3.4 通过TCP/IP建立远程连接 24
3.5 客户端如何建立连接 24
3.6 与客户端连接相关的成员 25
3.7 sqlhosts文件 26
3.8 网络安全 28
第4章 如何初始化数据库服务器 30
4.1 准备home目录的空间 31
4.2 创建用户和组 32
4.3 安装基本系统文件 32
4.4 准备数据库所使用的chunk 33
4.5 设置环境变量 34
4.6 配置sqlhosts文件 34
4.7 配置文件:UNIX/Linux 35
4.8 配置一个新的服务器 36
4.9 设置配置参数 36
4.10 初始化数据库服务器 38
4.11 验证是否安装成功 39
第5章 监控 41
5.1 SMI表 41
5.2 onstat工具 44
5.3 oncheck工具 46
5.4 OpenAdmin Tool 46
第6章 管理共享内存 49
6.1 启动数据库服务器 50
6.2 修改服务器的模式 50
6.3 共享内存的组成 51
6.4 配置驻留部分的内存 53
6.5 内存驻留 54
6.6 配置虚拟内存 55
第7章 虚拟进程和线索 57
7.1 什么是线索 57
7.2 单线索和多线索 57
7.3 单线索进程 58
7.4 上下文切换 59
7.5 多线索的进程 59
7.6 虚处理器 61
7.7 运行一个线索 61
7.8 改变控制到另一个线索 62
7.9 多线索架构的好处 63
7.10 扇出的用例 63
7.11 虚处理器及其作用 64
7.12 VPCLASS配置参数 66
7.13 多处理器配置 67
7.14 CPU VP个数的配置指南 68
7.15 客户端和服务器的连接 68
7.16 客户端如何进行连接 69
7.17 与客户端和服务器连接相关的配置:NETTYPE 70
7.18 Informix 10版本中的多监听线索 71
7.19 Informix中的IO读写方法 71
7.20 动态增加和删除VPs 74
第8章 磁盘结构介绍 75
8.1 Informix磁盘空间的物理单元:chunk 75
8.2 基本的IO读写单元:页面 77
8.3 在Informix 10版本中配置页面大小 79
8.4 表的分配单元extent 80
8.5 B+树索引 83
8.6 extent的增长 84
8.7 extent的逻辑组合:tblspace 85
8.8 chunk的逻辑组合:dbspace 85
8.9 chunk的逻辑组合:blobspace 86
8.10 blobpage 87
8.11 blobspace的组成 88
8.12 blobspace free map 88
8.13 chunk的逻辑组合:sbspace 89
8.14 系统开销 91
8.15 系统保留页 92
8.16 扩展的系统保留页 93
8.17 chunk free list页面 94
8.18 tblspace tblspace 94
8.19 database tblspace 95
8.20 逻辑日志文件 96
8.21 物理日志文件 96
第9章 管理和监控数据库空间 98
9.1 创建dbspace 98
9.2 创建blobspace 99
9.3 创建sbspace 100
9.4 删除dbspace 101
9.5 给dbspace增加chunk 101
9.6 通过onspaces删除chunk 102
9.7 修改dbspace的名称 103
第10章 物理日志和逻辑日志 104
10.1 修改物理日志 105
10.2 增加逻辑日志 105
10.3 删除逻辑日志 106
10.4 释放逻辑日志文件 107
10.5 切换逻辑日志 108
10.6 修改数据库的日志模式 108
10.7 监控物理日志和逻辑日志 108
10.8 长事务 109
10.9 自动申请日志空间 111
10.10 onlog工具 112
10.11 blobspace logging 114
10.12 sbspace logging 114
第11章 共享内存的详细介绍 115
11.1 访问共享内存 115
11.2 LRU队列 116
11.3 共享内存缓冲的锁 116
11.4 一个磁盘页面被读到缓冲池的过程 116
11.5 检查点(checkpoint) 117
11.6 checkpoint的步骤 119
11.7 LRU队列的活动 121
11.8 缓冲写的类型 122
11.9 刷新物理日志缓冲 123
11.10 刷新逻辑日志缓冲 124
第12章 容错性 126
12.1 数据库服务器失败的类型 126
12.2 什么是快速恢复 127
12.3 有镜像的磁盘失败 131
12.4 恢复镜像的chunk 132
12.5 ONDBSPACEDOWN 133
第13章 关于备份和恢复的介绍 134
13.1 什么是备份 135
13.2 增量备份 135
13.3 创建备份的步骤 136
13.4 什么是逻辑日志备份 137
13.5 大对象和日志备份 138
13.6 备份智能大对象 139
13.7 sbspace的恢复 140
13.8 日志抢救 140
13.9 需要备份的文件 141
13.10 物理恢复和逻辑恢复 141
13.11 冷恢复和热恢复 142
第14章 使用ontape进行备份和恢复 143
14.1 磁带设备 144
14.2 其他的备份和恢复选项 145
14.3 数据备份 146
14.4 进行备份 147
14.5 进行日志备份 147
14.6 通过ontape修改数据库日志方式 148
14.7 热恢复举例 148
14.8 进行热恢复 149
14.9 冷恢复举例 150
14.10 完成冷恢复 150
14.11 使用STDIO 152
14.12 使用外部的备份和恢复功能 153
14.13 标记磁带的备份 153
第15章 临时文件和临时表 154
15.1 临时对象的类型 154
15.2 临时对象的配置 155
15.3 DBSPACETEMP和写数据库日志 156
15.4 并行排序 156
15.5 PSORT NPROCS环境变量 157
15.6 并行创建索引 158
15.7 并行创建索引的线索 159
15.8 创建索引会申请多少线索 160
15.9 索引页的填充度fillfactor 161
第16章 与性能有关的个别特性 162
16.1 数据库和硬件、操作系统相关的优化 162
16.2 预读 164
16.3 恢复线索 165
16.4 使用操作系统时间 165
16.5 并行数据库查询 165
16.6 并行数据库查询的管理 166
16.7 并行数据库查询的配置参数 166
16.8 MGM 167
16.9 SQL语句缓冲 168
第17章 监控用户活动 169
17.1 可以监控的用户活动 169
17.2 单个用户连接信息 171
17.3 监控数据库正在执行的SQL 172
17.4 监控已经编译过的SQL语句 173
17.5 监控用户线索 174
17.6 通过SMI监控用户连接 176
17.7 删除有问题的用户连接 176
17.8 识别资源不足 177
17.9 死锁和锁超时 178
17.10 监控锁的使用 179
17.11 锁类型和重复读的事务隔离级别 180
17.12 锁的粒度 181
17.13 数据库锁 181
17.14 表锁 182
17.15 页级锁 183
17.16 行级锁 183
17.17 键值锁 184
17.18 字节锁 185
17.19 锁的生命周期 186
17.20 动态锁管理 186
17.21 智能大对象的byte-range锁 186
17.22 监控range locks 187
第18章 事件警告event alarms 188
18.1 事件警告 188
18.2 警告程序 189
18.3 事件的严重程度代码Event severity code 189
18.4 Event Class和消息 190
18.5 警告程序举例 191
18.6 Informix 9.4版本中的警告程序 192
18.7 Informix 10版本中警告程序的补充 192
第19章 常见问题解决 194
19.1 常见的问题 194
19.2 操作系统内核的需要 195
19.3 申请共享内存段 195
19.4 为PDQ申请内存 196
19.5 chunk的权限和属主 197
19.6 临时dbspace和临时sbspace 197
19.7 数据库不能连接的问题 198
19.8 sqlhosts文件中的NETTYPE定义 198
19.9 NETTYPE配置参数 199
19.10 长事务 200
19.10.1 LTXHWM:长事务高水位线 200
19.10.2 LTXEHWM:独占访问 200
19.11 释放逻辑日志 201
19.11.1 激活的事务 201
19.11.2 最后检查点 201
19.12 通过oncheck检查数据的一致性 202
19.13 内部一致性检查错误 202
19.14 联系IBM Informix技术支持 203
第20章 Informix HDR数据备份技术介绍和配置 204
20.1 HDR的功能和介绍 204
20.2 影响HDR切换的时间 206
20.3 HDR对两台计算机软、硬件环境的要求 206
20.4 HDR的安装步骤 207
第21章 Informix RSS数据备份技术介绍和配置 210
21.1 RSS的概念和用途 210
21.2 RSS节点的安装步骤 211
第22章 Informix共享磁盘集群技术SDS和连接管理器的介绍和配置 213
22.1 SDS的工作原理 215
22.2 SDS的部署前提 215
22.3 介绍连接管理器 216
22.4 连接组 218
22.5 SDS的安装步骤 219
第23章 配置参数介绍 225
第24章 分片技术介绍 241
24.1 分片的概念和分类 241
24.2 分片举例 244
24.3 分片的维护 250
第25章 存储过程和触发器 255
25.1 存储过程的概念和结构 255
25.2 与存储过程相关的系统表 258
25.3 存储过程语言 259
25.4 检索存储过程代码 271
25.5 触发器 271
25.6 管理存储过程和触发器 276
25.7 权限 276
25.8 检索触发器的定义 278
第26章 Informix的查询分析 279
26.1 SET EXPLAIN ON AVOID EXECUTE 280
26.2 嵌套循环连接 280
26.3 哈希连接 281
26.4 画出查询树 282
26.5 监控查询 283
26.6 优化指示器 284
26.7 检查应用 286