sp_volchanged <session_id>, <devname>, <action>
[, <fname>[, <vname>]]
<session_id>
标识请求更换卷的 Backup Server 会话。请使用 Backup Server 的卷更换请求中指定的 @session_id 参数。
<devname>
是装入了新卷的设备。请使用 Backup Server 的卷更换请求中指定的 @devname 参数。如果 Backup Server 与 SAP ASE 服务器不在同一台计算机上,请使用以下格式:
<device> at <backup_server_name>
<action>
指示 Backup Server 应 abort(中止)、proceed(继续),还是 retry(重试)该转储或装载操作。
<fname>
是要装载的文件。如果未在 sp_volchanged 中指定文件名,Backup Server 将装载 load 命令的 file = <filename> 参数。如果 sp_volchanged 和 load 命令都未指定要装载哪个文件,Backup Server 将装载磁带上的第一个文件。
<vname>
是 ANSI 磁带标签上显示的卷名。Backup Server 在覆盖现有转储、转储到全新的磁带或转储到内容不可识别的磁带时,会将卷名写入 ANSI 磁带标签。如果没有用 sp_volchanged 来指定 <vname>,Backup Server 会使用 dumpvolumesp_volchanged 而不是 dump 命令指定列名,Backup Server 将 ANSI 磁带标签的名称字段保留为空白。这是 dump 命令中指定的值。如果都不是
在装载期间,Backup Server 使用 <vname>,Backup Server 将使用 load 命令中指定的 dumpvolume 值。如果 sp_volchanged 和 load 命令都未指定卷名,Backup Server 在装载转储之前将不检查 ANSI 磁带标签的名称字段。
操作员更换了磁带,然后发出:
sp_volchanged 8, "/dev/nrmt4", RETRY
来自 Backup Server 的此消息指示装入的磁带尚未到期:
Backup Server: 4.49.1.1: OPERATOR: Volume to be overwritten on
'/dev/rmt4' has not expired: creation date on this volume is Sunday, Nov.
15, 1992, expiration date is Wednesday, Nov. 25, 1992.
Backup Server: 4.78.1.1: EXECUTE sp_volchanged
@session_id = 8,
@devname = '/auto/remote/pubs3/SERV/Masters/testdump',
@action = { 'PROCEED' | 'RETRY' | 'ABORT' }
使用 sp_volchanged 时,还存在一些其它注意事项。
(UNIX) Backup Server 会将消息发送到启动 dump or load 请求的客户端。使用 dump 或 load 命令的 with notify = operator_console 选项可将消息发送到启动 Backup Server 的终端。
Backup Server 在磁带容量满后请求更改卷。操作员装入另一磁带并执行 sp_volchanged。
下表说明了此过程。
表: 在 UNIX 系统上更换磁带卷
| 顺序 | 操作员,使用 isql | SAP ASE 服务器 | Backup Server |
|---|---|---|---|
| 1 | 发出 dump database 命令 | ||
| 2 | 向 Backup Server 发出转储请求 | ||
| 3 | 接收到来自 SAP ASE 服务器的转储请求消息将装入磁带的消息发送给操作员等待操作员的答复 | ||
| 4 | 接收到来自 Backup Server 的卷更换请求装入磁带执行 sp_volchanged | ||
| 5 | 检查磁带如果磁带没有问题,则开始转储磁带已满后,向操作员发出卷更换请求 | ||
| 6 | 接收到来自 Backup Server 的卷更换请求装入磁带执行 sp_volchanged | ||
| 7 | 继续转储转储完成后,将消息发送给操作员和 SAP ASE 服务器 |
|8|接收到转储已完成的消息取出磁带并给磁带标号|接收到转储已完成的消息释放锁完成 dump database 命令||