解决Sybase数据库锁定

http://bbs.chinaunix.net/viewthread.php?tid=627319

Sybase数据库死锁

  死锁的发生对系统的性能和吞吐量都有重要影响,经检测发现,管理信息系统的死锁主要是因为两个或多个线程(登录)抢占同一表数据资源。引起长时间抢占同一资源不是因为我们需要处理的事务太复杂,时间太长,而往往是因为我们在前端应用程序对数据库作操作时忘了提交.本文介绍一种处理解决这种死锁的方法。


Sybase封锁原理

  数据共享与数据一致性是一对不可调和的矛盾,为了达到数据共享与数据一致,必须进行并发控制。并发控制的任务就是为了避免共享冲突而引起的数据不一致。Sybase SQL Server并发控制的方法是加锁机制(LOCKING).

锁的类型   可申请的锁
已有的锁 S U X
S ∨ ∨ ×
U ∨ × ×
X × × ×
  Sybase SQL Server有三种封锁类型:排它锁(exclusive lock,简称X锁);共享锁(share lock,简称S锁);更新锁(update lock,简称U锁)。这三种锁的相容矩阵表如下:
  ×:表示不兼容。∨:表示兼容。  Sybase SQL Server是自动决定加锁类型的。一般来说,读(SELECT)操作使用S锁,写(UPDATE,INSERT和delete)操作使用X锁。U锁是建立在页级上的,它在一个更新操作开始时获得,当要修改这些页时,U锁会升级为X锁。

锁的力度
  SQL Server有两级锁:页锁和表锁。通常页锁比表锁的限制更少(或更小)。页锁对本页的所有行进行锁定,而表锁则锁定整个表。为了减小用户间的数据争用和改进并发性,SQL Server试图尽可能地使用页锁。
  当SQL Server决定一个语句将访问整个表或表的大多数页时,它用表锁来提供更有效的锁定。锁定策略直接受查询方案约束,如果update或delete语句没有可用的索引,它就执行表扫描或请求一个表锁定。如果update或delete语句使用了索引,它就通过请求页锁来开始,如果影响到大多数行,它就要请求表锁。一旦一个语句积累的页锁超过锁提升阈值,SQL Server就设法给该对象分配一个表锁。如果成功了,页锁就不再必要了,因此被释放。表锁也在页层提供避免锁冲突的方法。对于有些命令SQL Server自动使用表锁。

锁的状态
  SQL SERVER加锁有三种状态:
  1)意向锁(intend)—是一种表级锁,它表示在一个数据页上获得一个S或X锁的意向。意向锁可以防止其他事务在该数据页的表上获得排它锁。
  2)阻塞(blocking,简记blk)—它表明目前加锁进程的状态,带有blk后缀的锁说明该进程目前正阻塞另一个需要获得锁的进程,只有这一进程完成,其他进程才可以进行。
  3)需求锁(demand)—表示此时该进程企图得到一个排它锁。它可以防止在这一表或页上加过多的S锁,她表示某一事务是下一个去锁定该表和该页的事务。
  需求锁是一个内部过程,因此用sp_lock是无法看见的。

死锁DEADLOCK
  简单地说,有两个用户进程,每个进程都在一个单独的页或表上有一个锁,而且每个进程都想在对方进程的页或表上请求不相容锁时就会发生“死锁”。在这种情况下,第一个进程在等待另一进程释放锁,但另一进程要等到第一个进程的对象释放时才会释放自己的锁。
  SQL Server检查是否死锁,并终止事务中CPU时间积累最小的用户(即最后进入的用户)。SQL Server回滚该用户的事务,并用消息号1205通知有此死锁行为的应用程序,然后允许其他用户进程继续进行。
  在多用户情形下,每个用户的应用程序都应检查每个修改数据的事务是否有1205号消息,以此确定是否有可能死锁。消息号1025表示该用户的事务因死锁而终止并被回滚。应用程序必须重新开始这个事务处理。

查找死锁原因

  既然管理信息系统长时间死锁的原因是由于我们提交或者是提交不当,那么我们就可以通过修改程序防止出现死锁。定位死锁出错处主要经过以下三步:
  1)在死锁出现时,用SP_WHO,SP_LOCK获得进程与锁的活动情况。
  2)结合库表sysobjects和相应的操作员信息表查出被锁的库表与锁住别人的操作员。
  3)根据锁定的库表与操作员的岗位,可以估计出程序大约出错处。询问操作员在死锁时执行的具体操作即可完全定位出错处。最后查找程序并修改之。

用sp_who获取关于被阻碍进程的信息
  系统过程sp_who给出系统进程的报告。如果用户的命令正被另一进程保持的锁阻碍,则:
  ◆status列显示“lock sleep”。
  ◆blk列显示保持该锁或这些锁的进程标识,即被谁锁定了。
  ◆loginame列显示登录操作员。结合相应的操作员信息表,便可知道操作员是谁。
  Fid spid status loginame origname blk dbname cmd
  0 1 lock sleep lm lm 18 QJYD SELECT
  0 2 sleeping NULL NULL 0 master NETWORK HANDLER
  0 3 sleeping NULL NULL 0 master NETWORK HANDLER
  ……

用sp_lock浏览锁
  要得到关于当前SQL Server上保持的锁的报告,可用系统过程sp_lock [spid1[,spid2]],spid1,spid2是表master.dbo.sysprocesses中的sql server进程id号,用sp_who可以得到锁定与被锁定的spid号:
  ◆locktype列显示加锁的类型和封锁的粒度,有些锁的后缀还带有blk表明锁的状态。前缀表明锁的类型:Sh—共享锁,Ex—排它锁或更新锁,中间表明锁死在表上(”table”或’intent’)还是在页上(page). 后缀“blk”表明该进程正在障碍另一个需要请求锁的进程。一旦正在障碍的进程一结束,其他进程就向前移动。“demand”后缀表明当前共享锁一释放, 该进程就申请互斥锁。
  ◆table_id列显示表的id号,结合sysobjects即可查出被封锁的表名。
  执行该进程后屏幕显示

Fid Spid locktype table_id page row dbname Class context
0 1 Sh_intent 678293476 0 0 QJYD Non Cursor LockFam dur
0 1 Sh_page 678293476 31764 0 QJYD Non Cursor Lock
0 18 Ex_intent 9767092 0 0 QJYD Non Cursor LockFam dur
  ……

定位出错处
  根据sp_who与sp_lock命令的结果,结合sysobjects和相应的操作员信息表。得到操作员及其在死锁时所操作的库表,便大约可以知道应用程序的出错处,再询问操作员在死锁时执行什么操作以进一步认证。最后查找程序并修正之。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sybase ASE 15.7 开发文档:系统管理指南(卷二)共两卷 第 1 章 限制对服务器资源的访问 第 2 章 镜像数据库设备 第 3 章 配置内存 第 4 章 配置数据高速缓存 第 5 章 管理多处理器服务器 第 6 章 创建和管理用户数据库 第 7 章 装入和卸下数据库 第 8 章 分布式事务管理 第 9 章 创建和使用段 第 10 章 使用 reorg 命令 第 11 章 检查数据库一致性 第 12 章 制定备份和恢复计划 第 13 章 备份和恢复用户数据库 第 14 章 恢复系统数据库 第 15 章 存档数据库访问 第 16 章 自动扩展数据库 第 17 章 使用阈值管理可用空间 第 1 章限制对服务器资源的访问 .......... 1 资源限制 .......... 1 计划资源限制 .......... 2 启用资源限制 .......... 2 定义时间范围 .......... 3 确定所需的时间范围 .......... 3 创建指定的时间范围 .......... 4 修改指定的时间范围 .......... 5 删除指定的时间范围 .......... 5 时间范围更改何时生效? .......... 6 确定用户和限制 .......... 6 标识使用大量资源的用户 .......... 7 标识使用大量资源的应用程序 .......... 7 选择限制类型 .......... 8 确定强制时间 .......... 9 确定资源限制的范围 .......... 9 了解限制类型 .......... 10 限制 I/O 开销 .......... 11 限制经历时间 .......... 12 限制结果集的大小 .......... 13 设置 tempdb 空间使用限制 .......... 14 限制空闲时间 .......... 14 创建资源限制 .......... 14 资源限制示例 .......... 15 获得关于现有限制的信息 .......... 16 列出所有现有资源限制 .......... 16 修改资源限制 .......... 17 删除资源限制 .......... 17 资源限制的优先级 .......... 18 时间范围 .......... 18 资源限制 .......... 18 第 2 章镜像数据库设备 .......... 19 磁盘镜像 .......... 19 确定镜像对象 .......... 19 使用最小物理磁盘空间进行镜像 .......... 20 不间断恢复的镜像 .......... 21 不禁用镜像的条件 .......... 22 磁盘镜像命令 .......... 23 初始化镜像 .......... 23 取消镜像设备 .......... 24 重新启动镜像 .......... 24 waitfor mirrorexit .......... 25 镜像主设备 .......... 25 获取有关设备和镜像的信息 .......... 25 磁盘镜像教程 .......... 26 调整磁盘大小和磁盘镜像 .......... 28 第 3 章配置内存 .......... 29 确定可供 Adaptive Server 使用的内存 .......... 29 Adaptive Server 如何分配内存 .......... 30 磁盘空间分配 .......... 31 较大逻辑页大小和缓冲区 .......... 32 堆内存 .......... 32 Adaptive Server 如何使用内存 .......... 34 确定 Adaptive 所需的内存量 .......... 36 确定 Adaptive Server 内存配置 .......... 37 如果正在升级 .......... 38 确定 Adaptive Server 可以使用的内存量 .......... 38 影响内存分配的配置参数 .......... 39 动态分配内存 .......... 41 如果 Adaptive Server 不能启动 .......... 41 动态降低内存配置参数 .......... 41 配置线程池 .......... 45 确定线程总数 .......... 47 Tuning the syb_blocking_pool .......... 48 配置内存的系统过程 .......... 48 使用 sp_configure 设置配置参数 .......... 48 使用 sp_helpconfig .......... 50 使用 sp_monitorconfig .......... 51 控制 Adaptive Server 内存的配置参数 .......... 53 Adaptive Server 可执行代码大小 .......... 53 数据和过程高速缓存 .......... 54 Kernel resource memory .......... 56 用户连接数 .......... 56 打开的数据库、打开的索引和打开的对象 .......... 57 锁数目 .......... 57 数据库设备和磁盘 I/O 结构 .......... 58 使用内存的其它参数 .......... 58 并行处理 .......... 59 远程服务器 .......... 59 参照完整性 .......... 60 影响内存的其它参数 .......... 60 语句高速缓存 .......... 61 设置语句高速缓存 .......... 61 第 4 章配置数据高速缓存 .......... 69 Adaptive Server 数据高速缓存 .......... 69 高速缓存配置命令和系统过程 .......... 71 有关数据高速缓存的信息 .......... 72 配置数据高速缓存 .......... 73 创建新高速缓存 .......... 75 向现有命名高速缓存添加内存 .......... 76 减小高速缓存的大小 .......... 77 删除高速缓存 .......... 78 显式配置缺省高速缓存 .......... 79 更改高速缓存类型 .......... 81 配置高速缓存替换策略 .......... 81 将数据高速缓存划分为若干内存池 .......... 83 匹配日志高速缓存的日志 I/O 大小 .......... 85 将对象绑定到高速缓存 .......... 86 高速缓存绑定限制 .......... 87 获得有关高速缓存绑定的信息 .......... 87 检查高速缓存开销 .......... 88 开销如何影响总的高速缓存空间 .......... 88 删除高速缓存绑定 .......... 89 更改内存池的清洗区 .......... 90 如果清洗区过小 .......... 92 如果清洗区过大 .......... 93 设置管家以避免高速缓存的清洗 .......... 93 更改缓冲池的异步预取限制 .......... 94 更改内存池的大小 .......... 94 从内存池移走空间 .......... 94 从其它内存池移走空间 .......... 95 增加高速缓存分区数 .......... 97 设置高速缓存分区数 .......... 97 设置本地高速缓存分区数 .......... 97 优先级 .......... 98 删除内存池 .......... 98 由于页的使用而不能删除缓冲池时 .......... 99 高速缓存绑定对内存和查询计划的影响 .......... 99 从高速缓存中刷新页 .......... 99 锁定以执行绑定 .......... 99 高速缓存绑定对存储过程和触发器的影响 .......... 100 使用配置文件配置数据高速缓存 .......... 100 配置文件中的高速缓存和缓冲池条目 .......... 100 高速缓存配置指南 .......... 104 第 5 章管理多处理器服务器 .......... 107 Adaptive Server 内核 .......... 107 目标体系结构 .......... 108 内核模式 .......... 112 切换内核模式 .......... 113 任务 .......... 114 使用线程运行任务 .......... 114 配置 SMP 环境 .......... 115 线程池 .......... 115 管理引擎 .......... 117 启动和停止引擎 .......... 118 管理用户连接(仅进程模式) .......... 121 影响 SMP 系统的配置参数 .......... 122 第 6 章创建和管理用户数据库 .......... 125 创建和管理用户数据库的命令 .......... 125 管理用户数据库的权限 .......... 126 使用 create database 命令 .......... 127 为数据库指派空间和设备 .......... 128 缺省数据库大小和设备 .......... 129 估计所需空间 .......... 129 把事务日志存放在单独的设备上 .......... 130 估计事务日志大小 .......... 130 缺省日志大小和设备 .......... 131 将事务日志移动到其它设备 .......... 131 缩减日志空间 .......... 133 缩减日志空间时使用 dump 和 load database .......... 133 缩减日志空间时使用 dump 和 load transaction .......... 137 使用 for load 选项进行数据库恢复 .......... 143 使用 create database 的 with override 选项 .......... 144 更改数据库所有权 .......... 145 变更数据库 .......... 145 alter database 语法 .......... 146 使用 drop database 命令 .......... 147 管理空间分配的系统表 .......... 147 sysusages 表 .......... 148 获取有关数据库存储的信息 .......... 152 数据库设备名和选项 .......... 152 检查使用的空间量 .......... 153 查询系统表中的空间使用信息 .......... 155 第 7 章装入和卸下数据库 .......... 157 概述 .......... 157 清单文件 .......... 158 复制和移动数据库 .......... 159 性能考虑事项 .......... 160 设备检验 .......... 160 装入和卸载数据库 .......... 160 卸下数据库 .......... 161 装入数据库 .......... 162 创建数据库的可装入副本 .......... 164 将数据库从一个 Adaptive Server 移到 另一个 Adaptive Server .......... 164 系统限制 .......... 165 quiesce database 扩展 .......... 165 第 8 章分布式事务管理 .......... 167 受影响的事务类型 .......... 168 由外部事务管理器协调的分布式事务 .......... 168 RPC 和 CIS 事务 .......... 169 SYB2PC 事务 .......... 170 启用 DTM 功能 .......... 171 安装许可密钥 .......... 171 启用 DTM 功能 .......... 171 配置事务资源 .......... 172 使用 Adaptive Server 协调服务 .......... 174 事务协调服务概述 .......... 174 需求和行为 .......... 176 配置参与者服务器资源 .......... 177 在异构环境中使用事务协调服务 .......... 178 监控协调事务和参与者 .......... 179 DTM 管理和故障排除 .......... 179 事务和控制线程 .......... 179 获取有关分布式事务的信息 .......... 181 执行外部事务的步骤 .......... 185 分布式事务的崩溃恢复过程 .......... 186 尝试完成事务 .......... 187 编程与配置注意事项 .......... 191 第 9 章创建和使用段 .......... 193 Adaptive Server 段 .......... 193 系统定义的段 .......... 194 Adaptive Server 如何使用段 .......... 195 控制空间使用 .......... 195 改善性能 .......... 195 将表移到另一设备 .......... 197 创建段 .......... 198 更改段的范围 .......... 198 扩展段的范围 .......... 198 减小段的范围 .......... 199 向段指派数据库对象 .......... 200 在段上创建新对象 .......... 200 在段上放置已存在的对象 .......... 201 把文本页放在单独的设备上 .......... 204 对段创建聚簇索引 .......... 204 删除段 .......... 205 获取有关段的信息 .......... 205 sp_helpsegment .......... 206 sp_helpdb .......... 207 sp_help 和 sp_helpindex .......... 208 段和系统表 .......... 208 段的教程 .......... 209 第 10 章使用 reorg 命令 .......... 215 reorg 命令及其参数 .......... 215 使用 optdiag 实用程序评估对 reorg 的需求 .......... 216 将转移的行移动到主页 .......... 217 使用 reorg compact 撤消行转移 .......... 217 回收删除和更新后留下的未使用空间 .......... 217 不使用 reorg 命令的空间回收 .......... 218 回收未使用的空间并撤消行转移 .......... 219 重新创建表 .......... 219 运行 reorg rebuild 的前提条件 .......... 220 对索引使用 reorg rebuild 命令 .......... 221 使用 reorg rebuild index_name partition_name 重建索引 ...... 221 重建索引的空间要求 .......... 222 状态消息 .......... 222 用于大表重组的 resume 和 time 选项 .......... 222 在 time 选项中指定 no_of_minutes .......... 223 第 11 章检查数据库一致性 .......... 225 什么是数据库一致性检查程序? .......... 225 页和对象分配 .......... 226 了解对象分配映射 (OAM) .......... 228 了解页链接 .......... 230 使用 dbcc 可执行哪些检查? .......... 230 了解各个 dbcc 命令的输出 .......... 231 检查数据库和表的一致性 .......... 233 dbcc checkstorage .......... 233 dbcc checktable .......... 236 dbcc checkdb .......... 238 检查页分配 .......... 239 dbcc checkalloc .......... 239 dbcc indexalloc .......... 240 dbcc tablealloc .......... 241 dbcc textalloc .......... 241 使用 fix | nofix 选项更正分配错误 .......... 242 使用 dbcc tablealloc 和 dbcc indexalloc 生成报告 .......... 243 检查系统表的一致性 .......... 243 使用一致性检查命令的策略 .......... 244 使用大 I/O 和异步预取 .......... 245 在您的节点安排数据库维护 .......... 245 数据库一致性问题导致的错误 .......... 247 报告被中止的 checkstorage 和 checkverify 操作 .......... 247 软故障和硬故障的比较 .......... 248 使用 dbcc checkverify 检验故障 .......... 249 dbcc checkverify 的工作方式 .......... 249 何时使用 dbcc checkverify .......... 251 如何使用 dbcc checkverify .......... 252 使用 dbcc checkstorage 之前的准备工作 .......... 252 计划资源 .......... 253 配置工作进程 .......... 257 为 dbcc 设置命名高速缓存 .......... 258 配置一个 8 页的 I/O 缓冲池 .......... 259 为 dbccdb 分配磁盘空间 .......... 260 用于工作空间的段 .......... 260 创建 dbccdb 数据库 .......... 260 更新 dbcc_config 表 .......... 262 使用 sp_dbcc_updateconfig 添加缺省配置值 .......... 262 使用 sp_dbcc_updateconfig 删除配置值 .......... 263 查看当前配置值 .......... 263 维护 dbccdb .......... 263 重新评估并更新 dbccdb 配置 .......... 264 清除 dbccdb .......... 264 删除工作空间 .......... 265 对 dbccdb 执行一致性检查 .......... 265 从 dbccdb 生成报告 .......... 266 报告 dbcc checkstorage 操作的摘要 .......... 266 报告配置、统计和故障信息 .......... 266 使用 dbcc upgrade_object 升级编译对象 .......... 267 在生产之前查找编译对象错误 .......... 268 在升级中使用数据库转储 .......... 271 确定编译对象是否已升级 .......... 271 第 12 章制定备份和恢复计划 .......... 273 跟踪数据库的变化 .......... 274 获取有关事务日志的信息 .......... 274 使用 delayed_commit 确定提交日志记录的时间 .......... 274 指定备份的职责 .......... 277 同步数据库及其日志:检查点 .......... 277 设置恢复间隔 .......... 277 自动检查点过程 .......... 278 进行自动检查点操作后截断日志 .......... 278 可用检查点 .......... 279 手动请求检查点 .......... 279 在系统出现故障或关机后自动恢复 .......... 280 快速恢复 .......... 280 Adaptive Server 启动序列 .......... 281 尽早使引擎进入联机状态 .......... 281 并行恢复 .......... 281 数据库恢复 .......... 282 恢复顺序 .......... 282 并行检查点 .......... 284 恢复状态 .......... 285 为进行快速恢复调优 .......... 285 恢复期间的故障隔离 .......... 286 脱机页的持续性 .......... 287 配置恢复故障隔离 .......... 287 获取有关脱机数据库和页的信息 .......... 288 使脱机页联机 .......... 289 DOL 锁定表的索引级故障隔离 .......... 290 脱机页的副作用 .......... 290 使用恢复故障隔离的恢复策略 .......... 291 评估损坏的程度 .......... 293 使用 dump 和 load 命令 .......... 294 进行例行数据库转储:dump database .......... 294 进行例行事务日志转储:dump transaction .......... 294 设备出现故障后复制日志:dump tran with no_truncate ....... 295 恢复整个数据库:load database .......... 295 将更改应用到数据库:load transaction .......... 296 使用户可以使用数据库:online database .......... 296 跨平台转储和装载数据库 .......... 296 关于转储和装载数据库和事务的限制 .......... 298 性能注释 .......... 299 将数据库移到另一 Adaptive Server .......... 299 升级用户数据库 .......... 300 使用特殊 dump transaction 选项 .......... 301 使用特殊装载选项标识转储文件 .......... 301 从备份恢复数据库 .......... 302 挂起和恢复对数据库的更新 .......... 304 使用 quiesce database 的准则 .......... 305 维护在主服务器和辅助服务器关系中的服务器角色 .......... 307 使用 -q 选项启动辅助服务器 .......... 307 更新的“in quiesce”数据库日志记录值 .......... 307 更新转储序列号 .......... 308 使用 quiesce database 备份主设备 .......... 310 在抑制状态下制作存档副本 .......... 313 使用 mount 和 unmount 命令 .......... 315 使用 Backup Server 执行备份和恢复 .......... 315 与 Backup Server 通信 .......... 318 装入新卷 .......... 318 启动和停止 Backup Server .......... 319 配置服务器用于远程访问 .......... 320 选择备份介质 .......... 320 创建本地转储设备的逻辑设备名 .......... 321 列出当前设备名 .......... 322 添加备份设备 .......... 322 安排用户数据库的备份 .......... 323 安排例行备份 .......... 323 在其它时间备份数据库 .......... 323 安排 master 的备份 .......... 324 在每次更改后转储 master 数据库 .......... 325 保存脚本和系统表 .......... 325 截断 master 数据库事务日志 .......... 326 避免卷更换和恢复 .......... 326 安排 model 数据库的备份 .......... 326 截断 model 数据库的事务日志 .......... 326 安排 sybsystemprocs 数据库的备份 .......... 327 配置 Adaptive Server 以用于同时装载 .......... 327 收集备份统计信息 .......... 328 第 13 章备份和恢复用户数据库 .......... 329 指定数据库和转储设备 .......... 332 指定数据库名的规则 .......... 332 指定转储设备的规则 .......... 333 Backup Server 确定磁带设备 .......... 334 压缩转储 .......... 335 Backup Server 转储文件和压缩转储 .......... 337 装载压缩转储 .......... 338 指定远程 Backup Server .......... 339 指定磁带密度、块大小和容量 .......... 339 替换缺省密度 .......... 340 替换缺省块大小 .......... 340 指定转储命令的磁带容量 .......... 341 Backup Server 的非回绕磁带功能 .......... 341 指定卷名 .......... 342 从多个卷装载 .......... 342 标识转储 .......... 343 提高转储或装载性能 .......... 344 与之前版本的兼容性 .......... 344 以整数格式存储的标签 .......... 345 配置系统资源 .......... 345 指定其它转储设备:stripe on 子句 .......... 348 转储到多个设备 .......... 348 从多个设备装载 .......... 348 与转储相比装载所使用的设备较少 .......... 348 指定单个设备的特性 .......... 349 磁带处理选项 .......... 349 指定是否卸下磁带 .......... 350 回绕磁带 .......... 350 防止转储文件被覆盖 .......... 350 转储前重新初始化卷 .......... 351 转储和装载数据库时使用口令保护 .......... 351 替换缺省的消息显示目标 .......... 352 通过 with standby_access 使数据库处于联机状态 .......... 353 确定何时使用 with standby_access .......... 353 通过 with standby_access 使数据库处于联机状态 .......... 354 获取有关转储文件的信息 .......... 354 请求转储标头信息 .......... 354 确定数据库、设备、文件名和日期 .......... 355 设备出现故障后复制日志 .......... 356 截断日志 .......... 357 截断不在单独的段上的日志 .......... 357 在开发环境的早期截断日志 .......... 358 截断没有可用空间的日志 .......... 358 响应卷更改请求 .......... 361 用于转储的卷更改提示 .......... 361 用于装载的卷更改提示 .......... 363 恢复数据库:分步指导 .......... 364 获取事务日志的当前转储 .......... 365 检查空间使用情况 .......... 365 删除数据库 .......... 367 重新创建数据库 .......... 368 装载数据库 .......... 369 装载事务日志 .......... 369 使数据库处于联机状态 .......... 370 从较旧的版本装载数据库转储 .......... 371 将转储升级到当前版本的 Adaptive Server .......... 371 数据库脱机状态位 .......... 372 版本标识符 .......... 373 高速缓存绑定和装载数据库 .......... 373 数据库和高速缓存绑定 .......... 374 数据库对象和高速缓存绑定 .......... 375 跨数据库约束和装载数据库 .......... 376 第 14 章恢复系统数据库 .......... 377 恢复系统数据库 .......... 377 恢复 master 数据库 .......... 378 关于恢复进程 .......... 378 恢复过程总结 .......... 379 查找系统表的副本 .......... 379 建立新的主设备 .......... 380 在主恢复方式下启动 Adaptive Server .......... 382 重新创建 master 的设备分配 .......... 383 检查 Backup Server sysservers 信息 .......... 383 检验 Backup Server 是否在运行 .......... 384 装载 master 的备份 .......... 384 更新 number of devices 配置参数 .......... 385 在主恢复方式下重新启动 Adaptive Server .......... 385 检查系统表以检验 master 的当前备份 .......... 385 重新启动 Adaptive Server .......... 386 恢复服务器用户 ID .......... 386 恢复 model 数据库 .......... 387 检查 Adaptive Server .......... 387 备份 master .......... 387 恢复 model 数据库 .......... 388 恢复 sybsystemprocs 数据库 .......... 388 使用 installmaster 恢复 sybsystemprocs .......... 389 使用 load database 恢复 sybsystemprocs .......... 391 如何减小 tempdb 的大小 .......... 391 将 tempdb 重新设置为缺省大小 .......... 391 使用 disk reinit 和 disk refit 恢复系统表 .......... 394 使用 disk reinit 恢复 sysdevices .......... 394 使用 disk refit 恢复 sysusages 和 sysdatabase .......... 395 第 15 章存档数据库访问 .......... 397 概述 .......... 398 存档数据库的组件 .......... 399 使用存档数据库 .......... 401 配置存档数据库 .......... 402 调整修改页面区域的大小 .......... 402 增加分配给修改页面区域的空间量 .......... 403 实现存档数据库 .......... 403 使存档数据库联机 .......... 405 将事务日志装载到存档数据库中 .......... 405 删除存档数据库 .......... 405 使用存档数据库 .......... 406 将 SQL 命令用于存档数据库 .......... 406 将 dbcc 命令用于存档数据库 .......... 407 典型的存档数据库命令序列 .......... 407 存档数据库的压缩转储 .......... 409 创建压缩内存池 .......... 409 升级和降级存档数据库 .......... 410 升级带有存档数据库的 Adaptive Server .......... 410 降级带有存档数据库的 Adaptive Server .......... 410 压缩转储的兼容性问题 .......... 411 存档数据库的限制 .......... 411 第 16 章自动扩展数据库 .......... 413 了解磁盘、设备、数据库和段 .......... 413 阈值操作过程 .......... 416 安装自动数据库扩展过程 .......... 416 运行 sp_dbextend .......... 417 sp_dbextend 接口中的命令选项 .......... 417 验证当前阈值 .......... 417 对数据库进行自动扩展设置 .......... 420 约束和限制 .......... 422 第 17 章使用阈值管理可用空间 .......... 425 使用最后机会阈值监控可用空间 .......... 425 达到阈值 .......... 426 控制执行 sp_thresholdaction 的频率 .......... 426 回退记录和最后机会阈值 .......... 427 计算回退记录的空间 .......... 428 确定回退记录的当前空间 .......... 428 回退记录对最后机会阈值的影响 .......... 429 用户定义的阈值 .......... 429 共享的日志段和数据段的最后机会阈值和用户日志高速缓存 ........ 430 使用 lct_admin abort 中止挂起的事务 .......... 430 为 master 数据库的事务日志增加空间 .......... 432 自动中止或挂起进程 .......... 432 使用 abort tran on log full 中止事务 .......... 432 唤醒挂起的进程 .......... 433 添加、更改和删除阈值 .......... 433 显示现有阈值的有关信息 .......... 434 阈值和系统表 .......... 434 添加可用空间阈值 .......... 434 更改或指定新的可用空间阈值 .......... 435 删除阈值 .......... 435 为日志段创建可用空间阈值 .......... 436 测试和调整新阈值 .......... 436 在其它段上创建其它阈值 .......... 439 确定阈值放置位置 .......... 439 创建阈值过程 .......... 440 声明过程参数 .......... 440 生成错误日志消息 .......... 440 转储事务日志 .......... 441 一个简单的阈值过程 .......... 442 一个更复杂的过程 .......... 442 决定在何处放置阈值过程 .......... 444 禁用数据段的可用空间计数 .......... 444 索引 ..........447
第 1 章基础知识简介 .................................................................................... 1 优良性能 .......................................................................................... 1 响应时间 ................................................................................... 1 吞吐量 ....................................................................................... 2 性能设计 ................................................................................... 2 调优性能 .......................................................................................... 3 调优级别 ................................................................................... 4 确定系统限制 ................................................................................... 8 线程、线程池、引擎和 CPU ..................................................... 8 各种逻辑页大小 ........................................................................ 9 列数目和列大小 ........................................................................ 9 表达式、变量和存储过程参数的最大长度 ............................... 10 登录数 ..................................................................................... 10 限制对性能的影响 ................................................................... 10 内核资源内存的大小 ...................................................................... 10 分析性能 ........................................................................................ 11 范式 ........................................................................................ 12 锁定 ........................................................................................ 12 特殊注意事项 .......................................................................... 13 第 2 章网络和性能 ..................................................................................... 15 潜在的性能问题 ............................................................................. 15 关于网络性能的基本问题 ........................................................ 16 技术摘要 ................................................................................. 16 引擎和线程密切连接 ...................................................................... 17 网络监听器 ............................................................................. 17 Adaptive Server 使用网络的方式 .................................................. 18 配置 I/O 控制器 ............................................................................. 18 动态重新配置 I/O 任务 ............................................................ 20 更改网络包大小 ............................................................................. 20 在用户连接中使用大包或缺省包尺寸 ............................................. 21 包的数目至关重要 ................................................................... 21 Adaptive Server 评估工具 ...................................................... 22 其它评估工具 .......................................................................... 22

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值