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

 


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

低持久性数据库的性能优化

低持久性数据库将其持久性设置为 no_recovery at_shutdown。因为不 恢复低持久性数据库,所以它们提供了下列性能优点:

低持久性数据库不会由于解锁而刷新用户日志高速缓存 (ULC),因 此增加了事务密集型系统中的事务吞吐量。

当两个事务试图更新同一个数据行锁定数据页,从而导致第二个事 务在使用该数据页之前首先将第一个事务的 ULC 中的日志记录刷新 到 syslogs 时,将发生 ULC 解锁。增加到 syslogs ULC 刷新会增加 日志争用,从而对事务密集型系统中的事务吞吐量造成不利的影响。


sp_sysmon 输出中的 Transaction Management 部分表明,低持久性数 据库的 ULC Flushes to Xact Logby Unpin by Single Log Record

(所有与解锁相关的操作)的值明显低于完全持久性数据库的相应 值。这就增加了事务密集型系统中的事务吞吐量。低持久性数据库 的以下 sp_sysmon 输出表明没有由于解锁而产生的 ULC 刷新:

ULC Flushes to Xact Log per sec per xact count % of total

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

Any Logging Mode DMLs

by End Transaction 40.3 0.0 2416 100.0 %

by Change of Database 0.0 0.0 1 0.0 %

by Unpin 0.0 0.0 0 0.0 %

by Other 0.0 0.0 0 0.0 %

低持久性数据库不在 commit 过程中执行事务日志刷新,原因是事务 不写入磁盘。

对于宽松持久性数据库而言,通常不需要进行事务日志刷新;这些 数据库不需要可靠记录的已提交事务,原因是它们不在重新启动过 程中恢复。 Adaptive Server 通常在事务完成后刷新事务日志;对于 宽松持久性数据库而言,它在缓冲区清洗过程中刷新事务日志。

sp_sysmon 输出中的 Device Activity Detail 部分显示了宽松持久性数 据库日志设备的写入操作次数。它显示了 15.0.3 版磁盘驻留式数据 库的 sp_sysmon 输出:

Device:

/disk_resident/device/1503esd2/drdb_device.dat

drdb_device per sec per xact count % of total

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

Reads

APF 0.0 0.0 0 0.0 %

Non-APF 14.3 0.0 2380 0.2 %

Writes 9247.3 1.5 1544304 99.8 %

------------------- ----------- ------------ --------- ---------- Total I/Os 9261.6 1.5 1546684 100.0 %

下面显示了 15.5 Adaptive Server 的有关宽松持久性数据库的相同 输出。因为这是宽松持久性数据库,所以其写入操作数大约占磁盘 驻留式数据库写入操作数的 23%

Device:

/relaxed_durability/IMDB/devices/ariesSMP/rddb_device.dat

rddb_device

per sec

per xact

count

% of total

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

-----------

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

---------

----------

Reads

APF

0.0

0.0

0

0.0 %

Non-APF

14.7

0.0

1031

0.7 %


Writes 2106.4 0.1 147446 99.3 %

------------------- ----------- ------------ --------- ---------- Total I/Os 2121.1 0.1 148477 99.9 %

低持久性数据库不对 ULC 中包含的事务进行日志记录。如果每个 事务的所有日志记录都完全包含在 ULC 中,并且每个事务都不需 要使用日志记录来进行任何提交后处理,则 Adaptive Server 在提交 事务时会放弃低持久性数据库中事务的日志记录。

因为您无需传输日志记录,所以日志的争用数量减少,从而增加了 事务密集型系统中的吞吐量。通常,在 ULC 中记录事务更有利于 较小的事务,原因是大型事务在提交时无法在 ULC 中包含其所有 日志记录;所记录的记录数大于 ULC 容量的大型事务必须在 ULC 已满时将其内容刷新到 syslogs 中。

如果小型事务在提交时包含在 ULC 中,则也可能会发生 ULC 刷新, 原因是 Adaptive Server 需要使用这些日志记录来完成提交后工作。 例如,如果事务在需要完成提交后工作时将数据库中的任何空间解 除分配,则也会在事务中发生 ULC 刷新。

请参见 Performance and Tuning Series: Monitoring Adaptive Server with sp_sysmon (《性能和调优系列:使用 sp_sysmon 监控 Adaptive Server》)的第 2 章“用 sp_sysmon 监控性能”中的 “ULC Flushes to Xact Log”

低持久性数据库不会将日志记录不全的更改刷新到磁盘。 Adaptive Server 必须偶尔将完全持久性数据库的数据页刷新到磁盘,原因是 相应的日志记录不能完全描述所发生的更改。以下是一些示例:

带有聚簇索引的表的任何索引或数据页拆分

排序

writetext 命令

快速 bcp

alter table 以更改表的锁定方案

alter table 以更改表的分区方案或表的模式

全表 reorg rebuild

alter table...unparition

内存数据库无需将数据页刷新到磁盘,原因是它们不使用磁盘。宽 松持久性数据库不会将数据页刷新到磁盘,原因是无需进行数据库 恢复。当磁盘 I/O 操作数很高 (例如,在 sort 操作结束时将已更改 的页刷新到磁盘)时,无需将数据页刷新到磁盘可以显著提高性能。


对低持久性数据库进行的不与其持久性直接相关、在内部发生且无需管 理的其它改进:

有关更新数据库时间戳 (事务密集型数据库中的频繁操作)的改进

对通过对仅数据锁定表使用索引扫描进行删除的改进

对向带非唯一索引的仅数据锁定表中进行批量插入的改进

上述改进还适用于将持久性显式设置为 no_recovery (通过 create database alter database)的临时数据库;它们不适用于将持久性显式 设置为 no_recovery 的临时数据库。


调整检查点时间间隔

除了确定恢复时间的长短以外, recovery interval in minutes 配置参数还确 定 Adaptive Server 对数据库执行检查点的频率。从来不对内存数据库执 行检查点,但是 Adaptive Server 确实对宽松持久性数据库执行检查点, 并按照 recovery interval in minutes 从磁盘中刷新所有已修改的缓冲区。

使用 recovery interval in minutes 可减少对缓冲区清洗施加的压力,并维护 可替换的缓冲区。 recovery interval in minutes 的值越低, Adaptive Server 执行检查点和冲洗所有已更改缓冲区的频率就越高。但是,您必须在执 行缓冲区清洗获得的好处与 Adaptive Server 执行检查点时发生的磁盘 I/O 操作数之间取得平衡。

当您将 recovery interval in minutes 设置为较高的值时,您必须在由于执行 检查点的频率较低而使磁盘 I/O 操作数减少所带来的好处与缓冲区请求 在缓冲区清洗发生时发现缓冲区 “脏”从而延迟其使用的可能性之间 取得平衡。

recovery interval in minutes 适用于服务器中的所有数据库,只有在评估此 参数的更改会对完全持久性数据库产生的影响之后,才能更改此参数。 如果您至少有一个在服务器崩溃后通常需要进行重大恢复的完全持久性 数据库,请继续使用及时恢复此数据库所需的值 (通常为缺省值,即 5 分钟)。如果更改对完全持久性数据库几乎没有影响 (也就是说,这 些数据库在服务器发生故障后几乎不需要恢复),请首先使用一个比缺

省值 5 分钟更长的恢复时间间隔 (例如, 30 分钟)。在进行更改之后, 请查看 sp_sysmon 的 “数据高速缓存管理”部分中的 Buffers Grabbed Dirty 值或每个高速缓存的信息。如果 Buffer Grabbed Dirty 值较高,请 减小 recovery interval in minutes 的值。


若要减少检查点为宽松持久性数据库执行的磁盘 I/O 操作的数量,同时 不影响完全持久性数据库的行为 (无论恢复时间间隔的值是多少),请 为宽松持久性数据库将 no chkpt on recovery 数据库选项设置为 true。使用 上述方法可评估 Buffers Grabbed Dirty 的值,并检验禁用检查点是否不 会对可重用缓冲区的可用性产生不利影响。




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