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

 


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

快速恢复


在计划内或计划外关机之后重新启动服务器期间,或者在高可用性 故障切换期间,要花费一大部分时间来执行数据库恢复。更快地恢 复可以尽量减少数据库停止工作的时间。快速恢复的目标是:

增强数据库恢复的性能

通过利用可用服务器资源并以智能化的方式对它们进行调优, 并行恢复多个数据库


在运行期提供多个检查点任务,这些检查点任务可同时运行以 尽量减少恢复时的工作量


Adaptive Server 启动序列

下面是 Adaptive Server 启动时的事件序列:

1 系统数据库在引擎 0 上恢复。

2 Adaptive Server 接受用户连接。

3 启动期间配置为处于联机状态的所有引擎都进入联机状态。

4 使用为提供最佳恢复性能而调优的缺省数据高速缓存,通过 “自调优”数目的恢复任务并行恢复用户数据库。

请参见 282 页的 “数据库恢复。有关恢复任务数量的信息, 请参见 281 页的 “并行恢复

HA 故障切换期间,进行故障切换的用户数据库被并行恢复并进 入联机状态。


尽早使引擎进入联机状态

在恢复系统数据库后,但在恢复用户数据库前,引擎进入联机状态。 这样,用户数据库将可被并行恢复,并且使引擎可用于联机活动。

引擎仅在启动期间以这种方式联机。在所有其它情况下 (如故障切 换),引擎已经在辅助服务器上联机。


并行恢复


使用 Adaptive Server 12.5.1 及更高版本,在启动和故障切换期间, 将通过多项恢复任务并行恢复数据库。数据库恢复是 I/O 密集型进 程。通过并行恢复方式恢复 Adaptive Server 所用的时间取决于基础 I/O 子系统的带宽。 I/O 子系统应能够处理 Adaptive Server 的并发 I/O 请求。


通过并行恢复,多个任务可以同时恢复多个用户数据库。恢复任务 的数量取决于配置参数 max concurrently recovered db。该配置参数的 缺省值是 0,指示 Adaptive Server 采用自调优方法。在这个方法中, 并不进行任何有关基础存储体系结构的假设。统计 I/O 采样方法根 据基础 I/O 子系统的性能确定恢复任务的最佳数目。提供对最佳恢 复任务数目的建议。如果配置值不是零,则 Adaptive Server 会生成 由配置参数以及 number of open databases 参数指示的数量的任务。

在并行恢复期间,系统管理员会通过将 max concurrently recovered db 设置为 1 来强制执行串行恢复。活动恢复任务会在恢复完正在处理 的数据库之后完成。其余的数据库以串行方式恢复。

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


数据库恢复


Adaptive Server 数据库恢复包括:

日志 I/O 大小 — Adaptive Server 将缺省数据高速缓存中可用的 最大缓冲池用于日志 I/O。如果具有最大缓冲区大小的缓冲池不 可用,则服务器将动态创建该缓冲池,并将该缓冲池用于日志 I/O。此缓冲池的缓冲区来自缺省缓冲池。为提供最佳恢复性 能,恢复将调优大缓冲池的大小。如果大缓冲池可用,但其大 小并非最佳,则 Adaptive Server 会以动态方式调整其大小,并 使用缺省缓冲池来优化恢复性能。缓冲池配置在恢复过程结束 后恢复。

请参见 《性能和调优系列:基础知识》中的第 5 章 “内存使用 和性能”。

async prefetch limit — 在恢复期间,服务器自动将恢复时使用的 缺省数据高速缓存中缓冲池的本地 async prefetch 限制设置为最 佳值。这将替换恢复期间用户指定的任何设置。

在恢复完成后,将恢复原始配置值。


恢复顺序


用户可以指定为全部或部分用户数据库恢复数据库的顺序。您可以 使用 sp_dbrecovery_order 将较重要的数据库配置为较早恢复。


若要使用 sp_dbrecovery_order 输入或修改用户定义的恢复顺序,您 必须使用 master 数据库并且拥有系统管理员特权。任何数据库中的 任何用户都可以使用 sp_dbrecovery_order 更改为用户定义的数据库 恢复顺序。请参见 《参考手册:过程》。

sp_dbrecovery_order 拥有表示联机顺序的附加参数。

sp_dbrecovery_order [database_name [, rec_order [, force [ relax | strict ]]]]

relax — 数据库随着恢复的进行而生成 (缺省行为)。

strict — 数据库按恢复顺序指定。

缺省值是 relax,这意味着在完成恢复后数据库立即进入联机状态。

恢复顺序必须是连续的,并从 1 开始。不能由于打算以后将恢复顺 序 3 指派给另一数据库,而将恢复顺序指定为 124

若要在用户定义的恢复序列中插入数据库,又不想将该数据库放在 最后,请输入 rec_order 并指定 force。例如,如果数据库 AB C 采用用户定义的恢复顺序 123,并且您想要插入 pubs2 数据库 作为第二个要恢复的用户数据库,请输入:

sp_dbrecovery_order pubs2, 2, force

此命令指定数据库 B 的恢复顺序为 3,并指定数据库 C 的恢复顺序 为 4

Adaptive Server 12.5.1 及更高版本根据用户指定的顺序使用并行恢复 任务确定下一个要恢复的数据库。其余数据库按其数据库 ID 的顺 序进行恢复。恢复数据库的时间取决于许多因素,包括可恢复日志 的大小。因此,虽然您使用 sp_dbrecovery_order 确定了恢复顺序, 但 Adaptive Server 可以按数据库启动顺序以外的顺序完成数据库恢 复。有些应用程序必须强制数据库按照与恢复顺序相同的顺序进入 联机状态,对于这样的应用程序, Adaptive Server sp_dbrecovery_order 中提供了 strict 选项。


更改或删除数据库的恢复位置

若要更改数据库在用户定义的恢复序列中的位置,请从恢复序列中 删除数据库,然后在您希望它出现的位置插入它。如果新位置不在 恢复顺序的末尾,则使用 force 选项。

若要从恢复序列删除一个数据库,请将其恢复顺序指定为 -1

例如,若要将 pubs2 数据库从恢复位置 2 移至恢复位置 1,请从恢复 序列中删除该数据库,然后重新指定它的恢复顺序,如下所示:


sp_dbrecovery_order pubs2, -1 sp_dbrecovery_order pubs2, 1, "force"


列出用户指定的数据库恢复顺序

若要列出指派了恢复顺序的所有数据库的恢复顺序,请使用:

sp_dbrecovery_order

这将生成如下输出内容:

The following databases have user specified recovery order: Recovery Order Database Name Database Id

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

1 dbccdb 8

2 pubs2 5

3 pubs3 6

4 pubtune 7

The rest of the databases will be recovered in default database id order.

若要显示特定数据库的恢复顺序,请输入数据库名:

1> sp_dbrecovery_order pubs2

2> go

Database Name Database id Recovery Order

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

pubs2 5 2

并行检查点


检查点任务的缓冲池并行处理活动数据库的列表。该缓冲池由配置 参数 number of checkpoint tasks 控制。如果出现检查点瓶颈情况,则 更多的检查点任务转换为短一些的可恢复日志,并且发生故障时恢 复需要处理的工作较少,因而提高了可用性。

number of checkpoint tasks 的缺省值为 1,表示串行检查点。number of engines number of open databases 限制此参数的值。若要促进并行 恢复,请配置要在启动时联机的最大引擎数量。如果减小此参数的 值,则检查点会结束,而当您增大该值时,会生成其它任务。

检查点是 I/O 密集型,因此,并行检查点的效用取决于数据库的布 局以及基本 I/O 子系统的性能。根据活动数据库的数目和 I/O 子系 统处理写入操作的能力,调优 number of checkpoint tasks

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


恢复状态


全局变量 @@ recovery_state 确定 Adaptive Server 是否处于恢复状 态。 @@ recovery_state 可以具有以下值:

• NOT_IN_RECOVERY Adaptive Server 不处于启动恢复或故障 切换恢复中。恢复已完成,且所有可以联机的数据库都已处于 联机状态。

• RECOVERY_TUNING Adaptive Server 处于恢复状态 (启动 或故障切换)中并且正调优恢复任务的最佳数目。

• BOOTIME_RECOVERY Adaptive Server 处于启动恢复状态中 并且已完成最佳任务数目的调优工作。但并非所有数据库都已 恢复。

• FAILOVER_RECOVERY Adaptive Server HA 故障切换期间 处于恢复状态并且已完成恢复任务的最佳数目的调优工作。所 有数据库都还没有联机。

@@recovery_state 可由应用程序使用,以确定何时所有数据库都被 恢复并进入联机状态。


为进行快速恢复调优


本节论述对 Adaptive Server 进行调优以减少恢复时间的一些准则。


数据库布局


数据库应在其自己的物理设备中具有日志和数据。日志和数据 的访问模式不同并且应该单独保存。

将基础 I/O 子系统配置为可以处理来自 Adaptive Server 中多个数 据库的并发 I/O 请求。


运行期配置建议


配置由 housekeeper free write percent 控制的最佳管家清洗百分 比,以便在可用周期中写尽脏页。缺省值通常是最佳的。

确保保留尽量少的长期运行的事务。长期运行的事务占有资源 并且也会导致恢复时间延长。

若要避免恢复时间延长,请使用 polite shutdown 关闭服务器。


设置空间计算


如果对于某一数据库而言数据空间计数不是必需的,则使用 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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------