随着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
- 安全性管理指南
- 实用程序指南
dbcc_types
说明 dbcc_types 表提供 dbcc checkstorage 使用的数据类型的定义。dbcc 存 储过程并不实际使用该表。提供该表是为了方便 dbccdb 中其它表的 使用,并记录数据类型的语义。其中包括操作配置、报告的分析数 据、故障分类和故障报告参数的类型代码。如果创建自己的存储过 程来生成报告,则可以将 type_name 列中列出的值用作报告标题。
列 dbcc_types 的列如下所示。
注释 为了便于以后添加 dbcc_types,此时不使用某些 type_code 编号。
表 2-1:dbcc 类型
type_code |
type_name |
说明 |
1 |
max worker processes |
(可选)指定可以使用的最大工作进程数。该值也是使用的并发处 理的最大级别。最小值为 1。 |
2 |
dbcc named cache |
指定 dbcc checkstorage 所用高速缓存的大小 (用 KB 表示)和该高 速缓存的名称。 |
3 |
scan workspace |
指定数据库扫描要使用的工作空间的 ID 和名称。 |
4 |
text workspace |
指定要用于文本列的工作空间的 ID 和名称。 |
5 |
operation sequence number |
指定标识最近启动的 dbcc 操作的编号。 |
6 |
database name |
指定 sysdatabases 中数据库的名称。 |
7 |
OAM count threshold |
指定 OAM 计数在被视作错误之前必须达到的变化百分比。 |
8 |
IO error abort |
指定在 dbcc 停止检查磁盘页之前,该磁盘上允许的 I/O 错误数。 |
9 |
linkage error abort |
指定在 dbcc 停止检查对象的页链之前,允许出现的链接错误数。 相比于其它种类的页链损坏,某些种类的页链损坏可能在链接错 误数更少的情况下就需要停止检查。 |
10 |
enable automatic workspace expansion |
在估计大小超过实际工作空间大小时,该标志将启用或禁用工作 空间的自动扩展。 |
1000 |
hard fault count |
指定在一致性检查中发现的持续不一致处 (硬故障)的数目。 |
1001 |
soft fault count |
指定在一致性检查中发现的可疑情况 (软故障)的数目。 |
1002 |
checks aborted count |
指定在一致性检查中被停止的链接检查数。 |
1007 |
text column count |
指定在一致性检查过程中发现的非 null text/image 列值的数量。 |
5000 |
bytes data |
指定所检查的分区中存储的用户数据的数量 (用字节表示)。 |
5001 |
bytes used |
指定在所检查的分区中记录数据时使用的存储量 (用字节表示)。 bytes used 和 bytes data 的差值表示,存储数据或对数据编制索引所 需的开销量。 |
5002 |
pages used |
指定链接到所检查的对象但实际上却用于保存该对象的页数。 |
type_code |
type_name |
说明 |
5003 |
pages reserved |
指定为所检查对象保留但并未分配给该对象使用的页数。 (8 * extents used) 和 (pages used + pages reserved) 的差值表示,未提交 的重新分配和未正确分配的页的总数。 |
5004 |
pages overhead |
指定用于开销函数 (如 OAM 页或索引统计信息)的页数。 |
5005 |
extents used |
指定为所检查分区中的对象分配的扩充数。对于对象 99 (分配 页),该值是未分配给有效对象的扩充数。对象 99 包括未分配给 其它对象的存储空间。 |
5006 |
count |
指定在所检查对象特定部分的任何页上找到的组件项目 (行或 键)的数目。 |
5007 |
max count |
指定在所检查对象特定部分的任何页上找到的组件项目的最大数 量。 |
5008 |
max size |
指定在所检查对象特定部分的任何页上找到的任何组件项目的最 大大小。 |
5009 |
max level |
指定索引中的最大级别数量。该数据类型不适用于表。 |
5010 |
pages misallocated |
指定已分配给对象但未正确初始化的页数。它是故障计数器。 |
5011 |
io errors |
指定遇到的 I/O 错误数。该数据类型是故障计数器。 |
5012 |
page format errors |
指定所报告的页格式错误数。该数据类型是故障计数器。 |
5013 |
pages not allocated |
指定通过其链链接到对象但未分配的页数。该数据类型是故障计 数器。 |
5014 |
pages not referenced |
指定已分配给对象但未通过其链到达的页数。该数据类型是故障 计数器。 |
5015 |
overflow pages |
指定遇到的溢出页数。该数据类型仅适用于聚簇索引。 |
5016 |
page gaps |
指定未按升序序列链接到下一页的页数。该数字表示表段数量。 |
5017 |
page extent crosses |
指定链接到其自身扩充之外的页的页数。当 page extent crosses 的 数量随着 pages used 或 extents used 增加时,大型 I/O 缓冲区的效 率就会降低。 |
5018 |
page extent gaps |
指定页扩展交叉数量,其中后续扩充不是按升序序列排列的下一 个扩充。当最大限度地减少 page extent gaps 数时,可以在完全扫 描上获得最佳 I/O 性能。对于每个间隔,都可能执行搜索或全磁盘 旋转。 |
5019 |
ws buffer crosses |
指定在执行 dbcc checkstorage 操作的过程中,链接到其工作空间缓 冲区高速缓存之外的页数。该信息可用于调整高速缓存的大小, 从而在提供高性能的同时避免浪费资源。 |
5020 |
deleted rows |
对象中已删除的行数。 |
5021 |
forwarded rows |
对象中转移的行数。 |
5022 |
empty pages |
已分配但不包含数据的页数。 |
5023 |
pages with garbage |
可从碎片收集中受益的页数。 |
5024 |
non-contiguous free space |
非连续可用空间的字节数。 |
10000 |
page id |
指定当检测到故障时,所检查的页在数据库中的位置。所有本地 化的故障都包含该参数。 |
type_code |
type_name |
说明 |
10001 |
page header |
指定当检测到故障时,所检查页标题的十六进制表示。该信息有 助于评估软故障并确定页在检查后是否进行了更新。服务器将截 断尾随零。 |
10002 |
text column id |
指定一个 8 字节的十六进制值,以提供引用故障文本链的页、行和 列的 ID。服务器将截断尾随零。 |
10003 |
object id |
指定一个 9 字节的十六进制值,以提供所检查的页或分配的 object id (表)、相应的 partition id (表的分区)和 index id (索引)。 例如,如果某一页应属于表 T1 (因为可通过 T1 链到达该页),而 实际上却将该页分配给了表 T2。在这种情况下,将记录 T1 的 object id,同时还记录 T2 的 object id expected。服务器将截断尾随 零。 |
10007 |
page id expected |
指定在预期的页 ID 和实际遇到的页 ID 不一致时,链接页的预期页 ID。 例如,如果按照从 P1 到 P2 的顺序沿着链前进,那么在返回时, P1 应出现在 P2 之后。 page id expected 的值为 P1, page id 的值为 P2。当遇到实际值 P3 时,会将该值记录为 page id actual。 |
10008 |
page id actual |
当遇到的页 ID 和预期的页 ID 不一致时,该值指定遇到的实际页 ID。(另请参见 type_code 10007。) 例如,如果按照从 P1 到 P2 的顺序沿着链前进,那么在返回时, P1 应出现在 P2 之后。 page id expected 的值为 P1, page id 的值为 P2。当遇到实际值 P3 时,会将该值记录为 page id actual。 |
10009 |
object id expected |
指定一个 9 字节的十六进制值,以提供所检查页或分配的预期对象 ID (表)、适用的分区 ID (表的分区)和索引 ID (索引)。 例如,如果某一页应属于表 T1 (因为可通过 T1 链到达该页),而 实际上却将该页分配给了表 T2。在这种情况下,将记录 T1 的 object id,同时还记录 T2 的 object id expected。服务器将截断尾随 零。 |
10010 |
data-only locked data page header |
表示故障所在页的 44 字节的页标题。 |
10011 |
data-only locked b-tree leaf page header |
表示故障所在页的 44 字节的页标题。 |
10012 |
data-only locked b-tree header |
表示故障所在页的 44 字节的页标题。 |
20001 |
rerun checkstorage reco |
重新运行 checkstorage。 |
20002 |
indexalloc reco |
运行带 fix 选项的 dbcc indexalloc。 |
20003 |
tablealloc reco |
运行带 fix 选项的 dbcc tablealloc。 |
20004 |
checktable fix_spacebits reco |
运行带 fix_spacebits 选项的 dbcc tablealloc。 |
20005 |
checktable reco |
运行 dbcc checktable。 |
20006 |
reorg reco |
运行 reorg 命令 |
type_code |
type_name |
说明 |
20007 |
no action reco |
该故障是无害的,无需采取措施。 |
30000 |
drop object reco |
删除对象并重新创建它。 |
30001 |
bulk copy reco |
将数据批量复制出来,然后再批量复制回去。 |
40000 |
check logs for hardware failure reco |
检查操作系统日志,并纠正包含 Sybase 设备的磁盘上所有已报告 的硬件问题。 |
40001 |
checkalloc reco |
运行带 fix 选项的 dbcc checkalloc。 |
40002 |
reload db reco |
使用干净备份重装数据库。 |
100000 |
IO error |
表示无法从设备中读取已标识页的一部分。这通常是由操作系统 或硬件故障造成的。 |
100001 |
page id error |
表示在页上记录的标识 ID (页码)无效。这可能是由于以下原因 造成的:将页写入错误的磁盘位置或从错误的磁盘位置读取页; 写入页之前或写入页时发生页损坏;执行页分配后没有对该页进 行初始化。 |
100002 |
page free offset error |
表示页上的数据结尾无效。该事件影响对该页的插入和更新。它 还可能影响对该页数据的某些访问。 |
100003 |
page object id error |
表示看来将该页分配给了其它表,而不是预期的表。如果该故障 一直存在,则可能是以下情况之一造成的: • 页分配不正确,这可能只导致随后分配该页的效率下降; • 页链已损坏,这可能使受损链中的数据无法访问。 |
100004 |
timestamp error |
表示页的时间戳晚于数据库的时间戳。当对该页进行更改后,此 错误可能会使恢复失败。 |
100005 |
wrong dbid error |
表示数据库 ID dbid 存储在数据库分配页上。如果该 ID 不正确,分 配页将损坏并且所有指定分配将变为可疑。 |
100006 |
wrong object error |
表示页分配不一致。该页看来属于某一个表或索引,却被记录为 分配给了分配页中的其它表或索引。该错误与 page object id error 的 区别在于:分配是不一致的,但结果却是相似的。 |
100007 |
extent id error |
表示为 dbcc checkstorage 不能识别的表或索引找到了分配。通常, 这导致已分配的存储无法使用。 |
100008 |
fixed format error |
表示该页错误地指出,它只包含具有单一固定长度的行。 dbcc checkstorage 将报告此错误。虽然 dbcc checktable 不报告该错误, 但会对其进行修复。 |
100009 |
row format error |
表示该页上至少有一行的格式不正确。此错误可能导致该页上的 部分或全部数据无法访问。 |
100010 |
row offset error |
表示该页上至少有一行不在预期的页偏移处。此错误可能导致该 页上的部分或全部数据无法访问。 |
100011 |
text pointer error |
表示指向损坏的 text 或 image 数据的表行的位置。该信息有助于更 正问题。 |
100012 |
wrong type error |
表示页的格式不正确。例如,在索引或 text/image 列中找到了数据 页。 |
type_code |
type_name |
说明 |
100013 |
non-OAM error |
此错误是 wrong type error 的一种特殊情形。在当前版本中,它并不 作为单独情况来报告。 |
100014 |
reused page error |
表示通过多个链到达该页并且这些链属于不同的对象。此错误表 示通过损坏的页链链接,非法地对页进行共享。它可能影响对其 中一个表或两个表中的数据进行的访问。 |
100015 |
page loop error |
表示在沿着对象的页链前进时第二次到达某一页,这说明页链中 存在循环。当访问该对象中的数据时,可能会因循环而使会话无 限期地挂起。 |
100016 |
OAM ring error |
表示页已经分配,但无法通过对象的页链达到该页。通常,这导 致已分配的存储空间无法使用。 |
100017 |
OAM ring error |
表示 OAM 页环链接已经损坏。这可能不会影响对该对象数据的访 问,但可能影响对该数据的插入、删除和更新。 |
100018 |
missing OAM error |
表示 dbcc checkstorage 发现了在 OAM 中未记录的对象的分配。此 错误表示发生了损坏,该损坏可能会影响将来的存储分配,但可 能不会影响对当前存储数据的访问。 |
100019 |
extra OAM error |
表示在 OAM 中记录了该对象的分配,但未在分配页中对该分配进 行验证。此错误表示发生了损坏,该损坏可能会影响将来的存储 分配,但可能不会影响对当前存储数据的访问。 |
100020 |
check aborted error |
表示 dbcc checkstorage 停止对表或索引进行检查。为了防止出现多 个故障报告,可能会停止单个链上的检查操作而不报告该错误。 当某个对象包含多个页链时,如果一个链的检查操作失败,只要 未超过故障阈值,就不会妨碍在其它链上继续执行检查操作。 |
100021 |
chain end error |
表示链的结尾已损坏。作为一种软故障,它可能仅表示在执行 dbcc checkstorage 操作时,有相当多的页扩展或截断了该链。 |
100022 |
chain start error |
表示链的开头已损坏或不在预期的位置。如果该故障一直存在, 则可能影响对存储在对象中的数据的访问。 |
100023 |
used count error |
表示在 OAM 页中记录的已用页数与通过检查分配页确定的已用页 数之间不一致。 |
100024 |
unused count error |
表示在 OAM 页中记录的保留但未使用的页数与通过检查分配页确 定的保留但未使用的页数之间不一致。 |
100025 |
row count error |
表示在 OAM 页中记录的行数与通过 dbcc checkstorage 确定的行数 不一致。 |
100026 |
serialloc error |
表示违反适用于日志分配的串行分配规则。 |
100027 |
text root error |
表示 text 或 image 索引的根页格式不符合规定。该检查类似于 dbcc textalloc 执行的根页检查。 |
100028 |
page misplaced |
表示在检查系统表时所预期的位置未找到该对象的页。这通常表 示在以前的某个时间使用了 sp_placeobject。在 dbcc_counters 表 中,将计算所有放错位置的页的总数,而不是按设备和分区进行 报告。 |
type_code |
type_name |
说明 |
100029 |
page header error |
表示页标题中的内部不一致性,而不是其它类型代码所描述的不 一致性种类。此错误的严重级取决于页的类型和已发现的不一致 性。 |
100030 |
page format error |
表示页正文中的内部不一致性,而不是其它类型代码所描述的不 一致性种类。此错误的严重级取决于页的类型和已发现的不一致 性。 |
100031 |
page not allocated |
表示 dbcc checkstorage 沿着页链达到了未分配的页。这种情况可能 会影响对存储在该对象中的数据的访问。 |
100032 |
page linkage error |
表示 dbcc checkstorage 检测到链内部页的下一个或前一个链接出现 故障。如果该故障一直存在,则可能影响对存储在对象中的数据 的访问。 |
100033 |
non-contiguous free-space error |
表示页上非连续可用空间的值无效或不一致。 |
100034 |
insert free space error |
表示页上连续可用空间的值无效或不一致。 |
100035 |
spacebits mismatch |
表示在页完整指示器中出现不一致性。 |
100036 |
deleted row count error |
表示页上已删除行计数的值无效或不一致。 |
100037 |
forwarded rows error |
表示页上转移行指示器和转移行数目不一致。 |
100038 |
page header type error |
表示没有正确地设置页标题格式指示器。 |
100039 |
incorrect extent oampage |
未正确设置扩充 OAM 页引用 |
100040 |
OAM page format error |
非 OAM 首页包含非零的 OAM 首页特定数据。 |
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------