随着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 使用事务来跟踪数据库的所有变化。事务是 Adaptive Server 的工作单元。一个事务包括一个或多个作为一个单元成功或 失败的 Transact-SQL 语句。
每条修改数据的 SQL 语句都被视为一个事务。通过将一系列语句放 在 begin transaction...end transaction 块中,用户也可以定义事务。请参 见 《Transact-SQL 用户指南》中的第 18 章 “事务:维护数据一致性 和恢复”。
每个数据库都拥有自己的 事务日志,即系统表 syslogs。事务日志自 动记录每个数据库用户发出的每个事务。不能关闭事务记录。
事务日志是前写式日志。当用户发出要修改数据库的语句时, Adaptive Server 将这些更改写入日志中。在这条语句要做的所有更 改都已记录在日志中后,这些更改将被写入到数据页的高速缓存副 本中。此数据页将一直保留在高速缓存中,直到另一数据库页需要 内存为止。那时,已更改的数据页才写入磁盘中。
如果事务中任何语句未能完成执行, Adaptive Server 将撤消由该事 务所引起的所有更改。 Adaptive Server 在每个事务结束时将一条 “end transaction”记录写入日志,记录该事务的状态 (成功或失败)。
获取有关事务日志的信息
事务日志包含有关每个事务的足够信息,以确保其可以恢复。使用 dump transaction 命令将事务日志所包含的信息复制到磁带或磁盘。 使用 sp_spaceused syslogs 检查日志的大小,或使用 sp_helpsegment logsegment 检查可用于日志增长的空间。
警告! 不要使用 insert、 update 或 delete 命令修改 syslogs。
使用 delayed_commit 确定提交日志记录的时间
必须有一个关系数据库才能确保多个事务属性,包括原子性、一致 性、完整性和持久性 (也称作 ACID 属性)。若要确保这一点, Adaptive Server 应符合以下规则,即:
• 将所有操作写入事务日志。
• 在修改数据或索引页之前写入日志记录。
• 在发出事务的 commit 时将日志页写至磁盘中。
• 仅当 Adaptive Server 收到通知并且通知指示已成功地从基本操 作系统和 I/O 子系统写入到磁盘后,才通知客户端应用程序已 经成功地进行了 commit。
set delayed_commit 是一个仅适用于特定应用程序的性能选项。它提 高 Adaptive Server 执行数据操作语言 (DML) 操作 (例如, insert、 update、 delete)的性能,但也增加了在系统出现故障期间丢失数据 的风险。性能的改善取决于所使用的应用程序。
可从 set delayed_commit 受益的应用程序类型通常包括以串行方式快 速发送到 Adaptive Server 的短事务。例如发出多个 insert 语句的批处 理应用程序,其中每个 insert 都是一个独立的事务。
使用 set 命令为会话启用 delayed_commit 或为数据库将 set 命令与
sp_dboption 配合使用。
启用 set delayed_commit 后,在相应的日志记录写入磁盘之前,会通 知客户端应用程序已成功地执行了 commit。这之所以会提高性能, 是因为日志中除最后一页之外的所有页都会被写至磁盘中,从而缓 解对最后一个活动日志页的争用。
在启用 set delayed_commit 之前,请考虑:
• 发出 shudown with nowait 可导致数据持久性问题,但如果发出在 服务器关闭之前完成的 checkpoint 则例外。
• 为会话启用 set delayed_commit 仅会影响该会话。所有其它会话 的事务均强制实施其所有属性,包括 ACID 属性。这还意味着, 其它会话的物理日志会写入最后一个日志页以及与启用 set delayed_commit 的会话相对应的日志记录。
• set delayed_commit 在临时数据库上是冗余的,不会提供性能改善。
• 只有在认真考虑应用程序和操作要求以及环境后,才能使用 set delayed_commit。虽然降低数据持久性的危险性非常低,但如果 您的数据库很大,而且对丢失数据的容错能力很低,则使用恢 复选项可能会很费时间。
日志行为的更改 下面是启用 delayed_commit 时会出现的日志行为的更改。 会话隐式或显式提交事务时:
• 用户日志高速缓存 (ULC) 刷新到内存中的事务日志。
• 任务对所有非写入日志页发出写操作,但最后一个日志页 (其 中包含 commit)除外。
• 该任务会通知客户端应用程序已成功地执行了 commit,而不必 等待 I/O 完成。
注释 将由以下项写入此事务的 “最后一个日志页”:
• 由另一个事务在它不再是 “最后一个日志页”时写入。
• 在完成时由另一个非延迟事务写入。
• 通过 checkpoint 或管家缓冲区清洗机制写入。
• 由隐式检查点原因 (例如, shutdown、 dump database、 dump tran 和 sp_dboption truncate log on checkpoint)写入。
使用 delayed_commit 的危 险性
• 任务随时可以继续进行下一个事务。
当 set delayed_commit 处于启用状态时, Adaptive Server 会在实际物 理磁盘写入完成之前通知客户端应用程序。因此,该应用程序会认 为事务已经完成,无论物理磁盘写入是否成功都是如此。如果系统 出现故障 (磁盘错误、系统崩溃,等等),则在恢复之后,未写至 磁盘的事务 (其 commit 记录位于最后一个日志页上的事务)将会 消失,无论是否已通知应用程序已成功提交这些事务都是如此。
要求紧密系统相关性的系统 (如通过一个使用实时数据服务 (RTDS) 的消息传送系统)会使 set delayed_commit 的使用结果进一 步复杂化。
在以下两种情况下,应用程序可以管理风险:
• 应用程序维护它自己的跟踪或日志,并且在系统出现故障之 后,确保数据库状态与它自己的跟踪或日志相对应。
• 您可以将数据库恢复到运行应用程序之前所处的状态。它假定 您在运行批处理作业类型的应用程序之前进行了完整的数据库 备份。如果出现故障,则会装载数据库备份并重新启动批处理 作业。
启用 set delayed_commit 您可以为数据库或会话启用 set delayed_commit,并用会话设置覆盖
数据库设置。这意味着不管数据库设置情况如何,启用该选项的会 话必然会启用 delayed_commit。
指定备份的职责
许多组织都有一位执行所有备份和恢复操作的操作员。只有系统管 理员、数据库所有者或操作员才可以执行 dump 和 load 命令。数据 库所有者只能转储自己的数据库。操作员和系统管理员可以转储和 装载任何数据库。
请参见 第 315 页的 “使用 Backup Server 执行备份和恢复”和
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------