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

 


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

创建和维护索引

在用户创建索引时,将对所有其他用户锁定表。锁类型取决于索引类型:

创建聚簇索引需要一排它表锁来锁定所有表活动。由于聚簇索引中 的行按索引键的顺序排列,因此 create clustered index 将对数据页重 新排序。

创建非聚簇索引需要一共享表锁来锁定更新活动。


配置 Adaptive Server 以加速排序

使用 number of sort buffers 配置参数可以设置高速缓存中可用于容纳输入 表页面的缓冲区的数量。另外,并行排序可从执行排序的缓存中的大 I/O 中获益。

请参见 《性能和调优系列:查询处理和抽象计划》的第 5 章 “并行查 询处理”。


创建索引后转储数据库

创建索引时, Adaptive Server 会将 create index 事务和页分配写入事务日 志,但不会记录对数据和索引页的实际更改。要恢复因创建索引而未转 储的数据库,可在装载事务日志转储时,再次执行整个 create index 进程。

如果定期重新创建索引 (例如,在索引中维护 fillfactor),则可能需要 在进行常规数据库转储之前安排这些操作短暂运行。


对已排序的数据创建索引

要重新创建聚簇索引,或创建按索引键顺序批量复制到服务器中的数 据的聚簇索引,可使用 sorted_data 选项来 create index,以缩短索引创建 时间。

由于必须按键顺序排列数据行以创建聚簇索引,所以在不使用 sorted_data 创建聚簇索引时,需要将数据行重新写入一组全新的数据页中。在某些 情况下, Adaptive Server 可以跳过排序和复制表的数据行的操作:因素 包括表分区和 create index 语句中使用的 on 子句。

在未分区表上创建索引时, sorted_data 和使用下列任何子句都需要复制 数据,但不需要排序:

ignore_dup_row

fillfactor

on segment_name 子句,可指定与表数据所在段不同的段

max_rows_per_page 子句,可指定一个与表相关联的值不同的值。

当这些选项和 sorted_data 包括在分区表的 create index 中时,将执行排序 步骤、复制数据,并在表的分区上平均分配数据页。

5-1:使用选项来创建聚簇索引

image

image

选项 分区表 未分区表

image

未指定选项 并行排序;复制数据,在分区上均 匀分配;创建索引树。

并行或非并行排序;复制数据, 创建索引树。

仅有 with sorted_data

或者

with sorted_data on

same_segment

image

with sorted_data

ignore_dup_row

fillfactor

on other_segment

max_rows_per_page

只创建索引树。不执行排序或复制 数据。不并行运行。


并行排序;复制数据,在分区上均 匀分配;创建索引树。

只创建索引树。不执行排序或复 制数据。不并行运行。


复制数据并创建索引树。不执行 排序。不并行运行。

image


在最简单的情况下,使用 sorted_data 且未分区表内无其它选项时将检查 表行的顺序,并在此单次扫描期间建立索引树。

如果必须复制数据行但不需要执行排序,则单个表扫描检查行的顺序、 建立索引树并将数据页复制到单个表扫描中的新位置上。

对于需要大量传递来建立索引的大型表,明显缩短排序时间可降低 I/O

CPU 的利用率。


创建用于复制数据行的聚簇索引时,可用空间必须约为表大小的 120%, 才能复制数据和存储索引页。


维护索引和列统计信息

索引的直方图和密度值不能如同添加和删除的数据行那样进行维护。数 据库所有者必须发出 update statistics 命令来确保统计信息最新。在执行 以下操作后运行 update statistics

删除或插入更改索引中键值的倾斜的行。

将行添加到之前使用 truncate table 删除其行的表中。

更新索引列中的值。

插入到包含 IDENTITY 列的任何索引,或任何递增键值。日期列通 常具有规则的递增键。

如果 IDENTITY 列或其它递增键是索引中的前导列,则对这些类型的索 引运行 update statistics 尤其重要。创建索引时,在表中最后一个键后插 入了许多行之后,优化程序只能通知该搜索值位于分布页中的最后一行 以外。无法准确地确定有多少行匹配给定值。


image

注释 更新统计信息失败会严重降低性能。

image


请参见 《性能和调优系列:利用统计分析改进性能》。


重建索引


重建索引将回收二叉树 (树中的所有叶页距索引的根页的距离都相同) 中的空间。由于页被拆分、行被删除,因此索引可能包含很多页,每页 中只有很少的几行。此外,如果应用程序对覆盖非聚簇索引和大 I/O 执 行扫描,则重建非聚簇索引可通过减少分段来维护大 I/O 的效率。

可通过删除并重新创建索引来重建索引。 出现以下情况时需重建索引:

数据和使用模式发生了重大变化。

需要大量插入期间,或刚刚完成。

排序顺序更改。


使用大 I/O 的查询需要进行多于预期的磁盘读取,或 optdiag 报告的 集群比较之平常更低。

空间使用超出了估计数量,因为大量的数据修改保留了使很多数据 和索引页局部已满。

空间管理属性 (填充因子、期望行宽和保留页间距)提供的扩展空 间已经被插入和更新导致的页面拆分、转移行和分段所填充。

dbcc 已识别出索引中的错误。

如果重新创建聚簇索引或在 DOL 锁定表或所有页锁定表上运行 reorg rebuild,则会重新创建所有非聚簇索引,这是由于创建聚簇索引会将行 移动到其它页中。

当系统活动频率较低时:

删除所有索引,允许更有效的批量插入。

创建新的索引组,以帮助生成一组报告。




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