远程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 命令可更新直方图和密度等与列相关的统计信息。如果 在这些列中,索引中键的分布进行更改的方式影响了查询对索引的使 用,则它们的统计信息必须更新。

运行 update statistics 会占用系统资源。与其它维护任务类似, Sybase 建 议将该任务安排在服务器负载较轻的时候运行。特别要指出的是,update statistics 要求进行表扫描或索引的页级扫描,可能会增加 I/O 争用和使用 CPU 执行排序,并且使用数据和过程高速缓存。使用这些资源会对服务 器上运行的查询产生负面影响。

运行此任务时,使用采样功能可减少资源要求并提高灵活性。


image

注释 采样不会影响 update statistics table_name index_name 参数,而只 影响未建索引列的 update index statistics update all statistics 以及 update statistics table_name (column_list)

image


此外,某些 update statistics 命令需要共享锁,这可能会阻止更新。请参 见 285 页的 “扫描类型、排序要求与锁定

也可以将 Adaptive Server 配置为在对系统资源影响最小时自动运行

update statistics。请参见 273 页的 “自动更新统计信息


对未建索引的列添加统计信息

当创建一个索引时,将对该索引的前导列生成一个直方图。前几章中的 例子已经显示了其它列的统计信息是如何提高优化程序统计信息的精确 性的。

只要您的维护日程表留有时间使统计信息保持更新,就可以考虑为经常 被用作搜索参数的几乎所有列添加统计信息。

特别要指出的是,当组合索引的次列在搜索参数或连接中与前导索引键 一起使用时,对这些列添加统计信息可能会大大增加开销估计。


对更新代理表和视图上的统计信息的限制

如果对代理表创建索引,系统性能可能会下降;您无法运行 create index, 因为 Adaptive Server 无法将该命令传播给远程视图。但是,如果将代理 表映射到用户表, Adaptive Server 则可以通过对代理表的连接列创建索 引来优化查询计划。

如果每次执行该命令时视图返回的行数变化较大,则收集代理表的统计 信息时性能将会下降。

如果使用的是代理表或视图,则 Sybase 有以下建议:

不要对在视图上定义的代理表运行 update statistics

如果对在视图上定义的代理表运行 update statistics,请通过删除然后 重新创建代理表来提高性能。不能使用 delete statistics 删除当前统计 信息,因为 systabstats 会保留其初始行计数。

将视图转换为永久表。

尝试使用命令行跟踪标志 318 (强制重新格式化)。


update statistics 命令

update statistics 命令会创建统计信息 (如果某特定列没有统计信息)或 替换现有统计信息。这些统计信息存储在 systabstats sysstatistics 系统 表中:

update statistics table_name

[[ partition data_partition_name ] [ (column_list ) ] |

index_name [ partition index_partition_name ] ] [ using step values ]

[ with consumers = consumers] [, sampling=percent]


update index statistics

table_name [[ partition data_partition_name ] |

[ index_name [ partition index_partition_name ] ] ] [ using step values ]

[ with consumers = consumers] [, sampling=percent]


update all statistics table_name

[ partition data_partition_name ]

[ sp_configure histogram tuning factor, <value>


update table statistics

table_name [partition data_partition_name ]


delete [ shared ] statistics table_name

[ partition data_partition_name ]

[( column_name[, column_name ] ...)]

对于 update statistics 命令:

table_name — 为表中每个索引的前导列生成统计信息。

table_name index_name — 为索引的所有列生成统计信息。

partition_name — 只为该分区生成统计信息。

partition_name table_name (column_name) — 为该分区上该表中 的指定列生成统计信息。

table_name (column_name) — 仅为该列生成统计信息。

table_name (column_name, column_name...) — 为集合中的前导列 生成一个直方图,并为前缀子集生成多列密度值。

using step values — 标识使用的梯级数。缺省值为 20 梯级。要更 改缺省梯级数,请使用 sp_configure

sampling = percent — 采样百分比的数值,如 05 表示 5%10 表 示 10%,依此类推。采样整数介于零 (0) 和一百 (100) 之间。

对于 update index statistics 命令:

table_name — 为表中所有索引的所有列生成统计信息。

partition_name table_name — 为该分区上的表的所有索引中的所 有列生成统计信息。

table_name index_name — 为此索引中的所有列生成统计信息。


对于 update all statistics 命令:

table_name — 为某个表的所有列生成统计信息。

table_name partition_name — 为分区上某个表中的所有列生成统 计信息。

using step values — 标识使用的梯级数。缺省值为 20 梯级。要更 改缺省梯级数,请使用 sp_configure

sp_configure 语法包括 histogram tuning factor,它为直方图梯级数 带来了更多选择。 histogram tuning factor 的缺省值为 20。有关 sp_configure 的信息,请参见 《系统管理指南,卷 1》中的 5 章 “设置配置参数”。


update statistics 使用采样

Adaptive Server 的优化程序使用数据库上的统计信息来设置和优化查询。 若要生成最佳结果,这些统计信息必须是最新的。

对数据集 (例如表)运行 update statistics 命令,以便为索引中的所有列 或表中的所有列更新指定索引或列中有关键值分布的信息。此命令可修 正列级统计信息的直方图和密度值。优化程序随后将会使用这些结果来 计算最佳查询计划。

使用采样方法运行 update statistics 命令,当维护窗口较小但数据集较大 时,这可以减少 I/O 和时间。如果正在更新的是处于连续使用状态、被 截断并重新填充的大型数据集或表,则您可能希望进行一次统计采样, 以减少时间和 I/O 的大小。因为采样不会更新密度值,所以应首先运行 完整 update statistics,然后再使用采样来获得准确的密度值。

请谨慎使用采样,因为结果并非完全准确。请针对 I/O 的节省来平衡对 直方图值的更改。

采样不会更新由非采样 update statistics 命令创建的密度值。由于密度变 化极慢,因此用采样计算得出的近似值替换精确密度通常不会改善估计 值。由采样 update statistics 命令创建的密度值将会更新。 Sybase 建议使 用此非采样 update statistics 命令建立精确密度,此命令后面可以跟无数 个采样 update statistics 命令。若要让采样 update statistics 命令更新密度, 请在将 update statistics 用于采样之前删除列统计信息。

在确定是否使用采样时,请考虑数据集的大小、所面临的时间约束以及 直方图生成的结果是否达到需要的精度。


采样时使用的百分比取决于您的需要。请测试不同的百分比,直到得到 一个反映特定数据集的最精确信息的结果;例如:

update statistics authors(auth_id) with sampling = 5 percent

使用下面的命令设置全服务器范围的采样百分比:

sp_configure 'sampling percent', 5

此命令针对 update statistics 将全服务器范围内的采样百分比设置为 5%, 这样,不使用采样 语法也可以执行 update statistics。百分比可以是零 (0) 到一百 (100) 之间的值。




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