随着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
- 安全性管理指南
- 实用程序指南
dump transaction
说明 如果 dump transaction 命令并未与另一条 dump database 命令同时运行, 则制作事务日志的副本并删除不活动的日志部分。
有关您的站点许可使用 Tivoli 时的 dump tranaction 语法,请参见 Tivoli Storage Manager (TSM) 语法。
语法 进行例行日志转储:
dump tran[saction] database_name
to [compress::[compression_level::]]stripe_device [at backup_server_name]
[density = density_value, blocksize = number_bytes, capacity = number_kilobytes, dumpvolume = volume_name, file = file_name]
[stripe on [compress::[compression_level::]]stripe_device [at backup_server_name]
[density = density_value, blocksize = number_bytes, capacity = number_kilobytes, dumpvolume = volume_name, file = file_name]]
[[stripe on [compress::[compression_level::]]stripe_device [at backup_server_name]
[density = density_value, blocksize = number_bytes, capacity = number_kilobytes, dumpvolume = volume_name, file = file_name]]...]
[with {
density = density_value, blocksize = number_bytes, capacity = number_kilobytes, compression = compress_level, dumpvolume = volume_name, file = file_name,
[dismount | nodismount], [nounload | unload], retaindays = number_days, [noinit | init],
notify = {client | operator_console}, standby_access}]
截断日志而不生成备份副本:
dump tran[saction] database_name
with truncate_only
截断已达到容量上限的日志。 仅在不得以的情况下才应使用这种方法, 因为您将失去日志的内容:
dump tran[saction] database_name
with no_log
在某个数据库设备出现故障后备份日志:
dump tran[saction] database_name
to [compress::[compression_level::]]stripe_device [at backup_server_name]
[density = density_value, blocksize = number_bytes, capacity = number_kilobytes, dumpvolume = volume_name, file = file_name]
[stripe on [compress::[compression_level::]]stripe_device [at backup_server_name]
[density = density_value, blocksize = number_bytes, capacity = number_kilobytes, dumpvolume = volume_name, file = file_name]]
[[stripe on [compress::[compression_level::]]stripe_device [at backup_server_name]
[density = density_value, blocksize = number_bytes, capacity = number_kilobytes, dumpvolume = volume_name, file = file_name]]...]
[with {
density = density_value, blocksize = number_bytes, capacity = number_kilobytes, compression = compress_level dumpvolume = volume_name, file = file_name,
[dismount | nodismount], [nounload | unload], retaindays = number_days, [noinit | init],
no_truncate,
notify = {client | operator_console}}]
Tivoli Storage Manager 提供备份服务时复制事务日志:
dump transaction database_name
to "syb_tsm::object_name" [blocksize = number_bytes]
[stripe on "[syb_tsm::]object_name" [blocksize = number_bytes]]...]
[with {
blocksize = number_bytes, compression = compress_level, passwd = password,
[noinit | init],
notify = {client | operator_console}, verify[ = header | full]
} ]
基于配置文件中指定的设置来转储事务:
dump transaction database_name using config = configuration_name [with {
verify[ = header | full]
}]
参数 database_name
是您从中复制数据的数据库的名称。可以将数据库名以文字、局部变 量或参数形式指定给一个存储过程。
configuration_name
是唯一的转储配置名称。转储配置中指定的参数值用于执行转储操作。 命令中明确指定的任何其它参数均可覆盖转储配置所指定的值。
如果使用转储配置,则不能将分条目录指定为命令的参数。 Adaptive Server 在转储配置指定的分条目录中创建转储文件。转储文件名使用 此约定:
Database_Name.Dump_Type.Date-Timestamp.StripeID
compress::compression_level
是 0 到 9 之间的数字、100 或 101。对于一位数的压缩级别,0 表示不 进行压缩,而 9 表示最高级别的压缩。压缩级别 100 和 101 提供更加
快捷、更加有效的压缩模式,其中 100 提供更加快捷的压缩,而 101 提供程度更高的压缩。如果不指定 compression_level,Adaptive Server 将不会压缩转储。
有关 compress 选项的详细信息,请参见 《系统管理指南》中的 “备 份和恢复用户数据库”。
注释 compression = compress_level 选项允许您在本地和远程计算机上压 缩转储文件,这不同于 compress::compression_level 选项,后者只能在本 地计算机上压缩转储文件 。
从 Adaptive Server 15.0 版开始,Sybase 支持并建议使用本机 compression
= compression_level 语法。
truncate_only 删除日志不活动的部分而不制作备份副本。该选项在日志段与数据段 位于同一设备的数据库上使用。不要指定转储设备或 Backup Server 名称。
no_log
删除日志的不活动部分,而不制作备份副本,也不在事务日志中记录 过程。仅在用完日志空间,无法运行常规 dump transaction 命令时才 应使用 no_log。仅在不得已的情况下才应使用 no_log,且应仅在 dump transaction with truncate_only 失败时才使用。
to stripe_device 是数据转储到的设备。有关指定转储设备时使用何种形式的信息,请 参见 第 362 页的 “指定转储设备 ” 。
at backup_server_name
是 Backup Server 的名称。如果是转储到缺省 Backup Server,请不要 指定此参数。仅当通过网络转储到远程 Backup Server 时才指定此参 数。使用此选项可指定多达 32 个不同的远程 Backup Server。通过网 络进行转储时,请指定在转储设备附加到的计算机上运行的远程 Backup Server 的 network name。对于使用接口文件的平台, backup_server_name 必须出现在接口文件中。
density = density_value
替换磁带设备的缺省密度。有效密度为 800、 1600、 6250、 6666、 10000 和 38000。并不是所有的值对于每个磁带驱动器都有效;请使 用适合您的磁带驱动器的正确密度。
blocksize = number_bytes 替换转储设备的缺省块大小。块大小必须至少为一个数据库页 (对 于大多数系统为 2048 字节),且必须为数据库页大小的整数倍。
注释 注意:应尽可能使用缺省块大小,它最适合您的系统。
capacity = number_kilobytes 是设备可写入单个磁带卷的最大数据量。容量至少应为 5 个数据库 页,但应略小于设备的推荐容量。
计算容量的一般规则是使用设备制造商给出的设备最大容量的 70%, 并留出 30% 的容量用于记录间隙和磁带标志之类的开销。此规则在 多数情况下适用,但可能由于各供应商和设备的开销存在差异而不能 全部适用。
在不能可靠检测到磁带结束标志的 UNIX 平台上,必须指明可转储到 磁带的千字节数。对于作为物理路径名指定的转储设备,必须提供 capacity。如果将转储设备作为逻辑设备名指定,那么,除非指定容 量。否则 Backup Server 使用存储在 sysdevices 系统表中的 size 参数。
compression = compress_level
是 0 到 9 之间的数字、100 或 101。对于一位数的压缩级别,0 表示不 进行压缩,而 9 表示最高级别的压缩。压缩级别 100 和 101 提供更加
快捷、更加有效的压缩模式,其中 100 提供更加快捷的压缩,而 101 提供程度更高的压缩。如果不指定 compression_level,Adaptive Server 将不会压缩转储。
注释 Sybase 建议首选使用本机 "compression = compress_level" 选项,旧 选项 "compress::compression_level" 其次。该本机选项允许压缩本地和远 程转储,并且它创建的转储将在装载期间描述其自身的压缩级别。保留 旧选项是为了与以前的应用程序兼容。
dumpvolume = volume_name
建立指派给卷的名称。 volume_name 的最大长度为 6 个字符。覆盖现 有转储、转储到新磁带或者转储到内容不可识别的磁带时, Backup Server 会在 ANSI 磁带标签中写入 volume_name。 load transaction 命令 会检查标签,如果装载了错误的卷,则会生成错误消息。
stripe on stripe_device
是附加的转储设备。最多可以使用 32 个设备,其中包括在 to stripe_device 子句中指定的设备。Backup Server 将日志分成几个大致相 等的部分,并将每个部分发送到不同的设备。转储是在所有设备上同 时进行的,从而减少了所需的时间和卷的更改数量。请参见 第 362 页 的 “指定转储设备 ”。
dismount | nodismount
(在支持逻辑卸下的平台上)确定磁带是否保持装入状态。缺省情况 下,转储完成时将卸下用于转储的全部磁带。使用 nodismount 命令可 使磁带供其它转储或装载使用。
nounload | unload 确定转储完成后是否回绕磁带。缺省情况下磁带不会回绕,从而使您 可以向同一磁带卷进行其它转储。请为要添加到多转储卷的最后一个 转储文件指定 unload。这样,在转储完成后就会回绕并卸载磁带。
retaindays = number_days
(在 UNIX 平台上)指定天数, Backup Server 保护转储在此天数内不 被覆盖。如果试图在过期前覆盖转储,则在覆盖未过期卷前,Backup Server 会要求进行确认。
注释 此选项对于磁盘、 1/4 英寸盒式磁带和单文件介质是有意义的。 在多文件介质上,此选项对除第一卷外的所有卷都是有意义的。
对于可以立即覆盖的转储,其 number_days 值必须是正整数或 0。如 果不指定 retaindays 值,Backup Server 会使用由 sp_configure 设定的服 务器范围的 tape retention in days 值。
noinit | init
确定是将转储附加到现有的转储文件还是重新初始化 (覆盖)磁带 卷。缺省情况下, Adaptive Server 将转储附加在最后一个磁带结束标 记之后,从而使您可以向同一个卷转储其它数据库。新的转储只能附 加到多卷转储的最后一个卷上。对转储到磁带的第一个数据库使用 init,以覆盖其内容。
在需要 Backup Server 存储或更新磁带配置文件中的磁带设备特性时, 可使用 init 命令。请参见 《系统管理指南》。
file = file_name
是转储文件名。该名称不得超过 17 个字符,且必须符合操作系统对 文件名的约定。如果不指定文件名,则 Backup Server 创建缺省文件 名。请参见 第 363 页的 “转储文件 ”。
no_truncate
使用指向 master 数据库中事务日志的指针转储事务日志,即使无法访 问包含数据库中数据段的磁盘。当事务日志驻留在未损坏的设备上, 而 master 数据库和用户数据库驻留在不同的物理设备上时, with no_truncate 选项提供最新的日志恢复。
如果将 dump tran 和 no_truncate 一起使用,则前者后面应该接 dump database,而不是另一个 dump tran。如果装载使用 no_truncate 选项生 成的转储,则 Adaptive Server 将阻止您装载任何后续转储。
notify = {client | operator_console}
替换缺省的消息显示目标。
• 在提供操作员终端功能的操作系统上,始终会将卷更改消息发送 到运行 Backup Server 的计算机的操作员终端上。使用 client 可将 其它 Backup Server 消息发送到启动 dump database 的终端会话。
• 在不提供操作员终端功能的操作系统 (如 UNIX)上,消息将发 送到启动 dump database 的客户端。使用 operator_console 将消息 发送到运行 Backup Server 的终端。
with standby_access 指定仅转储完成的事务。转储继续到它可发现的事务刚刚完成、没有 其它活动事务的最远的点。
syb_tsm
是调用 libsyb_tsm.so 模块的关键字,该模块用于实现 Backup Server
和 TSM 之间的通信。
object_name
是 TSM 服务器上备份对象的名称。
configuration_name
是唯一的转储配置名称。转储配置中指定的参数值用于执行转储操作。
如果命令中明确指定了其它参数,则其会覆盖转储配置所指定的参数 值。
如果使用转储配置,则不能将分条目录指定为命令的参数。 Adaptive Server 在转储配置指定的分条目录中创建转储文件。使用以下约定命 名转储文件:
Database Name.Dump Type.Date-Timestamp.StripeID
示例 示例 1 将事务日志转储到磁带,将其附加到磁带上的文件,因为没有指 定 init 选项:
dump transaction pubs2 to "/dev/nrmt0"
示例 2 使用 Backup Server REMOTE_BKP_SERVER 转储 mydb 数据库的事 务日志。Backup Server 向两个设备中的每一个转储约一半日志。init 选项 覆盖磁带上的所有现有文件。 retaindays 选项指定 14 天不得覆盖磁带:
dump transaction mydb
to "/dev/nrmt4" at REMOTE_BKP_SERVER stripe on "/dev/nrmt5" at REMOTE_BKP_SERVER
with init, retaindays = 14
示例 3 将 inventory_db 事务日志文件中完成的事务转储到设备 dev1 中:
dump tran inventory_db to dev1 with standby_access
示例 4 采用压缩级别 100 将 pubs2 数据库的事务日志转储到 TSM 备份对 象 “demo2.2”中。
dump transaction pubs2 to "syb_tsm::demo2.2" with compression = 100
示例 5 使用 “dmp_cfg2”配置转储数据库。在转储过程中创建的存档文 件带口令保护:
dump transaction testdb using config = 'dmp_cfg2' with passwd = 'my_pass01'
go
示例 6 使用 “dmp_cfg2”配置通过压缩级别 6 (也就是覆盖 “dmp_cfg2”中指定的压缩级别)转储数据库:
dump transaction testdb using config = 'dmp_cfg2' with compression = 6
go
用法 • 如果在使用 sp_hidetext 之后执行跨平台的 dump 和 load,则必须手动 删除并重新创建所有隐藏对象。
• 表 1-20 描述了用于备份数据库和日志的命令和系统过程。
表 1-20: 用于备份数据库和日志的命令
目的 使用
对整个数据库进行例行转储,包括事务日志。 dump database
对事务日志进行例行转储,然后截断不活动的部分。如果 dump transaction 与 dump database 同时运行,则不会截断日志的不活动部 分。
dump transaction
在数据库设备发生故障后转储事务日志。 dump transaction with no_truncate
截断日志而不进行备份。 然后复制整个数据库。
在常规方法因日志空间不足而失败时截断日志。 然后复制整个数据库。
dump transaction with truncate_only dump database
dump transaction with no_log dump database
响应 Backup Server 卷更改消息。 sp_volchanged
限制
• 物理设备的最大文件路径/文件名大小为 127 个字符。
• 不能转储到空设备 (UNIX 上为 /dev/null)。
• 不能在事务中使用 dump transaction 命令。
• 使用 1/4 英寸盒式磁带时,每个磁带只能转储一个数据库或事务日志。
• 必须先完全转储新创建的数据库,然后才能运行 dump transaction
database_name to 。
• 在数据库中执行未记录的操作后,将不能使用 dump transaction
database_name to 。
• 启用 trunc log on chkpt 数据库选项时,或者启用 select into/bulk copy/pllsort 并用 select into、快速批量复制操作、缺省未记录的 writetext 操作或并行排序进行最小记录更改后,不能发出 dump the transaction log,而应使用 dump database。
警告! 请勿用 delete、 update 或 insert 命令修改日志表 syslogs。
• 如果数据库不具有在独立于数据段的设备上的日志段,则不能使用
dump transaction 复制和截断日志。
• 如果用户或阈值过程在正在运行 dump database 或另一个 dump transaction 的数据库上发出一个 dump transaction 命令,则第二个命 令将休眠,直至第一个命令完成。
• 要恢复数据库,请使用 load database 装载最近的数据库转储,然后 使用 load transaction 按转储的顺序装载每个后续事务日志转储。
• 每次添加或删除跨数据库约束或者删除包含跨数据库约束的表时, 都请转储上述两个受影响的数据库。
警告!装载这些数据库的早期转储可能会导致数据库损坏。
• 不能在同一磁带中混合 Sybase 转储和非 Sybase 数据 (如 UNIX 存 档)。
• 在包含脱机页的数据库上不能使用 with no_log 或 with truncate_only 转 储事务。
使用 with no_truncate 选项的限制
正常情况下,如果执行以下操作, Adaptive Server 会返回错误消息:
• 完全转储新创建的数据库之前就运行 dump transaction database_name
to:
This database has not been dumped since it was created or upgraded or a transaction dump may have been loaded using the UNTIL_TIME clause.You must perform a DUMP DATABASE before you can dump its transaction log.
• 在数据库中执行最少日志记录的操作后,使用 dump transaction
database_name to :
Dump transaction is not allowed because a
non-logged operation was performed on the database. Dump your database or use dump transaction with truncate_only until you can dump your database.
有关详细信息,请参见 第 385 页的 “完全可恢复的 DDL 和转储事 务”。
• 在执行 dump transaction with truncate_only 后,使用dump transaction
database_name to :
DUMP TRANsaction to a dump device is not allowed where a truncate-only transaction dump has been performed after the last DUMP DATABASE.Use DUMP DATABASE instead.
然而,如果在 dump transaction database_name to dump_file 命令中使用 with no_truncate 选项,则 Adaptive Server 不会对数据库执行检查,因此不会 返回上述任何错误消息。 Adaptive Server 假定您的数据库丢失了一些数 据 (例如,从发生故障的磁盘),因此不可访问。
然而,尝试装载事务时会收到错误消息。 load transaction 过程可能会失 败,并显示以下错误消息:
Specified file 'dump device' is out of sequence.Current timestamp is <X> while dump was from <Y>.
• 设备发生故障后,请使用 dump transaction with no_truncate 复制日志, 而不截断它。仅当事务日志在一个单独的段上,且 master 数据库可 访问的情况下,才可使用此选项。
• 由 dump transaction with no_truncate 创建的备份是日志的最新转储。 恢复数据库时,最后装载该转储。
• 如果数据库没有日志段在独立于数据段的设备上,请使用 dump transaction with truncate_only 从日志中删除已提交的事务,而不备份 其副本。
警告! dump transaction with truncate_only 没有提供恢复数据库的方 式。应及早运行 dump database 以确保可恢复性。
• 可在 master、 model 和 sybsystemprocs 数据库上使用 with truncate_only,这些数据库的日志段和数据段在同一个设备上。
• 也可以在将事务日志和数据存储在同一个设备中的极小数据库上使 用 with truncate_only。
• 任务关键用户数据库应该有日志段在独立于数据段的设备上。请使 用 create database 的 log on 子句创建带有单独日志段的数据库,或使 用 alter database 和 sp_logdevice 将日志传送到单独的设备上。
只转储完成的事务
• 使用 with standby_access 选项转储事务日志以将其载入用作数据库热 备份服务器的服务器中。
• 使用 with standby_access 转储事务日志时,转储继续到日志中所有以 前事务都已完成且没有属于打开事务的记录的最远点。
• 在您依次装载两个或更多事务日志,并希望在两次装载之间数据库 保持联机状态的任何情况下,都必须使用 dump tran[saction]...with standby_access。
• 在装载使用 with standby_access 选项生成的转储之后,请使用带有
for standby_access 选项的 online database 命令使数据库可访问。
警告!如果某一事务日志包含打开的事务,并且您未使用 with standby_access 选项转储该事务,则 Adaptive Server 不会允许您装 载该日志、使数据库联机,然后装载后续事务转储。如果要装载一 系列事务转储,则只有在装载最初用 with standby_access 进行转储的 事务或装载整个事务系列之后才能使数据库联机。
警告! 在转储事务日志的常规方法(dump transaction 或 dump transaction with truncate_only)因为日志空间不足而失败,不得已时再使用 dump transaction with no_log。dump transaction with no_log 没有提供恢复数据库的 方法。应及早运行 dump database 以确保可恢复性。
• dump transaction...with no_log 截断日志,而不记录转储事务事件。因 为未复制数据,所以它只需要数据库的名称。
• 每次使用 dump transaction...with no_log 都被视为一个错误并记录在
Adaptive Server 错误日志中。
• 如果您创建了日志段与数据段不在同一个设备上的数据库,编写了 足以频繁转储事务日志的最后机会阈值过程,并且为日志和数据库 分配了足够的空间,则不必使用 with no_log。如果必须使用 with no_log,需要增加转储频率和日志空间量。
• 事务日志转储是动态的 – 可以在数据库活动时发生。它们可能会 轻微地减慢系统,所以请在数据库更新不频繁时进行转储。
• 制定一份用于定期备份用户数据库及其事务日志的日程表。
• dump transaction 比 dump database 使用的存储空间更小且花费的时间 也更短。通常,事务日志转储比数据库转储更频繁。
使用阈值以自动执行 dump transaction
• 使用阈值以自动进行备份过程。要利用 Adaptive Server 的最后机会 阈值,请创建日志段与数据段不在同一设备上的用户数据库。
• 当日志段上的空间低于最后机会阈值时, Adaptive Server 执行最后 机会阈值过程。在最后机会阈值过程中包括 dump transaction 命令有 助于避免用尽日志空间。请参见 sp_thresholdaction。
• 可以使用 sp_addthreshold 添加第二个阈值以监控日志空间。有关阈 值的详细信息,请参见 《系统管理指南》。
指定转储设备
• 可以将转储设备指定为文字、局部变量或存储过程参数。
• 可将本地转储设备指定为:
• sysdevices 系统表中的逻辑设备名称
• 绝对路径名
• 相对路径名
Backup Server 使用 Adaptive Server 中的当前工作目录解析相对路径名。
• 磁带和磁盘设备支持转储到多个分条。仅磁带设备支持在设备上放 置多个转储。
• 当通过网络转储时,请指定转储设备的绝对路径名。路径名在运行 Backup Server 的计算机上必须是有效的。如果名称包括任何非字 母、数字或下划线 (_) 的字符,都必须用引号将它引起来。
• 转储设备上的所有权和权限问题可能会干扰 dump 命令的使用。 sp_addumpdevice 将设备添加到系统表,但不保证可以向该设备转储 或将文件创建为转储设备。
• 可以同时运行多个转储 (或装载),只要它们使用不同转储设备即 可。
确定磁带设备特性
如果发出了不带 init 限定符的 dump transaction 命令,且 Backup Server 不 能确定此设备类型,则 dump transaction 命令将失败。请参见 《系统管 理指南》。
• Backup Server 必须与 Adaptive Server 在同一台计算机上运行。 Backup Server 必须在 master..sysservers 表中列出。这个条目是在安 装或升级过程中创建的,不得删除。
• 如果备份设备位于另一台计算机上以通过网络进行转储,那么在该 远程计算机上还必须安装 Backup Server。
转储文件
• 用 init 选项转储日志将覆盖磁带或磁盘上的任何现有文件。
• 转储文件名标识转储哪个数据库及何时转储。如果不指定文件名, 则 Backup Server 通过并置以下部分创建缺省的文件名:
• 数据库名的最后七个字符
• 两位数的年份数值
• 三位数表示的一年中的一天 (1 366)
• 创建转储文件时的十六进制编码时间
例如,文件 cations930590E100 包含 1993 年第 59 天生成的
publications 数据库的一个副本:
图 1-6:事务日志转储的文件命名约定
cations 93 059 0E100
数据库名的
年份中的 一年中的 午夜后
最后 7 个字符
最后 年份 年份
的秒数
• Backup Server 将转储文件名发送到由 with notify 子句指定的位置。在 存放备份磁带之前,操作员应利用数据库名、文件名、日期和其它 相关信息为磁带制作标签。装载无标识标签的磁带时,可使用 with headeronly 和 with listonly 选项确定其内容。
卷名
• 转储卷根据 ANSI 磁带标签标准标注。标签信息应包含逻辑卷号和 设备在分条集中的位置。
• 装载过程中, Backup Server 使用磁带标签来检验卷的安装顺序是否 正确。这使您可以从比转储时所用设备数更少的设备进行装载。
注释 通过网络进行转储和装载时,必须为每个操作指定相同数量 的分条设备。
更改转储卷
• (在 UNIX 系统中) Backup Server 在磁带容量满后请求更改卷。装 入另一卷后,操作员通过在可以与 Backup Server 通信的任何 Adaptive Server 上执行 sp_volchanged 系统过程来通知 Backup Server。
• 如果 Backup Server 检测到当前装入的卷有问题 (例如,如果装入 了错误的卷),它通过向客户机或其操作员主控台发送消息来请求 更改卷。操作员可用 sp_volchanged 系统过程响应这些消息。
附加到或覆盖卷
• 缺省情况下 (noinit), Backup Server 将在同一磁带卷上写入连续转 储,这可以有效利用高容量的磁带介质。数据将被添加到最后一个 磁带结束标记的后面。新的转储只能附加到多卷转储的最后一个卷 上。在写入磁带前, Backup Server 将检验第一个文件是否还处于有 效期内。如果磁带包含非 Sybase 数据,则 Backup Server 会予以拒 绝,以避免破坏具有潜在价值的信息。
• 使用 init 选项重新初始化卷。如果指定 init,则 Backup Server 将覆盖 现有的任何内容,即使磁带包含非 Sybase 数据、第一个文件还没有 过期,或者磁带有 ANSI 访问限制。
• 图 1-7 说明了如何将三个事务日志转储到单个卷。请选择下列方法 之一:
• init 初始化磁带以存放第一个转储
• noinit (缺省值)附加后续转储
• unload 在最后一个转储之后回绕并卸载磁带
dump tran mydb to /dev/nrmt4 with init
dump tran yourdb to /dev/nrmt4
dump tran pubs2 to /dev/nrmt4 with unload
• 在 dump transaction 开始时, Adaptive Server 将每个逻辑日志设备的 主设备名传递给 Backup Server。如果主设备已取消镜像, Adaptive Server 会改为传递辅助设备名。如果指定的设备在 Backup Server 完 成数据传输之前发生故障,则 Adaptive Server 将中止转储。
• 如果在 dump transaction 正在进行时试图取消指定日志设备的镜像, 则 Adaptive Server 会显示一条消息。执行 disk unmirror 命令的用户可 以中止转储或将 disk unmirror 推迟到转储完成后执行。
• dump transaction with truncate_only 和 dump transaction with no_log 不使 用 Backup Server。当日志设备取消镜像后 (设备故障或 disk unmirror 命令导致),这些命令不受影响。
• dump transaction 只复制日志段。当取消只读数据设备的镜像时 (设 备故障或 disk unmirror 命令导致),该命令不受影响。
完全可恢复的 DDL 和转储事务
在低于 15.7 版的 Adaptive Server 中,某些操作是最少日志记录的。由于 在最少日志记录的操作后不允许 dump transaction,因此,此限制影响:
• 超大型数据库 (VLDB) 安装的可恢复性和操作可扩展性,其中 dump database 可能十分耗时。
• 数据库的最新可恢复性。即使最少日志记录的操作可完全从服务器 故障中恢复,在最后一个成功事务转储后进行的更改也可能会在数 据设备损坏或者数据库损坏时丢失。您不能在最少日志记录的操作 后使用 dump tran with no_truncate 来转储日志,然后使用转储的事务 日志来恢复数据库。
• 您不能使用 dump transaction 将数据库恢复到特定时刻,然后执行
load tran with until_time。
从 Adaptive Server 15.7 开始,您可以使用 dump transaction 来完全恢复在 早期版本的 Adaptive Server 中最少日志记录的以下操作:
• select into ,包括选择到代理表中
• 需要移动数据的 alter table 命令
• reorg rebuild
在 master 数据库中使用 sp_dboption 可完全记录缺省情况下以最少日志记 录模式记录的命令。
dump transaction 和 Tivoli Storage Manager
有关您的站点支持 TSM 时创建备份的详细信息,请参见 Tivoli Storage Manager 的用户文档。
标准 符合 ANSI SQL 的级别Transact-SQL 扩展。
权限 对 dump transaction 的权限检查因您的细化权限设置而异。
细化权限已启用 在启用细化权限的情况下,您必须是数据库的所有者,或对数据库拥有 dump database 特权或 own database 特权的用户。
细化权限已禁用 在禁用细化权限的情况下,您必须是数据库的所有者或具有以下任一角色的 用户:
• sa_role 或
• replication_role 或
• oper_role
审计 sysaudits 的 event 和 extrainfo 列中的值如下:
事件 审计选项 审计的命令或访问权限 extrainfo 中的信息
35 dump dump transaction • 角色 – 当前活动角色
• 关键字或选项 – NULL
• 先前值 – NULL
• 当前值 – NULL
• 其它信息 – NULL
• 代理信息 – set proxy 有效时的初始登录名
另请参见 文档 《系统管理指南》中的 “备份和恢复用户数据库”。 .
命令 dump database、 load database、 load transaction、 online database.
系统过程 sp_addumpdevice、 sp_dboption、 sp_dropdevice、 sp_helpdevice、 sp_hidetextsp_logdevice、 sp_volchanged.
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------