随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!
如有Sybase数据库技术问题需要咨询,请联系我!
以下官方手册为ASE 15.7 ESD#2中文版:
- 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
- 新增功能摘要
- 新增功能指南
- ASE 15.7 发行公告
- 配置指南(windows)
- 安装指南(windows)
- 参考手册:构件块
- 参考手册:命令
- 参考手册:过程
- 参考手册:表
- Transact-SQL® 用户指南
- 系统管理指南,卷 1
- 系统管理指南,卷 2
- 性能和调优系列:基础知识
- 性能和调优系列:锁定和并发控制
- 性能和调优系列:监控表
- 性能和调优系列:物理数据库调优
- 性能和调优系列:查询处理和抽象计划
- 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
- 性能和调优系列:利用统计分析改进性能
- 程序员参考 jConnect for JDBC 7.0.7
- Adaptive Server Enterprise 中的 Java
- 组件集成服务用户指南
- Ribo 用户指南
- 内存数据库用户指南
- Sybase Control Center for Adaptive Server® Enterprise
- 安全性管理指南
- 实用程序指南
索引和分区
索引可帮助 Adaptive Server 定位数据。通过指向表列数据在磁盘上的位 置,索引可加快数据检索过程。可以创建全局索引和本地索引,这两种 索引还可是聚簇或非聚簇的。
在聚簇索引中,物理数据的存储顺序与索引相同,索引的最低级别包含 实际的数据页。在非聚簇索引中,物理数据的存储顺序与索引不同,索 引的最级别包含指向数据页上的行的指针。
无论是否在 create index 命令中指定 “本地”索引,语义分区表上的聚 簇索引始终是本地索引。循环表上的聚簇索引既可以是全局性的,也可 以是本地的。
全局索引跨一个或多个分区中的数据,这些索引不按照基表均分。由于
Sybase 仅支持未分区全局索引,因此全局索引跨所有分区。
对于早于 15.0 的 Adaptive Server 版本,在其中的分区表中创建的索引均 是全局索引。支持全局索引是为了与 Adaptive Server 的早期版本兼容, 而且全局索引在 OLTP 环境中尤为有用。
Adaptive Server 支持下列类型的全局索引:
• 循环表和未分区表上的聚簇索引
• 所有类型的表上的非聚簇索引
未分区表上的全局非聚簇索引
图 10-1 中的示例显示了缺省的非聚簇索引配置,该配置受 Adaptive Server 12.5 和更高版本的支持。
若要在未分区表 publishers 上创建此索引,请输入:
create nonclustered index publish5_idx on publishers(pub_id)
图 10-1:未分区表上的全局非聚簇索引
pub_id 列上的非聚簇索引
索引页
数据页
未分区表上的全局聚簇索引
图 10-2 显示了缺省的聚簇索引配置。该表和索引是未分区的。 若要在未分区表 publishers 上创建此索引,请输入:
create clustered index publish4_idx on publishers(pub_id)
图 10-2:未分区表上的全局聚簇索引
pub_id 列上的聚簇索引
pub_id 0 - 300
叶 / 数据页
循环分区表上的全局聚簇索引
Adaptive Server 仅支持循环分区表上的未分区聚簇全局索引。
注释 如果循环表的数据分区超过 255 个,则不能在该表上创建全局索 引,必须创建本地索引。
未分区索引允许对所有分区进行全表扫描。由于叶索引页在所有页锁定 表上也是数据页,因此当所有数据分区都驻留在同一段时,此索引最有 用。必在数据分区键上创建该索引。
在以下示例 ( 图 10-3 )中,在 pubs2 中的 publishers 表上创建三个循环 分区。在创建分区前先删除所有索引。
alter table publishers partition 3
若要在循环分区表 publishers 上创建聚簇索引,请输入:
create clustered index publish1_idx on publishers(pub_id)
图 10-3:循环分区表上的全局聚簇索引
pub_id 列上的聚簇索引
pub_id 0 - 300
叶页
可以为所有分区表策略创建非聚簇和未分区全局索引。
索引和数据分区可驻留在相同或不同的段中。可以在表中的任何可索引 列上创建索引。
图 10-4 中的示例在 pub_name 列上建立索引;在 pub_id 列上对表进行 分区。
在此示例中,使用 alter table 对 publishers 进行重新分区,使在 pub_id 列 上有三个域分区。
alter table publishers partition by range(pub_id) (a values <= ("100"),
b values <= ("200"), c values <= ("300"))
若要在 pub_name 列上创建全局非聚簇索引,请输入:
create nonclustered index publish2_idx on publishers(pub_name)
图 10-4:分区表上的全局非聚簇索引
pub_name 列上的非聚簇索引
索引页
叶页
表分区 a
表分区 b 表分区 c
pub_id: 0 – 100 pub_id : 101 – 200 pub_id : 201– 300
在 图 10-5 的示例中,在 pub_id 列上建立索引;此外还在 pub_id 列上对 表进行分区。
若要在 pub_id 列上创建全局非聚簇索引,请输入:
create nonclustered index publish3_idx on publishers(pub_id)
图 10-5:分区表上的全局非聚簇索引
pub_id 列上的非聚簇索引
索引页
叶页
表分区 a 表分区 b 表分区 c
pub_id : 0 – 100 pub_id : 101 – 200 pub_id : 201– 300
本地聚簇索引
在对表进行分区时,根据值将行分配到分区,但不对数据进行排序。在 创建本地索引时,将分别对每个分区进行排序。
每个数据分区中的信息都符合创建分区时建立的边界,这意味着您可以 在整个表中实现唯一索引键。
图 10-6 显示了分区表上分区聚簇索引的示例。在 pub_id 列上创建索引, 并在 pub_id 上为表建立索引。此示例可在 pub_id 列上实现唯一性。
若要在域分区表 publishers 上创建此表,请输入:
create clustered index publish6_idx on publishers(pub_id)
local index p1, p2, p3
图 10-6:本地聚簇索引 — 唯一
pub_id 列上的聚簇索引
pub_id:
0 - 100
pub_id: pub_id: 201 - 300 101- 200
叶页
表分区 a |
表分区 b |
表分区 c |
|
pub_id : 0 – 100 |
pub_id : 101 – 200 |
pub_id : 201– 300 |
图 10-7 中的示例在 pub_name 列上建立索引。它不能实现唯一性。请参 见 第 353 页的 “保证唯一索引 ”。
若要在域分区表 publishers 上创建此示例,请输入:
create clustered index publish7_idx on publishers(pub_name)
local index p1, p2, p3
图 10-7:本地聚簇索引 — 不唯一
name 列上的非聚簇索引
pub_name :
pub_name: pub_name :
Acton – KLH Katz – Rollo
Rolpe – Zabar
叶页
表分区 a 表分区 b 表分区 c pub_id :0 – 100 pub_id :101 – 200 p ub_id :201– 300
本地非聚簇索引
A. 左前缀索引:
可以在任何一组可索引列上定义本地非聚簇索引。
使用 publishers 表 (在 pub_id 列上按域对该表进行了分区,如 第 348 页 的 “分区表上的全局非聚簇索 引”中所述),可以在 pub_id 和 city 列上 创建一个分区非聚簇索引:
create nonclustered index publish8_idx (A) on publishers(pub_id, city)
local index p1, p2, p3
还可以在 city 列上创建一个分区非聚簇索引:
create nonclustered index publish9_idx (B) on publishers(city)
local index p1, p2, p3
图 10-8 显示了非聚簇本地索引的两个示例。每个示例的图形说明是相 同的。但在示例 A 中可以实现唯一性;在示例 B 中则不能实现唯一性。 请参见 第 353 页的 “保证唯一索引 ”。
图 10-8:本地非聚簇索引
B. 无前缀索引:
索引列:pub_id、city 索引分区键:pub_id
索引列:city
索引分区键:pub_id
索引分区
索引页
叶页
表分区 a |
表分区 b |
表分区 c |
|
pub_id: 0 – 100 |
pub_id: 101 – 200 |
pub_id: 201 – 300 |
唯一索引可确保任意两行均没有相同的索引值 (包括 NULL)。在创建 索引时,如果数据已经存在,系统将检查重复值,以后每次使用 insert 或 update 增加或修改数据时也会进行检查。有关创建唯一索引的详细信 息,请参见 第 13 章 “创建表的索引 ”。
由于全局索引未进行分区,因此可以使用 unique 关键字轻松实现其唯一 性。本地索引进行了分区;因此,实现唯一性需要其它一些约束。
要实现本地索引的唯一性,分区键须满足下列条件:
• 是索引键的子集
• 与索引键具有相同的序列 例如,可以在下列实例中强制实现唯一性:
• 表在 column1 上按散列、列表或域进行分区,其本地索引的索引键 在 column1 上。
• 表在 column1 上按散列、列表或域进行分区,其本地索引的索引键 在 column1 和 column2 上。请参见 图 10-8 中的示例 A。
• 表在 column1 和 column3 上按散列、列表或域进行分区。本地索引具 有下列索引键:
• column1、 column3,或者
• column1、 column2、 column3,或者
• column0、 column1、 column3、 column4。
具有下列索引键的索引不能实现唯一性:column3 或 column1、 column3。
不能对具有本地索引的循环分区表实现唯一性。
Sybase SQL Anywhere数据库恢复工具ReadASADB:
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。
Sybase SQL Anywhere数据库恢复工具ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:
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
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back
Sybase ASE数据库恢复工具READSYBDEVICE:
一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。
Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:
- 被勒索病毒加密数据文件及备份文件情况下的恢复;
- 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
- 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
- delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
- 各种Sybase内部系统表损坏、索引错误的修复;
- master数据库损坏而无法正常运行情况下的恢复;
- Sybase数据库被标记为可疑,不可用等情况的恢复;
- Sybase数据库中数据文件内部出现坏块情况下的恢复;
- Sybase数据库无数据文件但有日志文件的情况下的恢复;
- Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
- Sybase数据文件被误删除情况下的碎片提取恢复;
- 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
- 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
- Sybase数据库还原数据库出现失败情况下的恢复;
- Sybase数据库只剩下损坏的备份文件情况下的恢复。
Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:
Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.xSQL Server数据库恢复工具SQLRescue:
一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。
SQL Server数据库恢复工具SQLRescue的主要功能:
- 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
- 断电导致数据库文件损坏情况下的恢复;
- 硬盘坏道造成数据库损坏情况下的恢复;
- 数据文件内部存在坏页情况下的恢复;
- 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
- 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
- 无法读取并闩锁页sysindexes失败情况下的修复;
- 数据文件被误删除情况下的碎片提取恢复;
- 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
- master数据库损坏而无法正常运行情况下的恢复;
- 数据文件无法附加情况下的数据恢复;
- 数据库被标记为可疑,质疑,不可用等情况的恢复;
- 数据库sysobjects等系统表损坏情况下的恢复;
- 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
- 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
- 数据库被误格式化等情况下的数据库恢复;
- 日志收缩造成数据库损坏情况下的恢复;
- 仅剩损坏的备份文件情况下的恢复。
SQL Server数据库恢复工具SQLRescue技术特点:
只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。- 从数据文件中直接恢复数据
- 不能附加时直接恢复数据并生成新的数据库
- 系统表损坏的数据库修复
- 快速修复SQL 823错误、连接中断错误
SQL Server数据库恢复工具SQLRescue支持的版本:
Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。+-------------------------------------华丽的分割线-------------------------------------------------------------------------