远程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. 实用程序指南

 


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

异步预取如何改善性能

异步预取通过预测数据库活动 (对其来说,访问模式是可预测的) 的某些明确定义的类所需要的页来改善性能。在查询需要这些页之 前发出对它们的 I/O 请求,这样大多数的页在查询处理需要访问它 们时已经处于高速缓存中。异步预取可以改进以下性能:

顺序扫描,例如表扫描、聚簇索引扫描和被覆盖的非聚簇索引 扫描

通过非聚簇索引进行的访问

某些 dbcc 检查和 update statistics

恢复 对于访问大量页的查询,例如决策支持应用程序,在计算机的 I/O

子系统未达到饱和状态的情况下,异步预取可以提高查询性能。

如果 I/O 子系统已饱和或 Adaptive Server CPU 密集型,则异步预 取不能发挥作用 (或只能发挥少量作用)。异步预取可用于某些 OLTP 应用程序,但由于 OLTP 查询通常执行的 I/O 操作较少,其利 用率很低。


Adaptive Server 中的查询需要执行表扫描时,它:

检查页中的各行和每行的值。

检查高速缓存寻找要从表中读取的下一页。如果页存在于高速 缓存中,则继续处理任务。如果不在,任务将发出一个 I/O 请 求并进入休眠状态直到此 I/O 操作完成。

• I/O 操作完成后,该任务将从休眠队列移到运行队列。在引擎上 调度任务后, Adaptive Server 将检查新获取的页上的行。

这种对磁盘读取操作的执行和暂停循环将一直持续下去,直到表扫 描完成。类似地,使用非聚簇索引的查询同样需要处理数据页,为 索引所引用的下一页发出 I/O 命令,如果该页不在高速缓存中则进 入休眠状态直到此 I/O 完成。

这种先执行然后等待 I/O 的模式将降低对大量页发出物理 I/O 的查 询的性能。除了完成物理 I/O 所需的等待时间外,任务还重复开启 和关闭引擎,从而增加了处理开销。


通过预取页改善查询性能

异步预取在查询需要某些页之前发出对它们的 I/O 请求,从而多数 页在查询处理需要访问它们时已经处于高速缓存中。如果所需页已 存在于高速缓存中,查询不会放弃引擎来等待物理读取。查询也可 能会因其它原因放弃,但这种情况较少。

根据所执行的查询的类型,异步预取将建立它预计很快就会需要的 页的预见性设置Adaptive Server 为使用异步预取的每一处理类型 定义了不同的预见性设置。

某些情况下,预见性设置是非常精确的;但有时某些假定和推测可 能会使预取的页永远不会被读取。当读入高速缓存的页中不需要的 页所占的比例很小时,异步预取所获得的性能远远超过了读取无用 页的影响。如果未用页的数量变大, Adaptive Server 检测到这种情 况后,会减小预见性设置的大小或临时禁用预取。


多用户环境下的预取控制机制

当许多同时发生的查询将大量页预取到缓冲池后,为某个查询预取 的缓冲区在使用前可能会有从缓冲池中刷新的危险。

Adaptive Server 将跟踪由异步预取送入每个缓冲池中的缓冲区及被 使用的数目。它对已预取但未使用的缓冲区维护着一个以每个缓冲 池为基础的计数。缺省情况下, Adaptive Server 会将异步预取限制 设置为每个缓冲池的 10%。另外,对那些预取但未使用的缓冲区的 数量限制可以以每个缓冲池为基础进行配置。

缓冲池限制和使用情况统计信息充当异步预取管理器,来保持较高 的高速缓存命中率并减少不需要的 I/O。总体而言,结果可确保多 数查询都能有较高的高速缓存命中率,仅有较少的查询会由于磁盘 I/O 休眠而导致延迟。

以下部分描述如何为使用异步预取的活动和查询类型构造预见性设 置。在某些异步预取优化中,使用分配页来建立预见性设置。

有关分配页如何记录对象存储相关信息的信息,请参见 《性能和调 优系列:物理数据库调优》中的第 2 章 “数据存储”。


恢复过程中的预见性设置

恢复过程中, Adaptive Server 读取每个包含事务记录的日志页,然 后读取该事务引用的所有数据和索引页,以检验时间戳并回退或前 滚事务。然后,对下一已完成的事务执行同样的操作,直到数据库 中的所有事务都得到处理。两个独立的异步预取活动可加快恢复: 对日志页本身的异步预取和对所引用的数据及索引页的异步预取。


预取日志页


事务日志按顺序存储在磁盘上,填充每一分配单元的扩充。每次恢 复进程从新分配单元读取日志页时,它都将预取该分配单元中由日 志使用的所有页。

在没有独立日志段的数据库中,日志和数据扩充可能混合在同一个 分配单元中。异步预取仍预取该分配单元的所有日志页,但预见性 设置可能会变小。


预取数据和索引页


对每一事务, Adaptive Server 都将扫描日志,然后从每个引用的数 据和索引页建立预见性设置。在处理一个事务的日志记录时,异步 预取会对日志中后续事务所引用的数据和索引页发出请求,并在处 理当前事务之前读取这些页。


image

注释 恢复只使用缺省数据高速缓存中的缓冲池。有关详细信息, 请参见 125 页的 “为恢复设置限制

image


顺序扫描过程中的预见性设置

顺序扫描包括表扫描、聚簇索引扫描和被覆盖的非聚簇索引扫描。

在表扫描和聚簇索引扫描中,异步预取将使用用于对象的页的有关 分配页信息来构造预见性设置。每次从新的分配单元读取一页,预 见性设置是从对象使用的分配单元中的所有页中构造的。

顺序扫描在分配单元之间跳转的次数用来测量页链的分段。此值用 来调整预见性设置的大小,以便在分段较低时预取大量页,而在分 段较高时预取少量页。请参见 120 页的 “页链分段


非聚簇索引访问中的预见性设置

当使用非聚簇索引访问行时,异步预取查找非聚簇索引叶页上所有 限定的索引值的页号。它从所需的所有页的唯一列表中建立预见性 设置。

仅当有两个或两个以上的限定行时才使用异步预取。

如果一个非聚簇索引访问需要多个叶级页,也会对这些叶页发出异 步预取请求。


dbcc 检查过程中的预见性设置

在下列 dbcc 检查过程中使用了异步预取。

dbcc checkalloc,它检查数据库中所有表和索引的分配以及相应 的对象级命令 dbcc tablealloc dbcc indexalloc

dbcc checkdb,它检查数据库中的所有表和索引链接, dbcc checktable 检查独立的表及其索引


分配检查


dbcc 命令 checkalloctablealloc indexalloc (检查页分配)将验证 有关分配页的信息。对分配进行检查的 dbcc 操作的预见性设置与其 它顺序扫描的预见性设置方式类似。当扫描进入对象的一个不同分 配单元后,就从对象使用的分配单元的所有页中建立预见性设置。


checkdb checktable


dbcc checkdb dbcc checktable 命令检查表的页链,以与其它顺序扫 描相同的方式建立预见性设置。

如果正在检查的表中存在非聚簇索引,则从根页开始沿指向数据页 的所有指针以递归方式对这些索引进行扫描。当检查从叶页到数据 页的指针时, dbcc 命令以与非聚簇索引扫描类似的方式使用异步预 取。当某个叶级索引页被访问后,预见性设置将从叶级索引页所引 用的所有页的页 ID 中建立。


预见性设置的最小和最大值

查询在给定时间点的预见性设置大小由以下几个因素决定:

查询类型,如顺序扫描或非聚簇索引扫描

查询引用的对象所使用的缓冲池大小和每个缓冲池的预取限制 设置

在执行扫描操作的情况下,表或索引的分段

异步预取请求的当前成功率和 I/O 请求的过载条件及服务器的

I/O 限制


6-1 总结了不同类型的异步预取用法中的最小和最大值。

6-1:预见性设置大小

image

image

访问类型 操作 预见性设置大小

表扫描 聚簇索引扫描 覆盖叶级扫描

从一个新的分配单元 读取一页

查询至少需要 8 页 最大值是以下数值中的较小值:

属于某一对象的分配单元上的页数

image

缓冲池预取限制

非聚簇索引扫描 定位叶页上的限定行 并准备访问数据页

最小值是 2 个限定行 最大值是以下数值中的较小值:

叶索引页上限定行中的唯一页号的数量

缓冲池的预取限制

image

恢复 恢复一个事务 最大值是以下数值中的较小值:

正在恢复的事务所接触到的所有数据和索 引页

image

image

缺省数据高速缓存中缓冲池的预取限制 扫描事务日志 最大值是属于日志的分配单元的所有页

dbcc tableallocindexalloc

image

checkalloc

扫描页链 与表扫描相同

dbcc checktable checkdb 扫描页链

image

检查链接数据页的非 聚簇索引

与表扫描相同 叶级页引用的所有数据页。




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------