随着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
- 安全性管理指南
- 实用程序指南
创建阈值过程
Sybase 不提供阈值过程;请自行创建阈值过程以确保它们适合自己节点 的需要。
建议阈值过程中的操作包括写入服务器的错误日志和转储事务日志(以 便增加日志空间量)。还可以执行对 Open Server 或 XP Server 的远程过 程调用。例如,如果在 sp_thresholdaction 中包括以下命令,则该命令在 Open Server 上执行名为 mail_me 的过程:
exec openserv...mail_me @dbname, @segment 请参见《Transact-SQL 用户指南》。 本节提供关于编写阈值过程的一些准则,还有两个示例过程。
声明过程参数
Adaptive Server 向阈值过程传递四个参数:
• @dbname,varchar(30),其中包含数据库的名称
• @segmentname,varchar(30),其中包含段名
• @space_left,int,其中包含阈值的剩余空间值
• @status,int,对于最后机会阈值,此参数的值为 1;对于其它阈值, 此参数的值为 0
按位置而不是按名称传递这些参数。过程可为这些参数使用其它名称, 但必须按以上顺序以及以上数据类型声明这些参数。
生成错误日志消息
在过程开始的几句中包括一条 print 语句,以便在错误日志中记录数据库 名、段名和阈值大小。如果过程不包含 print 或 raiserror 语句,错误日志 将不包含阈值事件的任何记录。
执行阈值过程的进程是一个内部 Adaptive Server 进程。该进程没有关联 的用户终端或网络连接。如果在终端会话过程中通过直接执行阈值过程
(即,使用 execute procedure_name)测试阈值过程,则可在屏幕上看到 来自 print 和 raiserror 消息的输出。如果因为达到阈值而执行相同过程, 包含数据和时间的消息将记录在错误日志中。
例如,如果 sp_thresholdaction 包含以下语句:
print "LOG DUMP:log for '%1!' dumped", @dbname
Adaptive Server 会将以下消息写入错误日志:
00: 92/09/04 15:44:23.04 server:background task message:LOG DUMP:log for 'pubs2' dumped
转储事务日志
如果 sp_thresholdaction 过程包含 dump transaction 命令,则 Adaptive Server 会将日志转储到过程中指定的设备上。dump transaction 将自日志 开头起删除包含未提交的事务记录的页之前的所有页,它通过这种方式 来截断事务日志。
当有足够日志空间时,挂起的事务被唤醒。如果中止事务而不是挂起事 务,则用户必须重新提交这些事务。
如果 sp_thresholdaction 由于未记录的写入状态而失败,则可以发出 dump tran with no_log 作为替代项。
通常,Sybase 建议不要转储到磁盘,尤其不要转储到同一台计算机的磁盘 上或转储到与数据库磁盘相同的磁盘控制器上。然而,因为由阈值启动的 转储可能在任何时刻发生,所以最好转储到磁盘后将得到的文件复制到脱 机的介质上。(必须将这些文件复制回磁盘才能重新装载这些文件。)
选择取决于:
• 是否已使专用转储设备联机、已装载并已准备好接收转储的数据
• 在数据库可用时,是否有操作员可装入磁带卷
• 事务日志的大小
• 事务率
• 转储数据库和事务日志的定期时间安排
• 可用磁盘空间
• 其它特定于节点的转储资源和约束
一个简单的阈值过程
以下是一个转储事务日志并向错误日志输出消息的简单过程。因为此过 程使用一个变量 (@dbname) 表示数据库名称,所以此过程可以用于 Adaptive Server 中的所有数据库:
create procedure sp_thresholdaction
@dbname varchar(30),
@segmentname varchar(30),
@free_space int,
@status int
as
dump transaction @dbname to tapedump1
print "LOG DUMP: ’%1!’ for ’%2!’ dumped",
@segmentname, @dbname
一个更复杂的过程
根据传递给过程的参数值,以下阈值过程执行不同的操作。该过程的条 件逻辑使得可与日志段和数据段一起使用该过程。
该过程的操作有:
• 如果是由于达到日志的最后机会阈值而调用该过程,则输出“LOG FULL”消息。最后机会阈值的状态位是 1,而所有其它阈值的状 态位是 0。只有对于最后机会阈值,测试 if (@status&1) = 1 才返回 “true”值。
• 确认所提供的段名为日志段。即使日志段的名称已更改,日志段的 段 ID 也始终为 2。
• 输出有关事务日志的“前”和“后”大小信息。如果日志未明显减 小,则表明长时间运行的事务导致日志填满。
• 输出事务日志转储开始和停止的时间,这有助于收集有关转储持续 时间的数据。
• 如果阈值不在日志段上,则在错误日志中输出消息。此消息给出数 据库名、段名和阈值大小,使您了解数据库的数据段已填满。
create procedure sp_thresholdaction
@dbname varchar(30),
@segmentname varchar(30),
@space_left int,
@status int
as
declare @devname varchar(100),
@before_size int,
@after_size int,
@before_time datetime,
@after_time datetime,
@error int
/*
** if this is a last-chance threshold, print a LOG FULL msg
** @status is 1 for last-chance thresholds,0 for all others
*/
if (@status&1) = 1 begin
end
print "LOG FULL: database ’%1!’", @dbname
/*
** if the segment is the logsegment, dump the log
** log segment is always "2" in syssegments
*/
if @segmentname = (select name from syssegments where segment = 2)
begin
/* get the time and log size
** just before the dump starts
*/
select @before_time = getdate(),
@before_size = reserved_pages(db_id(), object_id("syslogs")) print "LOG DUMP: database ’%1!’, threshold ’%2!’",
@dbname, @space_left
select @devname = "/backup/" + @dbname + "_" + convert(char(8), getdate(),4) + "_" + convert(char(8), getdate(), 8)
dump transaction @dbname to @devname
/* error checking */ select @error = @@error if @error != 0
begin
end
print "LOG DUMP ERROR: %1!", @error
/* get size of log and time after dump */ select @after_time = getdate(),
@after_size = reserved_pages(db_id(), object_id("syslogs"))
/* print messages to error log */
print "LOG DUMPED TO: device ’%1!", @devname
print "LOG DUMP PAGES: Before: ’%1!’, After ’%2!’",
@before_size, @after_size
print "LOG DUMP TIME: %1!, %2!", @before_time, @after_time end
/* end of ’if segment = 2’ section */ else
/* this is a data segment, print a message */ begin
print "THRESHOLD WARNING: database ’%1!’, segment ’%2!’ at ’
%3!’ pages", @dbname, @segmentname, @space_left
end
决定在何处放置阈值过程
尽管可以为每个阈值创建单独的过程来转储事务日志,但创建可以由所 有日志段阈值执行的一个阈值过程更简便。当段上可用空间量下降到阈 值以下时, Adaptive Server 将读取受影响的数据库中的 systhresholds 表, 获取关联的存储过程的名称。该存储过程可以是下列之一:
• 对 Open Server 的远程过程调用
• 用数据库名限定的过程名(例如,
sybsystemprocs.dbo.sp_thresholdaction)
• 非限定的过程名
如果过程名不包括数据库限定符,则 Adaptive Server 将在发生空间不 足的数据库中进行查找。如果在其中找不到该过程,而且过程名以字 符“sp_”开头,则 Adaptive Server 将在 sybsystemprocs 数据库中查找该 过程,然后在 master 数据库中查找该过程。
如果 Adaptive 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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------