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

 


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

配置自动 update statistics

通过以下方式自动更新统计信息:

利用 Job Scheduler 定义 update statistics 作业

update statistics 作业定义为自行管理安装的一部分

创建用户定义的脚本 本文档不讨论如何创建用户定义的脚本。


使用 Job Scheduler 更新统计信息

Job Scheduler 包含更新统计信息模板,可以用该模板创建对表、索引、 列或分区运行 update statistics 的作业。 datachange 函数确定表或分区中 更改量达到预定义阈值的时间。可在配置该模板时确定此阈值。

模板:

对特定表、分区、索引或列运行 update statistics。可以利用这些模板 定义希望 update statistics 运行的 datachange 值。

根据您在创建作业时所确定的阈值,在服务器级运行 update statistics, 这样可以配置 Adaptive Server 以扫描服务器上所有数据库中的可用 表,并更新所有表的统计信息。

若要配置 Job Scheduler 以自动运行 update statistics,请执行以下操作

(下面所列各章出自 《Job Scheduler 用户指南》):

1 安装和设置 Job Scheduler (第 2 章 “配置和运行 Job Scheduler”) 2 安装模板所需的存储过程 (第 4 章 “使用模板调度作业”)。

3 安装模板。 Job Scheduler 提供专门用于自动更新统计信息的模板

(第 4 章 “使用模板调度作业”)。

4 配置模板。用于自动更新统计信息的模板位于 “统计信息管理”文 件夹中。

5 调度作业。在定义了要跟踪的索引、列或分区后,还可以创建确定 Adaptive Server 何时运行作业的日程表,以确保仅在不影响性能的 情况下运行 update statistics

6 确定成功或失败。利用 Job Scheduler 基本结构可以确定自动运行

update statistic 是成功还是失败。



Adaptive Server 何时 运行 update statistics

可以使用此模板为 update statistics 命令的各个选项提供值,例如采样百 分比、消耗程序数目和梯级数等。另外,还可以为 datachange 函数、页 计数和行计数提供阈值。如果包括这些可选值,它们将用于确定 Adaptive Server 何时运行以及是否应该运行 update statistics。如果任何表、列、索 引或分区的当前值超过阈值, Adaptive Server 便会运行 update statisticsAdaptive Server 检测到对某列运行了 update statistics。在下次执行前,将 重新编译过程高速缓存中任何引用该表的查询。

update statistics 命令有多种形式 (update statisticsupdate index statistics

等);可以根据需要使用这些不同的形式。

必须指定三个阈值:rowcountpagecount datachange。虽然可以忽略

NULL 0 值,但这些值不会阻止命令的运行。

10-1 描述了 Adaptive Server 将根据您提供的参数自动运行 update statistics 的几种情况。

10-1Adaptive Server 何时自动运行 update statistics

image

如果用户 Job Scheduler 执行的操作

datachange 阈值指定为零或 NULL 在预定时间运行 update statistics

仅为表指定一个大于零的 datachange 阈值, 但不请求采用 update index statistics 形式


指定表和索引的阈值,但不请求 update index statistics 形式

仅为表指定一个阈值,并请求 update index statistics 形式


指定表和索引的阈值,并请求采用 update index statistics 形式

指定表和一个或多个列的阈值 (忽略任何索引 或请求 update index statistics 形式)

获取表的所有索引,并获取每个索引的前导列。如果 任何前导列的 datachange 值大于或等于该阈值,则运 行 update statistics

获取索引前导列的 datachange 值。如果 datachange 值 大于或等于阈值,则运行 update statistics

获取表的所有索引,并获取每个索引的前导列。如果 任何前导列的 datachange 值超过该阈值,则运行 update statistics

获取索引前导列的 datachange 值。如果 datachange 值 大于或等于阈值,则运行 update statistics。 获取每个列的 datachange 值。如果任何列的 datachange

值大于或等于该阈值,则运行 update statistics


datachange 函数可编译表中的更改数,并将其显示为占表中总行数的百 分比。可以使用该编译信息来创建确定 Adaptive Server 何时运行 update statistics 的规则。运行该命令的最佳时间可以基于目标的任何数值:

表中的更改百分比

可用的 CPU 周期数

维护窗口期间

运行 update statistics 后, datachange 计数器将重置为零。对于 insert delete,在分区级 (而非对象级)跟踪 datachange 计数;对于 update, 则在列级跟踪该计数。


使用 datachange update statistics 的示例

可以编写脚本,以便在列、表或分区级检查指定的更改数据量。可以根 据 datachange 函数收集的众多变量来决定何时运行 update statisticsCPU 使用率、表中的更改百分比、分区中的更改百分比等。

在下面的示例中, authors 表经过分区,而且用户希望在 author_ptn2 分 区中 city 列的数据更改大于或等于 50% 时运行 update statistics

select @datachange = datachange("authors","author_ptn2", "city") if @datachange >= 50

begin


end go

update statistics authors partition author_ptn2(city)


用户也可以指定在系统空闲 (或其它任何参数)时执行该脚本。 在下面的示例中,如果 authors 表的 city 列的数据更改大于或等于 100%

(该示例中的表没有分区),用户将触发 update statistics

select @datachange = datachange("authors",NULL, "city") if @datachange > 100

begin


end go

update statistics authors (city)




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