远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

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_levelAdaptive Server 将不会压缩转储。

有关 compress 选项的详细信息,请参见 《系统管理指南》中的 “备 份和恢复用户数据库”。


image

注释 compression = compress_level 选项允许您在本地和远程计算机上压 缩转储文件,这不同于 compress::compression_level 选项,后者只能在本 地计算机上压缩转储文件

Adaptive Server 15.0 版开始,Sybase 支持并建议使用本机 compression

= compression_level 语法。

image


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

替换磁带设备的缺省密度。有效密度为 80016006250666610000 38000。并不是所有的值对于每个磁带驱动器都有效;请使 用适合您的磁带驱动器的正确密度。

blocksize = number_bytes 替换转储设备的缺省块大小。块大小必须至少为一个数据库页 (对 于大多数系统为 2048 字节),且必须为数据库页大小的整数倍。


image

注释 注意:应尽可能使用缺省块大小,它最适合您的系统。

image


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_levelAdaptive Server 将不会压缩转储。


image

注释 Sybase 建议首选使用本机 "compression = compress_level" 选项,旧 选项 "compress::compression_level" 其次。该本机选项允许压缩本地和远 程转储,并且它创建的转储将在装载期间描述其自身的压缩级别。保留 旧选项是为了与以前的应用程序兼容。

image


dumpvolume = volume_name

建立指派给卷的名称。 volume_name 的最大长度为 6 个字符。覆盖现 有转储、转储到新磁带或者转储到内容不可识别的磁带时, Backup Server 会在 ANSI 磁带标签中写入 volume_nameload 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 会要求进行确认。


image

注释 此选项对于磁盘、 1/4 英寸盒式磁带和单文件介质是有意义的。 在多文件介质上,此选项对除第一卷外的所有卷都是有意义的。

image


对于可以立即覆盖的转储,其 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: 用于备份数据库和日志的命令

image

目的 使用

对整个数据库进行例行转储,包括事务日志。 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


image

警告! 请勿用 deleteupdate insert 命令修改日志表 syslogs

image

如果数据库不具有在独立于数据段的设备上的日志段,则不能使用

dump transaction 复制和截断日志。

如果用户或阈值过程在正在运行 dump database 或另一个 dump transaction 的数据库上发出一个 dump transaction 命令,则第二个命 令将休眠,直至第一个命令完成。

要恢复数据库,请使用 load database 装载最近的数据库转储,然后 使用 load transaction 按转储的顺序装载每个后续事务日志转储。

每次添加或删除跨数据库约束或者删除包含跨数据库约束的表时, 都请转储上述两个受影响的数据库。


image

警告!装载这些数据库的早期转储可能会导致数据库损坏。

image


不能在同一磁带中混合 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 从日志中删除已提交的事务,而不备份 其副本。


image

警告! dump transaction with truncate_only 没有提供恢复数据库的方 式。应及早运行 dump database 以确保可恢复性。

image


可在 mastermodel 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 命令使数据库可访问。


image

警告!如果某一事务日志包含打开的事务,并且您未使用 with standby_access 选项转储该事务,则 Adaptive Server 不会允许您装 载该日志、使数据库联机,然后装载后续事务转储。如果要装载一 系列事务转储,则只有在装载最初用 with standby_access 进行转储的 事务或装载整个事务系列之后才能使数据库联机。

image

不带日志转储


image

警告! 在转储事务日志的常规方法(dump transaction dump transaction with truncate_only)因为日志空间不足而失败,不得已时再使用 dump transaction with no_logdump transaction with no_log 没有提供恢复数据库的 方法。应及早运行 dump database 以确保可恢复性。

image


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

• Backup Server 必须与 Adaptive Server 在同一台计算机上运行。 Backup Server 必须在 master..sysservers 表中列出。这个条目是在安 装或升级过程中创建的,不得删除。

如果备份设备位于另一台计算机上以通过网络进行转储,那么在该 远程计算机上还必须安装 Backup Server

转储文件

init 选项转储日志将覆盖磁带或磁盘上的任何现有文件。

转储文件名标识转储哪个数据库及何时转储。如果不指定文件名, 则 Backup Server 通过并置以下部分创建缺省的文件名:

数据库名的最后七个字符

两位数的年份数值

三位数表示的一年中的一天 (1 366)

创建转储文件时的十六进制编码时间

例如,文件 cations930590E100 包含 1993 年第 59 天生成的

publications 数据库的一个副本:

1-6:事务日志转储的文件命名约定


image

image

cations 93 059 0E100

image

数据库名的

年份中的 一年中的 午夜后

最后 7 个字符

最后 年份 年份

的秒数


• Backup Server 将转储文件名发送到由 with notify 子句指定的位置。在 存放备份磁带之前,操作员应利用数据库名、文件名、日期和其它 相关信息为磁带制作标签。装载无标识标签的磁带时,可使用 with headeronly with listonly 选项确定其内容。


卷名

转储卷根据 ANSI 磁带标签标准标注。标签信息应包含逻辑卷号和 设备在分条集中的位置。

装载过程中, Backup Server 使用磁带标签来检验卷的安装顺序是否 正确。这使您可以从比转储时所用设备数更少的设备进行装载。


image

注释 通过网络进行转储和装载时,必须为每个操作指定相同数量 的分条设备。

image


更改转储卷

(在 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 在最后一个转储之后回绕并卸载磁带


1-7:将三个事务日志转储到单个卷

image

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 的权限检查因您的细化权限设置而异。

image

细化权限已启用 在启用细化权限的情况下,您必须是数据库的所有者,或对数据库拥有 dump database 特权或 own database 特权的用户。

细化权限已禁用 在禁用细化权限的情况下,您必须是数据库的所有者或具有以下任一角色的 用户:

sa_role

replication_role

oper_role


审计 sysaudits event extrainfo 列中的值如下:

image

事件 审计选项 审计的命令或访问权限 extrainfo 中的信息

35 dump dump transaction 角色 – 当前活动角色

关键字或选项 NULL

先前值 NULL

当前值 NULL

其它信息 NULL

代理信息 set proxy 有效时的初始登录名


另请参见 文档 《系统管理指南》中的 “备份和恢复用户数据库”。 .

命令 dump database load database load transaction online database.

系统过程 sp_addumpdevicesp_dboptionsp_dropdevicesp_helpdevicesp_hidetextsp_logdevicesp_volchanged.




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------