随着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 启动
• 使用 load database 命令
• 使用 load transaction 命令
通过对恢复故障隔离模式进行设置,可以控制在数据库中撤消或重 新应用事务时检测到损坏的数据情况下的恢复行为。
如果某索引被标记为可疑索引,则系统管理员可通过删除并重新创 建该索引来修复该索引。
恢复故障隔离可以:
• 配置是整个数据库还是只有可疑页会在恢复检测到损坏时变得 无法访问
• 配置整个含可疑页的数据库是否在 read_only 模式下联机,或者 是否仅能访问联机页来进行修改
• 列出有可疑页的数据库。
• 按页 ID、索引 ID 和对象名列出指定数据库中的可疑页。
• 在修复可疑页时为系统管理员将可疑页联机
• 在修复完可疑页后为所有数据库用户将可疑页联机
恢复故障隔离仅应用于用户数据库。如果系统数据库有任何损坏 页,恢复过程总是使系统数据库完全脱机。在修复或删除系统数据 库中的所有损坏页之前,不能恢复系统数据库。
脱机页的持续性
已脱机的可疑页在重新启动服务器后仍然处于脱机状态。有关脱机 页的信息存储在 master.dbo.sysattributes 中。
使用 drop database 和 load database 命令从 master.dbo.sysattributes 中 清除可疑页的条目。
配置恢复故障隔离
如果安装了 Adaptive Server,则缺省恢复故障隔离模式为 databases,该模式将数据库标记为可疑,并在检测到任何损坏页时 使整个数据库脱机。
若要隔离可疑页以便只有它们处于脱机状态,同时使用户可以访问 数据库的其余部分,请使用 sp_setsuspect_granularity 将恢复故障隔 离模式设置为 page。下次在数据库中执行恢复时,此模式会生效。 请参见 《参考手册:过程》。
如果没有 database 或 page 参数, sp_setsuspect_granularity 会显示指 定数据库的当前的和已配置的恢复故障隔离模式设置。如果没有任 何参数,它将显示当前数据库的这些设置。
如果无法将损坏隔离到特定页,则恢复会将整个数据库标记为可 疑,即使恢复故障隔离模式设置为 page 也是如此。例如,损坏的事 务日志或不可用的全局资源就会导致这种情况发生。
恢复过程将特定页标记为可疑后,缺省行为是使可疑页脱机从而不 可访问,而对数据库可进行读写操作。但是,如果将 read_only 选项 指定给 sp_setsuspect_granularity,并且恢复过程将任何页标记为可疑, 则整个数据库将以 read_only 模式进入联机状态且不可修改。如果您 首选 read_only 选项,但在某些情况下,感觉允许用户修改非可疑页 会比较好,则可以使用 sp_dboption 使数据库的联机部分变得可写:
sp_dboption pubs2, "read only", false
在这种情况下,可疑页仍处于脱机状态,直到您将其修复或强制其 联机,如 第 289 页的 “使脱机页联机”中所述。
增加所允许的可疑页数目
(甚至是在恢复故障隔离模式为 page 时)。缺省情况下,此值在单 个数据库中设为 20 页。使用 sp_setsuspect_threshold 可更改可疑性增 加阈值。请参见 《参考手册:过程》
可配置数据库级的恢复故障隔离和可疑性增加阈值。
此示例显示, pubs2 数据库的恢复故障隔离模式为 page 并且上次针 对此数据库运行恢复时的增加阈值为 20 (当前可疑性增加阈值)。 下次针对此数据库运行恢复时,恢复故障隔离模式为 page 并且增加 阈值为 30 (已配置的值)。
sp_setsuspect_granularity pubs2
DB Name Cur. Suspect Gran. Cfg. Suspect Gran. Online mode
-- -- --- -- -- --- -- -- -- -- --- -- -- --- -- -- -- --- -- -- -- --- -- --
pubs2 page page read/write
sp_setsuspect_threshold pubs2
DB Name Cur. Suspect threshold Cfg. Suspect threshold
------------- ------------------------ ----------------------
pubs2 20 30
如果没有参数, sp_setsuspect_granularity 和 sp_setsuspect_threshold 将显示当前数据库的当前设置和所配置的设置 (如果该数据库是用 户数据库)。
获取有关脱机数据库和页的信息
使用 sp_listsuspect_db 可查看哪些数据库包含脱机页。 以下示例显示有关可疑页的常规信息:
sp_listsuspect_db
The database 'dbt1' has 3 suspect pages belonging to 2 objects.
使用 sp_listsuspect_page 可显示有关各个脱机页的详细信息。 如果未指定 dbname,则缺省值为当前数据库。以下示例显示 dbt1
数据库中 sp_listsuspect_page 的详细页级输出。
sp_listsuspect_page dbt1
DBName Pageid Object Index Access
- - - - - --- - - - - - - - --- -- - - - --- -- - - - --- -- - - - - - --- -- -- -- --- --
dbt1 |
384 |
tab1 |
0 |
BLOCK_ALL |
dbt1 |
390 |
tab1 |
0 |
BLOCK_ALL |
dbt1 |
416 |
tab1 |
1 |
SA_ONLY |
(3 rows affected, return status = 0)
如果 Access 列中的值是 SA_ONLY,并且可疑页为 1,则只有具有 sa_role 角色的用户才可以访问该可疑页。如果该值为 BLOCK_ALL,则任何人都不能访问该页。
任何用户都可以从任何数据库运行 sp_listsuspect_db 和
sp_listsuspect_page。
使脱机页联机
使用 sp_forceonline_db 可使数据库中的所有脱机页可以访问,使用 sp_forceonline_page 可使单个脱机页可以访问。请参见 《参考手册: 过程》。
使用这两个过程指定访问类型。
• “sa_on” 使可疑页或数据库只能由具有 sa_role 角色的用户访问。 这样,就可在数据库已启用并在运行的情况下修复可疑页和测 试修复情况,同时禁止一般用户访问可疑页。您也可以使用它 针对含可疑页的数据库执行 dump database 或 dump transaction with no_log,如果页脱机,则将禁止该操作。
• “sa_off” 阻止所有用户的访问,包括系统管理员。这将使用 “sa_on”撤消以前的 sp_forceonline_db 或 sp_forceonline_page 。
• “all_users” 在修复页之后为所有用户使脱机页联机。
不同于先使用 “sa_on” 使可疑页联机,然后再使用 “sa_off”使 它们重新脱机,当您针对 “所有用户”使用 sp_forceonline_page 或 sp_forceonline_db 使页联机时,此操作将无法撤消。没有方法 可使联机页再脱机。
警告! Adaptive Server 在被联机的页上不执行任何检查。确保 已经修复每个将转至联机的页。
您无法在事务中执行 sp_forceonline_db 或 sp_forceonline_page。 您必须具有 sa_role 角色且在 master 数据库中,才能执行
sp_forceonline_db 和 sp_forceonline_page。
如果 DOL 锁定表的索引页在恢复期间被标记为可疑,则整个索引 都将被脱机。两个系统过程管理脱机索引:
• sp_listsuspect_object
• sp_forceonline_object
大多数情况下,系统管理员使用 sp_forceonline_object 将可疑索引标 记为仅可供具有 sa_role 角色的人员使用。如果该可疑索引在用户表 中,可通过删除并重新创建该索引来修复它。
请参见 《参考手册:过程》。
脱机页的副作用
• 需要脱机数据的事务会直接或间接 (例如,因为参照完整性约 束)出现故障并生成消息。
• 数据库的任何部分脱机时,不能使用 dump database 命令。
系统管理员可以通过配合使用 sp_forceonline_db 和 “sa_on” 来强 制脱机页联机,接着转储数据库,然后在转储完成后将 sp_forceonline_db 与 “sa_off” 配合使用。
• 如果数据库的任何部分脱机,则不能使用 dump transaction with no_log 或 dump transaction with truncate_only。
系统管理员可以通过配合使用 sp_forceonline_db 和 “sa_on” 来强 制脱机页联机,接着使用 with no_log 转储事务日志,然后在转 储完成后将 sp_forceonline_db 与 “sa_off” 配合使用。
• 要删除包含脱机页的表或索引,必须使用 master 数据库中的事 务。否则,删除操作将失败,因为它必须从 master.dbo.sysattributes 中删除可疑页条目。下例将从 master.dbo.sysattributes 中删除对象并删除与其脱机页有关的信息。
若要删除名为 authors_au_id_ind 的索引 (该索引包含可疑页), 请从 pubs2 数据库中删除 master 数据库事务中的索引:
use master go
sp_dboption pubs2, "ddl in tran", true go
checkpoint pubs2
go
begin transaction
drop index authors.au_id_ind commit
go
use master go
sp_dboption pubs2, "ddl in tran", false go
checkpoint pubs2 go
使用恢复故障隔离的恢复策略
有两种主要的策略,可以在保证用户能够访问数据库的同时,将带 有可疑页的数据库恢复到一致的状态:重装和修复。
这两种策略都要求:
• 一个干净的数据库转储
• 一系列可靠的事务日志转储 (直到带有可疑页的数据库恢复时)
• 在数据库被恢复,能够捕获对脱机页的更改后,事务日志立即 转储到设备
• 连续的事务日志向设备转储,此时用户使用的数据库部分脱机
重装策略
重装需要从备份中恢复一个干净的数据库。方便时,装载最近的干 净数据库转储,并应用事务日志以恢复数据库。
load database 从 master.dbo.sysdatabases 和 master.dbo.sysattributes 系 统表中清除可疑页信息。
当已恢复的数据库进入联机状态时,立即转储该数据库。 图 12-1 说明了用于重装数据库的策略。
图 12-1:重装策略
数据库完全联机
数据库部分联机
间
间
时
时
数据库联机
数据库完全联机
清除数据库转储 转储事务 1
重新启动服务器 恢复运行 / 查找可疑页 恢复完成
转储事务 2
转储事务 3
转储事务 4
装载数据库 应用事务转储 1
应用事务转储 2
应用事务转储 3
应用事务转储 4
转储数据库
修复策略
修复策略涉及在数据库部分联机时修复损坏的页。使用已知方法诊 断和修复问题,包括 dbcc 命令、针对可疑页查询已知结果,以及根 据需要致电 Sybase 技术支持部门。修复损坏还包括删除并重新创建 包含可疑页的对象。
您可以使用 sp_forceonline_page 在修复部分脱机页后将这些脱机页 分别联机,或者待所有脱机页都被修复后使用 sp_forceonline_db 一 次性使它们联机。
修复策略不要求整个数据库都脱机。 图 12-2 说明了用于修复损坏页 的策略。
图 12-2:修复策略
数据库完全联机
间
间
数据库部分联机
时
时
数据库完全联机
清除数据库转储 转储事务 1
重新启动服务器 恢复运行 / 查找可疑页 恢复完成
开始分析问题 / 修复损坏 转储事务 2
转储事务 3
转储事务 4 完成损坏修复 强制页联机 转储数据库
评估损坏的程度
有时您可使用恢复故障隔离来评估损坏的程度,方法是强制运行恢 复过程和检查被标记为可疑的页的数目以及这些页所属的对象。
例如,如果用户报告某个数据库有问题,可以将恢复故障隔离模式 设置为 “页”,并通过重新启动 Adaptive Server 强制恢复。恢复完 成后,使用 sp_listsuspect_db 或 sp_listsuspect_page 确定有多少个可 疑页以及哪些数据库对象受影响。
如果整个数据库都被标记为可疑且收到以下消息:
Reached suspect threshold ’%d’ for database ’%.*s’
.Increase suspect threshold using sp_setsuspect_threshold.
使用 sp_setsuspect_threshold 可增加可疑增加阈值并强制恢复再次运 行。每次收到此消息时,都可以提高该阈值并运行恢复过程,直到 数据库进入联机状态。如果未收到此消息,则表明损坏内容未被隔 离到特定页,在这种情况下,用于确定可疑页的数目的这一策略将 不起作用。
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------