第1章 系统管理概述 1
1.1 体系结构概述 1
1.2 Sybase系统管理员的任务 1
1.2.1 安装Sybase Adaptive Server 2
1.2.2 建立客户机和服务器之间的连接 2
1.2.3 安装和维护用户数据库 3
1.2.4 建立Adaptive ServerEnterprise的安全性 3
1.2.5 维护和诊断ASE 4
1.2.6 建立灾难恢复过程 4
1.2.7 监控ASE 5
1.2.8 实用程序的使用 5
1.4 系统表总览 6
1.3 数据库 6
1.5 Sybase系统存储过程 9
第2章 安装Adaptive Server 10
2.1 第1步:准备 10
2.1.1 逻辑页大小 11
2.1.2 物理设备 12
2.1.3 服务器名称 12
2.1.4 网络信息 12
2.1.5 Sybase软件资产管理器 13
2.2 第2步:文件传输 13
2.3 第3步:运行安装 13
2.3.1 interfaces文件 14
2.3.2 Runserver文件 16
2.3.5 Adaptive Server中的SSL 18
2.3.4 servername.cfg——服务器配置文件 18
2.3.3 Errodog文件 18
2.3.6 环境变量 20
2.4 第4步:前端安装 21
2.5 启动服务器 22
2.5.1 UNIX系统上的正常启动 22
2.5.2 NT系统上的正常启动 23
2.5.3 UNIX系统上的手工启动 23
2.5.4 自动系统引导 23
2.5.5 检验正在运行的服务器 24
2.6 关闭服务器 25
2.6.1 正常关闭 25
2.6.2 无等待关闭 25
2.6.3 维护关闭 26
3.1.2 性能含义 27
3.2 创建和删除设备 27
第3章 定义服务器物理设备和Sybase镜像设备 27
3.1.1 逻辑设备和物理设备 27
3.1 设备的需求 27
3.2.1 创建数据库设备 28
3.2.2 创建默认设备 31
3.2.3 删除数据库设备 31
3.3 原始设备和文件系统 32
3.4 Dsync选项 33
3.5 设备限制和约束 33
3.6 Master设备的创建 34
3.7 镜像和卷管理 35
3.7.1 Sybase镜像 35
3.7.2 禁止镜像 37
3.7.3 取消镜像 38
3.7.4 重镜像 39
3.7.5 软件级镜像和硬件级镜像 39
3.7.6 RAID 40
3.7.7 卷管理 40
3.8 系统信息 40
3.8.1 系统过程 41
3.8.2 系统表 42
3.8.3 灾难恢复 43
3.9 小结 44
3.10 其他 44
第4章 数据库 48
4.1 系统数据库 49
4.2 创建数据库 51
4.2.1 createdatabase命令 51
4.2.2 谁可以创建数据库 52
4.2.3 创建默认数据库 52
4.2.4 在分开的设备上创建数据库日志 53
4.3 设置数据库的大小 54
4.4 alter database命令 55
4.5 数据库选项 55
4.6 访问数据库信息 57
4.7 删除数据库 58
4.8 数据库所有权 58
4.9 系统表 59
4.9.1 sysdatabases 59
4.9.3 sysusages 60
4.9.2 sysdevices 60
第5章 数据库日志和恢复 62
5.1 事务 62
5.1.1 事务日志 62
5.1.2 事务模式 63
5.1.3 事务控制语句 64
5.2 检查点 68
5.3 恢复 69
5.4 当事务日志写满时 71
5.4.1 阈值 74
5.4.2 挂起的事务 75
5.5 小结 75
6.1 ASE安全级别 76
第6章 安全性 76
6.2 操作系统级安全性 77
6.3 服务器级安全性 77
6.3.1 sp_addlogin的参数 78
6.3.2 要求口令中存在数字 78
6.3.3 特殊的注册账号/用户 78
6.3.4 三个标准角色 80
6.3.5 删除注册账号 82
6.3.6 syslogins表 82
6.3.7 kill命令 84
6.4 数据库级安全性 84
6.4.1 guest用户 85
6.4.2 别名 86
6.4.3 用户和别名信息 86
6.4.4 访问顺序 87
6.4.6 组 88
6.4.5 数据库访问 88
6.4.7 sysusers表 89
6.4.8 移植数据库 90
6.4.9 系统内建函数 91
6.4.10 命令安全性 92
6.5 对象访问级安全性 92
6.5.1 对象许可 93
6.5.2 所有权链 94
6.5.3 显示许可 95
6.5.4 setuser命令 96
6.5.5 细粒度访问控制 96
6.5.6 set proxy命令 100
6.5.7 系统角色 101
6.5.8 用户定义的角色 103
6.6 集成的安全性概述 108
6.7 小结 108
第7章 审计 109
7.1 审计概述 109
7.2 审计的安装 110
7.3 sybsecurity数据库和表 111
7.4 sybsecurity存储过程 113
7.4.1 sp_audit 114
7.4.2 sp_displayaudit 115
7.4.3 sp_addauditrecord 115
7.4.4 sp_addaudittable 116
7.5 审计队列 116
7.6 审计数据库存储要求 117
7.8 单表审计 119
7.7 创建审计表 119
7.9 存档审计记录 120
7.10 查询审计追踪 121
7.11 审计与第三方软件交互 122
7.12 有效审计的额外技巧 123
7.13 小结 124
第8章 备份和还原 125
8.1 角色和0任 125
8.2 备份类型 126
8.3 备份场景 127
8.4 备份服务器 128
8.4.1 远程备份服务器 128
8.4.2 服务器鉴别 129
8.4.3 启动备份服务器 129
8.5.1 sp_addumpdevice 130
8.5 转储设备 130
8.5.2 数据库转储 131
8.5.3 转储压缩 133
8.5.4 转储数据库小结 134
8.6 自动备份 134
8.7 装载数据库命令 135
8.7.1 装载出错数据库 135
8.7.2 联机数据库 136
8.7.3 装载数据库小结 136
8.8 创建用于还原的数据库 136
8.9 转储事务命令 138
8.9.1 转储事务选项 138
8.9.2 转储事务活动 139
8.10 装载事务 140
8.11.1 装载事务 141
8.11.2 步骤 141
8.11 最新恢复 141
8.12 适时恢复 142
8.13 sp_volchanged 142
8.14 监控日志 143
8.14.1 最后机会阈值 143
8.14.2 可用空间阈值 144
8.14.3 中断和挂起事务 144
8.15 逐步还原maser数据库 144
8.16 休眠数据库 146
8.17 数据库恢复场景 148
8.18 小结 149
9.1 启用资源限制 150
第9章 资源调控器 150
9.2 时间范围 151
9.2.1 添加时间范围 151
9.2.2 简化时间范围的创建 152
9.2.3 更改时间范围 152
9.2.4 删除时间范围 153
9.3 创建资源限制 153
9.3.1 选择限制类型 154
9.3.2 选择强制时间类型 155
9.3.3 选择动作 155
9.3.4 选择作用域 156
9.4 资源限制层次 156
9.4.1 资源限制范例 156
9.4.4 删除资源限制 157
9.4.2 查看资源限制 157
9.4.3 修改资源限制 157
9.5 系统表 158
9.5.1 spt_limit_types表 158
9.5.2 systimeranges表 158
9.5.3 sysresourcelimits表 158
9.6 小结 158
第10章 逻辑进程管理器 160
10.1 什么是逻辑进程管理器 160
10.2 逻辑进程管理器执行类别 161
10.2.3 时间片(Quantum) 162
10.3 逻辑进程管理器对象 162
10.4 逻辑进程管理器存储过程 162
10.2.2 引擎亲合力 162
10.2.1 基本优先权 162
10.4.1 sp_addexeclass 163
10.4.2 sp_dropexeclass 164
10.4.3 sp_bindexeclass 164
10.4.4 sp_unbindexeclass 165
10.4.5 sp_setpsexe 165
10.4.6 sp_clearpsexe 166
10.5 引擎组 166
10.5.1 sp_addengine 166
10.5.2 sp_dropengine 167
10.5.3 更多范例 167
10.6 逻辑进程管理器冲突和优先 169
10.7 一般建议 170
11.1 12.5以前版本的内存管理 171
第11章 服务器配置和调整 171
11.2 12.5版本的内存实用程序 172
11.3 配置系统表 174
11.3.1 sp_configure的输出 174
11.3.2 显示配置值 184
11.3.3 配置文件 184
11.3.4 动态选项与静态选项 189
11.3.5 内存相关变量 190
11.3.6 推荐的配置设置 191
11.4 小结 193
第12章 命名高速缓存 194
12.1 数据高速缓存 194
12.2 调整高速缓存 194
12.3 缓冲池 196
12.5 创建命名高速缓存 197
12.4 命名高速缓存的优点 197
12.5.1 重启服务器之前的结果 198
12.5.2 重启服务器之后的结果 199
12.6 创建缓冲池 199
12.6.1 使用缓冲池 200
12.6.2 清洗区 200
12.7 绑定 202
12.7.1 将对象绑定到命名高速缓存 202
12.7.2 删除高速缓存绑定 203
12.7.3 获取高速缓存绑定信息 203
12.8 事务性能和命名高速缓存 203
12.8.1 螺旋锁 204
12.8.2 关于高速缓存的几点附注 206
12.8.5 高速缓存配置指南 207
12.8.3 为tempdb数据库分配自己的数据高速缓存的优点 207
12.8.4 创建和配置高速缓存和缓冲池 207
12.9 调整高速缓存的一些意见 208
12.10 小结 208
第13章 远程服务器管理 209
13.1 远程访问 209
13.1.1 服务器命名 210
13.1.2 远程访问 210
13.1.3 映射注册账号 210
13.2 CIS—组件集成服务 211
13.2.1 远程服务器 212
13.2.2 本地存储 213
13.2.3 代理数据库 214
13.2.4 远程访问设置范例 215
13.2.5 为远程过程调用使用CIS 216
13.3 关于ASE页大小的几个问题 217
13.4 标准的RPC和CIS 218
13.5 根据系统文件创建表 219
13.6 文件访问 219
13.7 小结 220
第14章 预防性的维护体系 221
14.1 定期维护 221
14.2 服务器级维护 221
14.2.1 活动监控 221
14.2.2 监控的内容 224
14.2.3 监控系统错误日志 226
14.2.5 软件维护 231
14.2.4 资源检验 231
14.3 数据库级维护 232
14.3.1 数据库维护的计划安排 232
14.2.6 记录运行时数据 232
14.3.2 运行dbcc的方法 234
14.3.3 理解dbcc命令的输出 241
14.3.4 使用dbcc checkstorage的准备工作 242
14.3.5 规划dbccdb数据库 246
14.3.6 创建dbccdb数据库 247
14.3.7 维护dbccdb数据库 249
14.3.8 根据dbccdb生成报告 250
14.3.9 数据库转储 255
14.3.10 灾难恢复 255
14.3.13 脚本维护 256
14.3.14 检验转储 256
14.3.11 日志管理 256
14.3.12 空间管理 256
14.4 表级维护 257
14.4.1 更新统计信息 257
14.4.2 255字节规则 257
14.4.3 监控空间使用 257
14.5 小结 258
第15章 故障诊断 259
15.1 Adaptive Server没有起来 259
15.2 有些用户声称服务器停止了 259
15.6 用户不能访问对象 260
15.5 不能访问某些数据库或所有数据库 260
15.4 处理速度变慢或停止 260
15.3 服务器已经起来了,但是有些用户不能访问 260
15.7 来自故障诊断指南的信息 261
15.7.1 灾难恢复的任务 261
15.7.2 通过好的DBA习惯避免灾难 268
15.7.3 联机恢复和恢复故障隔离 271
15.7.4 当联机恢复失败时如何处理 274
15.7.5 如何手工改变排序顺序或默认的字符集 277
15.7.6 有用的dbcc命令 283
15.8 小结 285
第16章 工具 286
16.1 bcp 286
16.4 Sybase Central 288
16.3 optdiag 288
16.2 defncopy 288
附录A CSPDBA样例测试 291
附录B CSPDBA样例测试解答 297
附录C 技巧 309
UNIX系统上的数据库备份 309
死锁 309
默认数据库 310
装载产品数据库 310
性能调整 310
标准 310
审查 310
过程 310
Historical Server 311
分析 311
可用的DB 311
调整 311
调整 312
监控 313
数据库的惟一用户 315
注销数据库的用户连接 320
数据库设备使用情况报告 323
活动的和非活动的连接 326
数据库创建清单 331
简单的数据挖掘 333
空间需求 346
索引维护 346
确定SoIaris系统上的物理内存总量 347
争用 347
口令 348
标识符 348
DBA参考清单 349
附录D其他资源 353
附录E利用固态加速器调整Sybase ASE 354
摘要 354
介绍 354
解决合适的问题 355
确定问题领域 356
Sybase Adaptive Server的几个热点 357
固态盘的优点 358
结论 359
为什么应该关注碎片 360
介绍 360
附录F碎片和数据库性能 360
前言 360
关于作者 360
什么是碎片 361
术语定义 362
碎片的定义 362
碎片类型 363
杂乱页链 363
拙劣的页使用方式 365
区域碎片 367
数据行碎片 368
处理碎片 368
分析删除操作的影响 368
分析插入操作的影响 369
分析更新操作的影响 370
防止区域碎片 370
整理碎片的容量规划 371
使用固定长度的行大小 372
使用单调递增聚簇索引键值 372
使用惟一聚簇索引键值 373
大I/O考虑 373
碎片整理的好处 374
结论 374
附录G灾难恢复:实用手册 376
前言 376
介绍 376
什么是数据损坏 377
理解数据损坏 377
数据损坏是如何发生的 378
计算机硬件故障 378
磁盘驱动器 378
其他故障:CPU、RAM、网络故障 378
电源故障 379
磁盘驱动器故障 379
数据库日志 380
磁盘冗余 381
复制 381
操作系统故障 381
数据库服务器软件故障 382
!@# %(损坏)发生了,因此需要一份恢复计划 382
改进的DBCC:第三方解决方案 383
第一道防线:定期运行DBCC检查命令 383
检测数据库损坏 383
找到数据损坏(来自于用户) 384
当!@# %(损坏)发生了 384
调查损坏的起因 384
确定损坏的数据库区域 385
标准灾难恢复策略:优点、缺点及局限 386
拷贝出数据并重载数据 386
重建损坏的对象 387
在镜像磁盘之间切换 387
从备份还原 387
从复制的数据库还原 388
使用DBCC修复损坏 388
高级灾难恢复方法 388
修复APL表 389
通用的损坏灾难修复策略 389
修复数据层页 389
从页链中删除一页 390
修复DOL表 391
修复分配错误 391
修复损坏的索引 392
恢复损坏的数据 393
了解Sybase错误消息 394
Sybase错误日志的有关内容 394
错误605 394
分析605错误 395
修复605错误 396
错误692 396
修复692错误 397
分析692错误 397
错误695 398
分析695错误 399
修复695错误 399
错误697 400
分析697错误 400
修复697错误 400
错误806 400
分析806错误 401
修复806错误 401
错误1133 402
分析1133错误 402
修复1133错误 403
结论 403