远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

Lock Management

报告锁、死锁、锁升级和锁争用。


样本输出

Lock Management

---------------

Lock Summary

------------------------

Total Lock Requests

per sec

------------

279236.5

per xact

-----------

6878.6

count

--------- 167541893

% of total

---------

n/a

Avg Lock Contention

1.2

0.0

691

0.0 %

Cluster Locks Retained

0.0

0.0

0

0.0 %

Deadlock Percentage

0.0

0.0

0

0.0 %

Lock Detail

------------------------

per sec

------------

per xact

-----------

count

---------

% of total

---------

Table Lock Hashtable Lookups


9571.4


235.8


5742818


n/a

Avg Chain Length Spinlock Contention

n/a n/a

n/a n/a

0.00981

n/a

n/a

0.2 %


排它表

Granted

14.3

0.4

8580

100.0 %

Waited

0.0

0.0

0

0.0 %

-------------------------

------------

------------

----------

----------

Total EX-Table Requests

14.3

0.4

8580

0.0 %


共享表

Total SH-Table Requests 0.0 0.0 0 n/a


排它意图

Granted

139.7

3.4

83793

100.0 %

Waited

-------------------------

Total EX-Intent Requests

0.0

------------

139.7

0.0

------------

3.4

0

----------

83793

0.%

----------

0.1 %


共享意图

Granted


9412.9


231.9


5647759


100.0 %

Waited

-------------------------

Total SH-Intent Requests

0.0

------------

9412.9

0.0

------------

231.9

0

---------- 5647759

0.0 %

----------

3.4 %

Page & Row Lock HashTable Lookups


173637.2


4277.3


104182335


n/a

Avg Chain Length Spinlock Contention

n/a n/a

n/a n/a

0.01387

n/a

n/a

0.4 %

Exclusive Page Granted


306.5


7.6


183911


100.0 %

Waited

-------------------------

Total EX-Page Requests

0.0

------------

306.5

0.0

------------

7.6

2

----------

183913

0.0 %

----------

0.1 %

Update Page Granted


19052.6


469.3


11431583


100.0 %

Waited

-------------------------

Total UP-Page Requests

0.1

------------

19052.7

0.0

------------

469.3

60

---------- 11431643

0.0 %

----------

6.8 %

Shared Page Granted


63587.2


1566.4


38152347


100.0 %

Waited

-------------------------

Total SH-Page Requests

0.0

------------

63587.2

0.0

------------

1566.4

0

---------- 38152347

0.0 %

----------

22.8 %

Exclusive Row Granted


33.9


0.8


20326


100.0 %


Waited

-------------------------

Total EX-Row Requests

0.0

------------

33.9

0.0

------------

0.8

0

----------

20326

0.0 %

----------

0.0 %

Update Row Granted


10.1


0.2


6030


98.2 %

Waited

-------------------------

Total UP-Row Requests

0.2

------------

10.2

0.0

------------

0.3

108

----------

6138

1.8 %

----------

0.0 %

Shared Row Granted


88431.3


2178.4


53058781


100.0 %

Waited

-------------------------

Total SH-Row Requests

0.0

------------

88431.3

0.0

------------

2178.4

0

---------- 53058781

0.0 %

----------

31.7 %

Next-Key

Total Next-Key Requests


0.0


0.0


0


n/a


Address Lock Hashtable Lookups


98247.7


2420.2


58948613


n/a

Avg Chain Length Spinlock Contention

n/a n/a

n/a n/a

0.00019

n/a

n/a

0.5 %


Exclusive

Address

Granted

2758.9

68.0

1655359

100.0 %

Waited

0.6

0.0

380

0.0 %

-------------------------

------------

------------

----------

----------

Total EX-Address Requests

2759.6

68.0

1655739

1.0 %

Shared Address

Granted

95487.9

2352.2

57292733

100.0 %

Waited

0.2

0.0

141

0.0 %

-------------------------

------------

------------

----------

----------

Total SH-Address Requests

95488.1

2352.2

57292874

34.2 %

Last Page Locks on Heaps

Granted 799.4 19.7 479637 100.0 %

-------------------------

------------

------------

----------

Total Last Pg Locks

799.4

19.7

479637

-------------------------

------------

------------

----------

Total Last Pg Locks

799.4

19.7

479637

Waited 0.0 0.0 0 0.0 %

----------

100.0 %


Deadlocks by Lock Type

per sec

per xact

count

% of total

------------------------

------------

-----------

---------

---------

Total Deadlocks

0.0

0.0

0

n/a


Deadlock Detection

Deadlock Searches

0.0

0.0

19

n/a

Searches Skipped

0.0

0.0

0

0.0 %

Avg Deadlocks per

Search

n/a

n/a

0.00000

n/a

Lock Promotions

Total Lock Promotions

0.0

0.0

0

n/a

Lock Timeouts by Lock Type

per sec

per xact

count

% of total

------------------------

------------

-----------

---------

---------

Total Timeouts

0.0

0.0

0

n/a


Cluster Lock Summary

------------------------

per sec

------------

per xact

-----------

count

---------

% of total

---------

Physical Locks Summary

------------------------

per sec

------------

per xact

-----------

count

---------

% of total

---------

No physical locks are acquired

Logical Locks Summary

------------------------

per sec

------------

per xact

-----------

count

---------

% of total

---------

Object Locks Summary

------------------------

per sec

------------

per xact

-----------

count

---------

% of total

---------


即使采样间隔期间没有出现明细行,也会报告明细行;例如上述样本输 出中的 “Deadlocks by Lock Type”。


Lock Summary


概述采样间隔期间发生的锁活动的统计信息。

Total Lock Requests”报告锁请求的总数。

Avg Lock Contention”报告锁争用的平均次数,以占锁请求总数的 百分比形式表示。


该值不足以确定锁争用的严重程度。若要确定锁争用的严重程度,请 查询 monSysWaitsmonProcessWaits monLocks 监控表,或者使用 sp_object_stats。有关详细信息,请参见 Performance and Tuning Series: Monitoring Tables (《性能和调优系列:监控表》)。有关 sp_object_stats 的详细信息,请参见 《Adaptive Server 参考手册: 过程》。有关调优锁定行为的详细信息,请参见 Performance and Tuning Series: Locking and Concurrency Control (《性能和调优系列: 锁定和并发控制》)。

Cluster Locks Retained”表示保留的集群锁的数量。如果该数值很 高,则表示应用程序经过很好的分区,并且大多数集群锁已经授予 当前实例。如果该数值较低,可能表示您应该重新评估对象的模式 和负载模式,以减少多个实例之间的数据访问冲突。

monCLMobjectActivity 包含每个对象的集群级锁活动的值。这些值可帮 助在对象级别做出锁定决策。

Deadlock Percentage”报告死锁占锁请求总数的百分比。如果该值 很高,请参见 94 页的 “ Deadlocks by Lock Type


Lock Detail


提供可帮助确定应用程序是否会引起锁争用或与死锁相关的问题的信息。

锁争用对 Adaptive Server 的性能可能有较大影响。表锁产生的锁争用比 页或行锁要多,因为没有其它的任务可访问已具有排它表锁的表,且如 果任务需要排它表锁,它必须等待直到所有共享锁释放。如果锁争用很 严重,请运行 sp_object_stats 来帮助找出涉及到的表。

Lock Detail”按类型报告锁:

• Granted — 立即向应用程序授予每个锁类型的次数。

• Waited — 每个锁类型等待特定锁类型的次数。

• Lookups

• Avg Hash Chain Length — 采样间隔期间每个散列桶的平均锁数。

• Spinlock Contention — 引擎遇到螺旋锁争用的次数。 “Lock Detail”报告以下锁类型的 Granted Waited 值:

• Exclusive Table

• Exclusive Intent

• Shared Intent


• Exclusive Page

• Exclusive Row

• Update Row

• Shared Row

• Shared Address

• Last Page Locks on Heaps

Lock Detail”报告以下锁类型的 Avg Hash Chain LengthLookups

Spinlock Contention

• Shared Table

• Page & Row Lock HashTable

• Update Page

• Shared Page

• Next-Key

• Address Lock Hashtable

您可以使用 lock hashtable size 配置锁散列表的大小。如果每个散列链的 锁平均数大于四,则应考虑增加散列表的大小。

% of total”列显示授予的或被迫等待的特定锁类型占锁请求总数的百 分比。

采用批量复制的大批量插入操作是此指导原则的一种例外情况。锁散列 链长度可能在大批量复制期间变长。

请参见 Performance and Tuning Series: Locking and Concurrency Control(《性 能和调优系列:锁定和并发控制》)中的第 2 章 “Locking Configuration and Tuning”(锁定配置和调优)以及 《系统管理指南,卷 1》中的

5 章 “设置配置参数”。


Exclusive Address Shared Address

立即授予地址锁的次数或任务必须等待锁的次数。地址锁存放在所有页 锁定表的索引页上。地址锁可能会造成严重的影响,因为索引页上的锁 会阻止对索引页指向的所有数据页的访问。


堆上的最后页锁


报告分区堆表或未分区堆表的最后一页中的锁定尝试。它只报告所有页 锁定表。

此信息可表明系统中是否存在这样的表:它们能够从使用仅数据锁定、 分区或增加的分区数中受益。添加在数据页中随机分配插入的聚簇索引 也会有所帮助。如果您知道一个或多个表已出现争用最后页的问题,则 监控表可帮助确定遇到该问题的表。请参见 Performance and Tuning Series: Monitoring Tables (《性能和调优系列:监控表》)。

有关分区如何帮助解决未分区堆表中最后页锁定问题的信息,请参见 《性 能和调优系列:物理数据库调优》中的第 1 章 “控制物理数据放置”。


Table Lock Hashtable

在锁散列表中搜索页、行或表上的锁的次数。“Table Lock Hashtable” 报告:

• Lookups

• Avg Chain Length

螺旋锁争用

使用配置参数 lock hashtable size 配置锁散列表的大小。如果每个散列链 的锁平均数大于四,则应考虑增加散列表的大小。

有关详细信息,请参见 Performance and Tuning Series: Locking and Concurrency Control (《性能和调优系列:锁定和并发控制》)中的 第 2 章 “Locking Configuration and Tuning”(锁定配置和调优)。


Deadlocks by Lock Type

特定类型的死锁数量。“% of total”给出每种死锁的数量,以占死锁总 数的百分比形式表示。

同一数据库中许多事务同时执行的情况下可能发生死锁。随着事务之间 的锁争用的增加,死锁就会更加经常发生。

本类别报告下列死锁类型的数据:

排它表

共享表

排它意图


共享意图

排它页

更新页

共享页

排它行

更新行

共享行

共享下一键

排它地址

共享地址

其它

Total Deadlocks”汇总了所有锁类型的数据。

正如这一部分的示例所示,如果没有任何死锁, sp_sysmon 不显示任何详 细信息,而是只输出带零值的 “Total Deadlocks”行。

若要找出死锁发生的位置,请执行以下一种或两种操作:

使用 sp_object_stats

有关详细信息,请参见 Performance and Tuning Series: Locking and Concurrency Control (《性能和调优系列:锁定和并发控制》)中的 第 2 章 “Locking Configuration and Tuning”(锁定配置和调优)。

启用将详细死锁信息输出到日志功能。

有关详细信息,请参见 Performance and Tuning Series: Locking and Concurrency Control (《性能和调优系列:锁定和并发控制》)中的 第 3 章 “Locking Reports”(锁定报告)。


Deadlock Detection

在采样间隔期间找到死锁的死锁搜索次数,以及跳过的死锁搜索的次数。

有关详细信息,请参见 Performance and Tuning Series: Locking and Concurrency Control (《性能和调优系列:锁定和并发控制》)中的 第 3 章 “Locking Reports”(锁定报告)。


Deadlock Searches


Adaptive Server 在采样间隔期间启动死锁搜索的次数。对于未发生死锁或 死锁级别很低的应用程序来说,死锁检查是很费时的开销。可将此数据 与 96 页的 “ Average Deadlocks per Search 结合使用以确定 Adaptive Server 对死锁的检查是否过于频繁。


Searches Skipped


某个任务开始执行死锁检查但发现死锁检查正在进行而跳过此检查的次 数。“% of total”报告跳过的死锁搜索占搜索总数的百分比。

当锁争用阻止某进程时,该进程会等待一个时间间隔 (由配置参数 deadlock checking period 设置)。此阶段过去后,该进程开始死锁检查。如 果搜索已在进行中,则该进程将跳过该搜索。

如果发现有一些搜索被跳过,但某些搜索正在查找死锁,则应略微增加 参数值。如果发现许多搜索被跳过,而且没有任何死锁或很少有死锁,则 可以大幅度增加参数值。

有关配置参数的详细信息,请参见 《系统管理指南,卷 1》中的第 5 章 “设置配置参数”。


Average Deadlocks per Search

报告每次搜索发现的死锁平均数。

本类别衡量 Adaptive Server 是否过于频繁地检查死锁。如果应用程序很 少死锁,您可以通过增加 deadlock checking period 配置参数的值来调整任 务搜索死锁的频率。

有关配置参数的详细信息,请参见 《系统管理指南,卷 1》中的第 5 章 “设置配置参数”。


Lock Promotions


发生下列升级的次数:

Ex-Page to Ex-Table”— 排它页到排它表。

Sh-Page to Sh-Table”— 共享页到共享表。

Ex-Row to Ex-Table”— 排它行到排它表。

Sh-Row to Sh-Table”— 共享行到共享表。


Sh-Next-Key to Sh-Table”— 共享下一键到共享表。

Total Lock Promotions”报告每秒和每个事务的组合锁升级类型的平 均数。

如果在采样间隔期间没有发生任何锁升级,则只输出行总数。 如果没有锁升级,则 sp_sysmon 不显示详细信息。

Lock Promotions”数据可以:

帮助检测应用程序中的锁升级是否是锁争用和死锁的原因。

在调优锁升级变量前后用于确定值的效力。

查看 “Granted”数据和 “Waited”数据以查找争用迹象。如果锁争用多 且锁升级发生频繁,可考虑更改所涉及表的锁升级阈值。

您可以在服务器范围内或对单个表配置锁升级阈值。

有关配置参数的详细信息,请参见 《系统管理指南,卷 1》中的第 5 章 “设置配置参数”。


Lock Time-out Information

某个任务等待获取锁且由于会话级或服务器级锁超时而回退事务的次数。 只有在采样期间发生锁超时时,才输出显示锁类型的详细行。如果没有发 生任何锁超时,则显示 “Total Lock Time-outs”行以及所有等于 0 的值。

有关锁超时的详细信息,请参见 Performance and Tuning Series: Locking and Concurrency Control (《性能和调优系列:锁定和并发控制》)中的 第 4 章 “Using Locking Commands”(使用锁定命令)。


Cluster Lock Summary

sp_sysmon 报告集群锁的以下活动:

• Lock Garbage Collection — 锁碎片收集的运行次数。如果每秒钟有大 量碎片收集,则表示集群的锁数量不足。

• Targeted Collection Success — 锁碎片收集能够成功回收目标锁数的次 数。 Cluster Edition 在内部确定目标锁数,它不是一个可配置的参数。 如果每秒钟有少量碎片收集,则表示集群的锁数量不足或可用的 CIPC 消息空间量不足。


• Cluster Lock Requests — 由于出现争用而不能授予并且需要集群通信 的用户物理、逻辑或对象锁请求的数量。较高的值表示需要大量集群 通信量。

• Local Master — 拥有本地所有者的物理、逻辑或对象锁的数量。较 高的值表示理想锁,这可能表示在满足集群锁请求时只需要较少的 开销。

如果 Cluster Edition 找不到本地所有者:

您可能需要重新评估您的应用程序分区。

单个实例有太多负载,这会导致在所有者和远程实例之间进行负 载平衡。考虑更改负载模式 (例如对数据进行分区)。

• Lock Granted — 等待远程实例的集群锁请求的数量,该远程实例拥有 不存在冲突的任务所有权的集群锁。较高的 Lock Granted 值表示集 群中的多个实例之间的锁请求出现冲突。请重新评估您的应用程序 分区。

• Lock Waited — 等待远程实例的集群锁请求的数量,该远程实例拥有 存在冲突的任务所有权的集群锁。较高的 Lock Waited 值表示锁级 别争用:不同实例上的两个任务尝试获取同一锁,因此出现冲突。 为了纠正此问题,请重新评估您的应用程序分区。

• Downgrade Req Recv — 显示远程实例在请求由本地实例拥有的锁时 发送的降级请求的数量。




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------