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

 


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

异步日志服务


异步日志服务 (ALS) 使 Adaptive Server 获得了极大的可伸缩性,可为高 端的对称多处理器系统的日志记录子系统提供更高的吞吐量。

如果引擎数少于 4 个,则不能使用 ALS。如果在联机引擎数少于 4 个的 情况下尝试启用 ALS,会显示错误消息。


可以使用 sp_dboption 启用、禁用或配置 ALS

sp_dboption <db Name>, "async log service", "true|false"

发出 sp_dboption 之后,必须在设置 ALS 选项的数据库中发出 checkpoint

sp_dboption "mydb", "async log service", "true" use mydb

checkpoint

可使用 checkpoint 确定一个或多个数据库,或使用 all 子句。

checkpoint [all | [dbname[, dbname[, dbname.....]]]

禁用 ALS 在禁用 ALS 前,请确保数据库中没有活动用户。如果有活动用户,则在 发出检查点时会收到以下错误消息:

sp_dboption "mydb", "async log service", "false" use mydb

checkpoint

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

Error 3647: Cannot put database in single-user mode. Wait until all users have logged out of the database and issue a CHECKPOINT to disable "async log service".

如果数据库中没有活动用户,则本示例将禁用 ALS

sp_dboption "mydb", "async log service", "false" use mydb

checkpoint

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

显示 ALS 可以通过使用以下命令查看是否已在指定数据库中启用 ALS

sp_helpdb "mydb"

----------

mydb 3.0 MB sa 2

July 09, 2002

select into/bulkcopy/pllsort, trunc log on chkpt, async log service


理解用户日志高速缓存 (ULC) 的体系结构

Adaptive Server 的日志记录体系结构的特点是使用了用户日志高速缓存 (ULC),从而使每个任务都拥有自己的日志高速缓存。其它任何任务都 无法向此高速缓存写入信息,每当事务生成日志记录时,该任务将继续 向用户日志高速缓存写入信息。当提交或中止事务时,或者当用户日志 高速缓存已满时,用户日志高速缓存将被刷新到由所有当前任务共享的 通用日志高速缓存中,然后再写入到磁盘中。

刷新 ULC 是提交或中止操作的第一步。所需的每个后续步骤都可能导 致延迟或增加争用:

1 在最后一页日志页上获得锁。

2 如有必要,分配新的日志页。

3 将日志记录从 ULC 复制到日志高速缓存。

步骤 2 和步骤 3 中的进程要求在最后一页日志页上上锁,这样可以 防止任何其它任务向日志高速缓存写入信息或者执行提交或中止 操作。

4 将日志高速缓存刷新到磁盘。

4 步要求对日志高速缓存重复扫描,以便对脏缓冲区发出 write

命令。

重复扫描会引起对该日志绑定到的缓冲区高速缓存螺旋锁的争用。 在大量的事务负载下,对该螺旋锁的争用现象可能会相当突出。


何时使用 ALS


只要系统运行有 4 个或更多联机引擎,就可对至少有以下一种性能问题 的任何指定数据库启用 ALS

对最后一页日志页的争用现象突出。

sp_sysmon 输出的 “任务管理报告”部分,如果出现了一个非常 高的值,则可以确定最后一页日志页正处于争用状态。例如:

任务管理报告

per sec

per xact

count

% of total

日志信号争用

58.0

0.3

34801

73.1

任务管理报告

per sec

per xact

count

% of total

日志信号争用

58.0

0.3

34801

73.1

6-4:日志页争用


对日志高速缓存的高速缓存管理器螺旋锁的争用现象突出。


sp_sysmon 输出的 “数据高速缓存管理报告”部分,如果针对数 据库事务日志高速缓存在 “螺旋锁争用”部分出现了一个很高的值, 则可以确定高速缓存管理器螺旋锁正处于争用状态。例如:

6-5


Cache c_log

per sec

per xact

count

% of total

螺旋锁争用

n/a

n/a

n/a

40.0%

日志设备中存在未充分利用的带宽。


image

注释 仅在确定了一个具有很高的事务要求的数据库后再使用 ALS,因 为对多个数据库设置 ALS 可能会导致吞吐量和响应时间的意外变化。 如果希望对多个数据库配置 ALS,应首先检查吞吐量和响应时间是否令 人满意。

image


使用 ALS


有两个线程 (ULC 刷新器和日志写入器)将扫描脏缓冲区 (充满尚未 写入到磁盘的数据的缓冲区),复制数据,然后将数据写入到日志中。


ULC 刷新器


ULC 刷新器是一个系统任务线程,专门用于将一个任务的用户日志高 速缓存刷新到通用日志高速缓存。当任务准备好提交时,用户向刷新器 队列中输入提交请求。每个条目都有一个句柄, ULC 刷新器可通过句 柄访问将该请求排入队列的任务的 ULCULC 刷新器任务始终监控着 刷新器队列,负责从队列中删除请求并通过将 ULC 页刷新到日志高速 缓存来满足请求。


日志写入器


ULC 刷新器将 ULC 页刷新到日志高速缓存后,它会将任务请求排入 到唤醒队列中。日志写入器将巡查日志高速缓存中的脏缓冲区链,如果 发现脏缓冲区则发出 write 命令,同时还为那些页面已全部写入到磁盘 的任务监控唤醒队列。由于日志写入器巡查脏缓冲区链,因此它知道缓 冲区何时可以向磁盘写入。


ALS 的存储过程支持

sp_dboption sp_help 支持异步日志服务:

sp_dboption 添加用于启用和禁用 ALS 的选项。

sp_helpdb 添加一列以显示 ALS

有关 sp_helpdb sp_dboption 的详细信息,请参见 《参考手册:过程》。




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