您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

BACKUP DATABASE 语句

在一个或多个存档设备上备份 SAP IQ 数据库。

语法

BACKUP DATABASE

[ backup-option … ]

TO [ archive-option... ]

… [ WITH COMMENT  ]

backup-option - (back to Syntax)

{ READWRITE FILES ONLY | 

READONLY dbspace-or-file [, … ] }

CRC { ON | OFF }

ATTENDED { ON | OFF }

BLOCK FACTOR

{ FULL | INCREMENTAL | INCREMENTAL SINCE FULL }

VIRTUAL { DECOUPLED | 

ENCAPSULATED '' }

POINT IN TIME RECOVERY LOGS ONLY

WITH COMMENT

dbspace-or-file - (back to backup-option)

{ DBSPACES identifier-list | FILES |  }

identifier-list - (back to dbspace-or-file)

 [, … ]

archive-option - (back to Syntax)

SIZE STACKER

参数

  • TO 指定要用于备份的 的名称,并用单引号分隔。 是存档文件的文件名或磁带驱动器设备名。如果使用多个存档设备,请使用单独的 TO 子句进行指定;不允许使用以逗号分隔的列表。存档设备必须不同。To 子句的数量决定了与输出设备有关的并行 SAP IQ 尝试的数量。

  • WITH COMMENT 指定存档文件和备份历史文件中记录的可选注释。最大长度为 32 KB。如果您未指定值,则将存储 NULL 字符串。

  • READWRITE FILES ONLY 将 FULL、INCREMENTAL 和 INCREMENTAL SINCE FULL 备份限制为仅适用于数据库中的读写文件集。读写 dbspace/file 必须是 SAP IQ dbspace。 如果 READWRITE FILES ONLY 子句与 INCREMENTAL 或 INCREMENTAL SINCE FULL 备份一起使用,则备份不会备份到自依赖备份后已发生更改的只读 dbspace 或 dbfile。如果 INCREMENTAL 或 INCREMENTAL SINCE FULL 备份中不指定 READWRITE FILES ONLY,则备份操作会备份自依赖备份后发生更改的读写 dbspace 与只读 dbspace 上的所有数据库页。

  • CRC 除了硬件中提供的错误检测之外,还可对每个块基础激活 32 位循环冗余检查。如果您指定此子句,则系统将在任何后续恢复操作过程中对针对备份计算出的数字进行验证,从而影响上述两个命令的性能。缺省值为 ON

  • ATTENDED 仅在备份到磁带设备时适用。如果使用 ATTENDED ON 子句(缺省值),如果磁带驱动器要求干预,系统将向发出 BACKUP DATABASE 语句的应用程序发送一条消息。这在某些情况下会发生,例如在需要新磁带时。如果您指定了 OFF,则 BACKUP DATABASE 不会提示需要提供新磁带。如果需要其它磁带并且已指定了 OFF,则 SAP IQ 会出现错误并中止 BACKUP DATABASE 命令。但是,由于自动栈式存储器驱动器需要时间来切换磁带,因此存在一个短暂的延迟。

  • BLOCK FACTOR <integer> 指定一次写入的块数。其值必须大于 0,否则 SAP IQ 会生成错误消息。对于 UNIX 系统,其缺省值为 25,而对于 Windows 系统为 15(以容纳更小的固定磁带块大小)。此子句可有效地控制用于缓冲区的内存量。实际的内存量为此值乘以块大小再乘以用于从数据库中提取数据的线程数。将 BLOCK FACTOR 设置为“至少 25”。

  • FULL | INCREMENTAL | INCREMENTAL SINCE FULLFULL – 指定完全备份;数据库中正在使用的所有块都将保存到存档设备。这是缺省操作。INCREMENTAL – 指定增量备份;自上次执行任意类型的备份后发生更改的所有块都将保存到存档设备。READONLY FILES 不允许使用关键字 INCREMENTAL。 INCREMENTAL SINCE FULL – 指定增量备份;自上次完全备份后发生更改的所有块都将保存到存档设备。

  • FULL – 指定完全备份;数据库中正在使用的所有块都将保存到存档设备。这是缺省操作。

  • INCREMENTAL – 指定增量备份;自上次执行任意类型的备份后发生更改的所有块都将保存到存档设备。READONLY FILES 不允许使用关键字 INCREMENTAL。

  • INCREMENTAL SINCE FULL – 指定增量备份;自上次完全备份后发生更改的所有块都将保存到存档设备。

  • VIRTUAL DECOUPLED 指定分离式虚拟备份。要完成备份,您必须在分离式虚拟备份完成之后复制 SAP IQ dbspace,然后执行非虚拟增量备份。

  • VIRTUAL ENCAPSULATED 指定封装式虚拟备份。‘Shell-command’ 参数可以是字符串,也可以是包含作为封装式虚拟备份一部分执行的字符串的变量。作为备份操作的一部分,shell 命令执行 IQ 存储的系统级备份。出于安全考虑,建议在“shell-command”中指定一个绝对路径并对该目录启用文件保护,以防止意外执行程序。

  • POINT IN TIME RECOVERY LOGS ONLY设置 ALTER DBSPACE IQ_SYSTEM_LOG RENAME 语句备份时间点 (PITR) 日志到 dbspace: BACKUP DATABASE POINT IN TIME RECOVERY LOGS ONLY TO ' PITR-archive-directory '  使用 ALTER DBSPACE IQ_SYSTEM_LOG RENAME 语句设置 PITR 档案目录。POINT IN TIME RECOVERY LOGS ONLY 仅支持一个 TO 子句,该子句必须指向 PITR 档案目录。不允许其它选项。

  • SIZE指定每个输出设备的磁带或文件的最大容量(某些平台不能可靠地检测磁带结束标记)。在相应设备上使用的卷的长度不应小于此值。此值适用于磁带和磁盘文件,但不适用于第三方设备。大小单位为千字节 (KB),但一般来说,小于 1 GB 是不合适的。例如,3.5 GB 磁带,指定容量为 3500000。平台和介质的缺省值。备份文件的最终大小是不确定的,因为备份是以大数据块为单位写入的。 如果大小小于指定的 1 GB,则会发出 SIZE 警告消息。备份开始但使用最小缺省文件大小代替指定的值。例如,如果指定的文件大小为 1000000 KB,则使用的缺省文件大小为 2 GB (UNIX) 或 1.5 GB (Windows)。平台磁带的缺省 SIZE磁盘的缺省 SIZEUNIX无2 GB (2097152 KB)Windows1.5 GB SIZE 必须是 64 的倍数。其它值则向下舍入为 64 的倍数。1.5 GB (1572864 KB)SIZE 参数是针对各输出设备而言。SIZE 不限制每个设备的字节数;SIZE 限制文件大小。每个输出设备可以具有不同的 SIZE 参数。在备份过程中,当写入给定设备的信息量达到 SIZE 参数指定的值时,BACKUP DATABASE 将执行下列操作之一: 如果设备属于文件系统设备,则 BACKUP DATABASE 将关闭当前文件并创建另一个同名文件,并将按升序排列的下一个编号附加到文件名,例如,bkup1.dat1.1、bkup1.dat1.2 和 bkup1.dat1.3。 如果设备属于磁带单元,则 BACKUP DATABASE 将关闭当前磁带,您需要装入另一个磁带。

  • 如果设备属于文件系统设备,则 BACKUP DATABASE 将关闭当前文件并创建另一个同名文件,并将按升序排列的下一个编号附加到文件名,例如,bkup1.dat1.1、bkup1.dat1.2 和 bkup1.dat1.3。

  • 如果设备属于磁带单元,则 BACKUP DATABASE 将关闭当前磁带,您需要装入另一个磁带。

  • STACKER 指定自动装载设备,并指定随设备一同装载的磁带数。此值在栈式存储器中不表示磁带位置,可以为零。当 ATTENDED 为 OFF 而 STACKER 为 ON 时,SAP IQ 将等待预定的时间,然后允许自动装载下一个磁带。随 SIZE 子句提供的磁带数用于确定是否具有足够的空间来存储备份数据。请不要对第三方介质管理设备使用此子句。

    示例

  • 示例 1 (UNIX) 以下示例将 iqdemo 数据库备份到 Oracle Solaris 平台上的磁带设备 /dev/rmt/0 和 /dev/rmt/2 上。在 Solaris 上,设备名后面的字母 n 指定“无关闭回绕”功能。请始终用 BACKUP DATABASE 来指定此功能,并使用适用于您的 UNIX 平台的命名约定(Windows 不支持此功能)。此示例备份了自上次完全备份以来数据库的所有更改:BACKUP DATABASE INCREMENTAL SINCE FULLTO '/dev/rmt/0n' SIZE 10000000TO '/dev/rmt/2n' SIZE 15000000注意大小单位为千字节 (KB),但在大多数情况下,大小小于 1 GB 是不合适的。在此示例中,指定大小为 10 GB 和 15 GB。

  • 示例 2以下 BACKUP DATABASE 命令指定只读文件和 dbspace:BACKUP DATABASE READONLY DBSPACES dsp1TO '/dev/rmt/0'BACKUP DATABASE READONLY FILES dsp1_f1, dsp1_f2TO 'bkp.f1f2'BACKUP DATABASE READONLY DBSPACES dsp2, dsp3READONLY FILES dsp4_f1, dsp5_f2TO 'bkp.RO'

    用法

    当您执行 BACKUP DATABASE 命令时,SAP IQ 数据库可能会打开,以供多个读取器和写入器使用。它充当只读用户,并依赖 SAP IQ 的表级版本控制功能获得一致的数据集。

    BACKUP DATABASE 将在开始之前隐式发出 CHECKPOINT,然后备份描述数据库的目录表(以及已添加到目录存储中的任何其它表)。在第一阶段,SAP IQ 不允许对数据库的元数据进行任何更改(例如,添加或删除列和表)。相应地,接下来对备份执行 RESTORE DATABASE 最多只能恢复到初始 CHECKPOINT。

    BACKUP DATABASE 命令用于指定完全备份或增量备份。您可以选择两种增量备份。INCREMENTAL 仅备份那些自上次执行任意类型(增量或完全)的备份之后已发生更改并已提交的块。INCREMENTAL SINCE FULL 备份自上次完全备份后已发生更改的所有块。对于 BACKUP DATABASE 命令而言,第一种类型的增量备份较小且速度较快,但对于 RESTORE DATABASE 命令而言,第一种类型的增量备份的速度却较慢并且更加复杂。而对其它类型的增量备份来说,情况则相反。这是因为第一种类型的增量备份通常会导致对于每个完全备份档案需要执行 N 组增量备份档案。如果需要恢复,则具有 SERVER OPERATOR 系统特权的用户必须首先恢复完全备份档案,然后按照适当的顺序恢复每个增量档案。(SAP IQ 会跟踪所需的存档。)第二种类型的增量备份要求具有 SERVER OPERATOR 系统特权的用户仅恢复完全备份档案和最后一个增量档案。

    使用 BACKUP DATABASE 语句的 VIRTUAL DECOUPLED 和 VIRTUAL ENCAPSULATED 参数可支持增量虚拟备份。

    虽然您可以对表空间执行 OS 级复制,从而为一个或多个只读 dbspace 制作虚拟备份,但最好使用虚拟备份语句,因为它会将备份记录在 SAP IQ 系统表中。

    BACKUP DATABASERESTORE DATABASE 以并行方式在您指定的所有档案设备中写入或写出 SAP IQ 数据。目录存储库以串行方式写入第一个设备。并行度越高,备份和恢复越快。

    SAP IQ 最多支持 36 台硬件设备用于备份。为提高备份速度,每核心指定一或两台设备将有助于避免硬件和 IO 争用。在 BACKUP DATABASE 命令中设置 SIZE 参数可避免每台备份设备创建多个文件并考虑在 BACKUP DATABASE 命令的 BLOCK FACTOR 子句中使用的值。

    BACKUP DATABASE 将覆盖现有档案文件,除非您移动了旧文件或使用其它的 名称或路径。

    备份 API DLL 实现可用于指定在打开档案设备时要传递给 DLL 的参数。对于第三方实现,archive_device 字符串具有以下格式:

    'DLLidentifier::vendor_specific_information'

    特定示例:

    'spsc::workorder=12;volname=ASD002'

    字符串的长度最长为 1023 个字节。 部分的长度必须为 1 到 30 个字节且只能包含字母数字和下划线字符。字符串的 部分将传递给第三方实现,而不检查其内容。在使用第三方实现时不要指定 BACKUP DATABASE 命令的 SIZE 或 STACKER 子句,因为在字符串的 部分中应该已对此信息进行编码。

    注意 只有某些第三方产品才可用 SAP IQ 通过使用此语法进行认证。在使用任意第三方产品以这种方式备份 SAP IQ 数据库之前,请确保该产品已获得认证。有关其它用法说明或限制,请参见发行公告。.

    对于备份 API 的 SAP IQ 实现,您只需要指定磁带设备名或文件名。对于磁盘设备,您还应指定 SIZE 值,否则 SAP IQ 将假定所创建的每个磁盘文件在 UNIX 中不超过 2 GB,在 Windows 中不超过 1.5 GB。

    下例是为某些 UNIX 系统指定了磁带设备的 SAP API DLL 的存档设备:

    '/dev/rmt/0'

    您有责任在需要时装入其它磁带,或者确保磁盘具有足够的空间来容纳备份。

    指定多个设备时,BACKUP DATABASE 会将信息分配到所有设备。有关 BACKUP DATABASE 的其它问题包括:

  • BACKUP DATABASE 不支持将原始设备用作档案设备。

  • Windows 系统仅支持对磁带设备的固定大小的 I/O 操作。虽然 Windows 支持磁带分区,但是 SAP IQ 不会使用磁带分区功能,因此,请不要为 BACKUP DATABASE 使用其它应用程序对磁带进行格式化。Windows 的磁带设备具有较简单的命名策略,其中第一个磁带设备为 <\\.\tape0>,第二个磁带设备为 <\\.\tape1>,依此类推。 警告对于备份(以及对于大多数其它情况),当反斜杠位于 n、x 或其它反斜杠之前时,SAP IQ 会将字符串中的前导反斜杠视为转义字符。为此,在指定备份磁带设备时,必须按照 Windows 命名约定的要求双写每个反斜杠。例如,将您要备份到的第一个 Windows 磁带设备表示为“\\\\.\\tape0”,第二个表示为“\\\\.\\tape1”,依此类推。如果您忽略额外的反斜杠,或错误拼写了磁带设备的名称,并在您的系统中写入了一个无效磁带设备的名称,则 SAP IQ 会将此名称解析为磁盘文件名称。

  • SAP IQ 在使用磁带之前不会回绕磁带。必须确保在将用于备份和恢复的磁带放入磁带设备之前这些磁带位于相应的起点位置。SAP IQ 在磁带回绕设备上使用磁带之后将回绕磁带。

  • 在备份和恢复操作过程中,如果 SAP IQ 无法打开档案设备(例如,当它需要装载的介质时)并且 ATTENDED 子句为 ON,它会等待十秒钟并重试。它将无限期地继续这些尝试,直至成功或通过 Ctrl + C 终止操作。

  • 如果您按 Ctrl + C,BACKUP DATABASE 将失败并使数据库返回到开始备份之前所处的状态。

  • 如果在诸如 RAID 等设备上使用磁盘分条,则分条设备将被视为单个设备。

    副作用:

  • 自动提交

    标准

  • SQL - ISO/ANSI SQL 语法的服务商扩充。

  • SAP 数据库产品 - 不受 SAP ASE 支持。

    权限

    需要以下特权之一:

  • BACK UP DATABASE 系统特权。

  • 您拥有该数据库。