随着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 命令,否则,在损坏发生后, 数据库看上去会正常运行一段时间。如果整个磁盘或磁盘控制器损 坏。Adaptive Server 将该数据库标记为可疑数据库并显警告消息。如 果存储 master 数据库的磁盘出现故障,则用户将无法登录到服务器, 已登录的用户将无法执行需要访问 master 中的系统表的任何操作。
当数据库设备出现故障时,Sybase 会建议您执行下列步骤:
1 获取设备上每个数据库的当前日志转储。
2 检查设备上每个数据库 的空间使用情况。
3 在为设备上的所有数据库收集了这些信息之后,删除每个数 据库。
4 使用 sp_dropdevice 删除有故障的设备。请参见《参考手册: 过程》。
5 使用 disk init 初始化新数据库设备。请参见《系统管理指南, 卷 1》中的第 7 章“初始化数据库设备”。
6 重新创建数据库,一次创建一个。
7 将最新的数据库转储装载到每个数据库中。
8 按各个事务日志转储的创建顺序应用这些转储。
这些步骤需要的信息比此处列出的信息更加详细,以下各节对其进 行了讨论。
获取事务日志的当前转储
使用 dump transaction with no_truncate 为出故障设备上的每一数据库获 取当前事务日志转储。例如,若要获取 mydb 的当前事务日志转储, 请输入:
dump transaction mydb
to "/dev/nrmt0" at REMOTE_BKP_SERVER with init, no_truncate,
notify = "operator_console"
检查空间使用情况
使用本节中讨论的步骤确定您的数据库使用哪些设备、在每个设备 上分配多少空间以及该空间是用于数据、日志还是两者。您可以在 重新创建数据库使用这些信息,以确保日志、数据和索引驻留在单 独的设备上并保留已创建的任何用户段的作用域。
注释 您也可以使用这些步骤在将数据库转储从一个服务器移到另 一个服务器(在同一硬件和软件平台上)时保留段映射。
如果不使用此信息为损坏的数据库重新创建设备分配,则 Adaptive Server 会在 load database 指明差异之后重新映射 sysusages 表。这意 味着数据库的系统定义的段和用户定义的段将不再匹配相应的设备 分配。sysusages 中的信息不正确可能导致日志与数据存储在相同的 设备中,即使数据和日志在恢复前是分开的也是如此。它也可以通 过无法预测的方式更改用户定义的段,并且可能会生成无法使用标 准 create database 命令创建的数据库。
1 在 master 中,检查损坏的数据库的设备分配和使用情况:
select segmap, size from sysusages where dbid = db_id(" database_name")
2 检查查询的输出。每个 segmap 为 3 的行都表示数据分配。每个 segmap 为 4 的行都表示日志分配。较高的值指示用户定义的段; 将这些段作为数据分配处理,以保留这些段的作用域。size 列指 示数据块的数目。记录每一磁盘区段的顺序、用途和大小。
例如,以下输出来自使用 2K 逻辑页的服务器,它转换为 表 13-6
中所述的大小和用途:
segmap |
size |
------- |
-------- |
3 |
10240 |
3 |
5120 |
4 |
5120 |
8 |
1024 |
4 |
2048 |
表 13-6:设备分配示例 |
|
设备分配 |
兆字节 |
数据 |
20 |
数据 |
10 |
日志 |
10 |
数据(用户定义的段) |
2 |
日志 |
4 |
注释 如果 segmap 列包含 7,则表示您的数据和日志位于同一 设备上,并且您最多只能恢复到最新的数据库转储。不要将 log on 选项用于 create database。只需确保您分配的空间等于或多于 sysusages 报告的总量。
3 为数据库运行 sp_helpdb database_name。以下查询列出保存数 据和日志的设备:
name |
db_size |
owner |
dbid |
created |
status |
------- |
------- |
------ |
---- |
----------- |
------------- |
mydb |
46.0 MB |
sa |
15 |
May 26 2005 |
no_options set |
device_fragments |
size |
usage |
created |
free kbytes |
|||||
---------------- |
----- |
-------- |
------------ |
----------- |
|||||
datadev1 |
20 |
MB |
data |
only |
June |
7 |
2005 |
2:05PM |
13850 |
datadev2 |
10 |
MB |
data |
only |
June |
7 |
2005 |
2:05PM |
8160 |
datadev3 |
2 |
MB |
data |
only |
June |
7 |
2005 |
2:05PM |
2040 |
logdev1 |
10 |
MB |
log only |
June |
7 |
2005 |
2:05PM |
not applicable |
|
logdev2 |
4 |
MB |
log only |
June |
7 |
2005 |
2:05PM |
not applicable |
删除数据库
在您为出现故障的设备上的所有数据库执行了前面所述的步骤后, 使用 drop database 删除每一数据库。
注释 如果其它数据库中的表包含对您尝试删除的数据库中任何表 的引用,则必须先使用 alter table 删除参照完整性约束,然后再删除 数据库。
如果当您发出 drop database 时,系统由于数据库受损而报告错误, 请使用:
dbcc dbrepair (mydb, dropdb)
如果您使用的是已复制的数据库,请使用 dbcc dbrepair 将转储从以前 版本的 Adaptive Server 装载到较新的版本中。例如:
• 将转储从早期版本的 Adaptive Server 的生产系统装载到当前版 本的 Adaptive Server 的测试系统,或者,
• 在热备份应用程序中,使用早期版本的 Adaptive Server 的活动数 据库中的数据库转储初始化当前版本的 Adaptive Server 的备用数 据库。
请参见《错误消息和故障排除指南》以及《参考手册:命令》。
重新创建数据库
使用以前收集的段信息重新创建每个数据库。
注释 如果您选择了不收集与段使用率有关的信息,则使用 create database...for load 创建大小至少与原始大小相等的新数据库。
1 将 create database 与 for load 选项一起使用。从 sysusages 表中复 制数据库的每个行的所有设备段映射和大小,直到第一个日志设 备(包括该设备)。以这些行在 sysusages 中出现的顺序使用它 们。(sp_helpdb 的结果按设备名的字母顺序排列,而不是按分 配顺序排列。)例如,若要重新创建 第 366 页的表 13-6 中所示 的 mydb 数据库分配,请输入:
create database mydb on datadev1 = 20,
datadev2 = 10 log on logdev1 = 10 for load
注释 create database...for load 临时锁定新创建的数据库外的用 户,并且 load database 将数据库标记为脱机状态以供常规使用。 这防止用户在恢复期间执行记录的事务。
2 将 alter database 与 for load 选项一起使用以按顺序重新创建其余 的条目。请记住,应像您处置数据分配一样为用户段处置设备 分配。
在此示例中,为了在 datadev3 上分配更多的数据空间,在
logdev1 上分配更多的日志空间,使用的命令是:
alter database mydb
on datadev3 = "2M" log on logdev1= "4M" for load
装载数据库
装载事务日志
使用 load database 重装数据库。如果原始数据库在用户定义的段上 存储了对象(sysusages 报告 segmap 大于 7),并且您的新设备分配 匹配转储的数据库的设备分配,则 Adaptive Server 保留用户段映射。
如果您没有创建新设备分配以匹配转储的数据库的设备分配,则 Adaptive Server 会将段重新映射到可用的设备分配。此重新映射还 混合同一物理设备上日志和数据。
注释 如果在装载数据库时发生了其它故障,则 Adaptive Server 将 不恢复部分装载的数据库,并且向用户通知这一情况。您必须通过 重复执行 load 命令重新开始数据库装载。
使用 load transaction 以事务日志备份的生成顺序应用事务日志备份。
Adaptive Server 检查每一转储的数据库和事务日志上的时间戳。如果 转储以错误顺序装载,或者用户事务在两次装载之间修改了事务日 志,则装载将失败。
如果您使用 with standby_access 转储了事务日志,则也必须使用
standby_access 装载数据库。
在您使数据库处于最新状态后,使用 dbcc 命令检查其一致性。
您可以恢复数据库,一直恢复到其事务日志中某个指定的时间点。 为此,请使用 load transaction 的 until_time 选项。例如,在用户无意 中删除了某个重要的表的情况下可以使用这一选项;您可以使用 until_time 将对包含该表的数据库进行的更改一直恢复到刚删除该表 之前那一时刻的状态。
为了在数据已被损坏后有效使用 until_time,您必须知道发生错误的 确切时间。您可以通过在出现错误时发出 select getdate 来找到这一 时间。例如,假定用户无意中删除了一个重要的表,然后在几分钟 之后您以毫秒为单位获取当前时间:
select convert(char(26), getdate(), 109)
-------------------------- Mar 26 2007 12:45:59:650PM
在转储包含错误的事务日志并装载最新的数据库转储后,装载在最 后转储数据库后创建的事务日志。然后,使用 until_time 装载包含错 误的事务日志;在此示例中,大约是在 10 分钟之前:
load transaction employees_db from "/dev/nrmt5"
with until_time = "Mar 26 2007 12:35:59:650PM"
在使用 until_time 装载了事务日志之后,Adaptive Server 重新启动数 据库的日志序列。这意味着,在您再次转储该数据库之前,不能在 使用 until_time 执行 load transaction 命令后装载之后的事务日志。您 必须首先转储该数据库,然后才能转储其它事务日志。
使数据库处于联机状态
将所有事务日志转储应用到数据库之后,使用 online database 使其 可供使用。例如,若要使 mydb 数据库联机,请输入:
online database mydb
在将复制型数据库升级到 Adaptive Server 的当前版本前,这些数据 库必须处于联机状态。但是,在清除日志前,不能使复制型数据库 处于联机状态。如您尝试在日志清除之前使复制型数据库联机,则 Adaptive Server 将发出:
在 Replication Server 通过 Log Transfer Manager (LTM) 清除日志后, 将自动发出 online database。
有关具有复制型数据库的 Adaptive Server 用户的升级指导,请参考 所用平台的安装文档。
装载序列 装载复制型数据库的装载序列是:load database、replicate、load transaction、replicate 等。在装载序列的末尾,发出 online database 以 使数据库处于联机状态。由于数据库处于装载序列中而处于脱机状 态的数据库不被 Replication Server 自动进入联机状态。
警告!在装载了所有事务日志前不要发出 online database。
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------