Backs up a Sybase IQ database on one or more archive devices.
BACKUP DATABASE [ backup-option… ] TO archive_device [ archive-option... ] … [ WITH COMMENT string ]
{ READWRITE FILES ONLY | READONLY dbspace-or-file [, … ] } CRC { ON | OFF } ATTENDED { ON | OFF } BLOCK FACTOR integer { FULL | INCREMENTAL | INCREMENTAL SINCE FULL } VIRTUAL { DECOUPLED | ENCAPSULATED ‘shell_command’ } WITH COMMENT comment
{ DBSPACES identifier-list | FILES identifier-list }
BACKUP DATABASE INCREMENTAL SINCE FULL TO '/dev/rmt/0n' SIZE 10000000 TO '/dev/rmt/2n' SIZE 15000000
BACKUP DATABASE READONLY DBSPACES dsp1 TO '/dev/rmt/0'
BACKUP DATABASE READONLY FILES dsp1_f1, dsp1_f2 TO 'bkp.f1f2'
BACKUP DATABASE READONLY DBSPACES dsp2, dsp3 READONLY FILES dsp4_f1, dsp5_f2 TO 'bkp.RO'
The IQ database might be open for use by many readers and writers when you execute a BACKUP command. It acts as a read-only user and relies on the Table Level Versioning feature of Sybase IQ to achieve a consistent set of data.
BACKUP implicitly issues a CHECKPOINT prior to commencing, and then it backs up the catalog tables that describe the database (and any other tables you have added to the catalog store). During this first phase, Sybase IQ does not allow any metadata changes to the database (such as adding or dropping columns and tables). Correspondingly, a later RESTORE of the backup restores only up to that initial CHECKPOINT.
The BACKUP command lets you specify full or incremental backups. You can choose two kinds of incremental backups. INCREMENTAL backs up only those blocks that have changed and committed since the last BACKUP of any type (incremental or full). INCREMENTAL SINCE FULL backs up all of the blocks that have changed since the last full backup. The first type of incremental backup can be smaller and faster to do for BACKUP commands, but slower and more complicated for RESTORE commands. The opposite is true for the other type of incremental backup. The reason is that the first type generally results in N sets of incremental backup archives for each full backup archive. If a restore is required, the DBA must RESTORE the full backup archive first, and then each incremental archive in the proper order. (Sybase IQ keeps track of which ones are needed.) The second type requires the DBA to restore only the full backup archive and the last incremental archive.
Incremental virtual backup is supported using the VIRTUAL DECOUPLED and VIRTUAL ENCAPSULATED parameters of the BACKUP statement.
Although you can perform an OS-level copy of tablespaces to make a virtual backup of one or more read-only dbspaces, Sybase recommends that you use the virtual backup statement, because it records the backup in the IQ system tables. See Reference: Building Blocks, Tables, and Procedures > System Tables and Views > System Views > SYSIQBACKUPHISTORY System View and Reference: Building Blocks, Tables, and Procedures > System Tables and Views > System Views > SYSIQBACKUPHISTORYDETAIL System View.
READWRITE FILES ONLY may be used with FULL, INCREMENTAL, and INCREMENTAL SINCE FULL to restrict the backup to only the set of read-write files in the database. The read-write dbspaces/files must be IQ dbspaces.
If READWRITE FILES ONLY is used with an INCREMENTAL or INCREMENTAL SINCE FULL backup, the backup will not back up data on read-only dbspaces or dbfiles that has changed since the depends-on backup. If READWRITE FILES ONLY is not specified for an INCREMENTAL or INCREMENTAL SINCE FULL backup, the backup backs up all database pages that have changed since the depends-on backup, both on read-write and read-only dbspaces.
CRC clause – Activate 32-bit cyclical redundancy checking on a per block basis (in addition to whatever error detection is available in the hardware). When you specify this clause, the numbers computed on backup are verified during any subsequent RESTORE operation, affecting performance of both commands. The default is ON.
ATTENDED clause – Applies only when backing up to a tape device. If ATTENDED ON (the default) is used, a message is sent to the application that issued the BACKUP statement if the tape drive requires intervention. This might happen, for example, when a new tape is required. If you specify OFF, BACKUP does not prompt for new tapes. If additional tapes are needed and OFF has been specified, Sybase IQ gives an error and aborts the BACKUP command. However, a short delay is included to account for the time an automatic stacker drive requires to switch tapes.
BLOCK FACTOR clause – Specify the number of blocks to write at one time. Its value must be greater than 0, or Sybase IQ generates an error message. Its default is 25 for UNIX systems and 15 for Windows systems (to accommodate the smaller fixed tape block sizes). This clause effectively controls the amount of memory used for buffers. The actual amount of memory is this value times the block size times the number of threads used to extract data from the database. Sybase recommends setting BLOCK FACTOR to at least 25.
FULL clause – Specify a full backup; all blocks in use in the database are saved to the archive devices. This is the default action.
INCREMENTAL clause – Specify an incremental backup; all blocks changed since the last backup of any kind are saved to the archive devices.
The keyword INCREMENTAL is not allowed with READONLY FILES.
INCREMENTAL SINCE FULL clause – Specify an incremental backup; all blocks changed since the last full backup are saved to the archive devices.
VIRTUAL DECOUPLED clause – Specify a decoupled virtual backup. For the backup to be complete, you must copy the IQ dbspaces after the decoupled virtual backup finishes, and then perform a nonvirtual incremental backup.
VIRTUAL ENCAPSULATED clause – Specify an encapsulated virtual backup. The ‘shell-command’ argument can be a string or variable containing a string that is executed as part of the encapsulated virtual backup. The shell commands execute a system-level backup of the IQ store as part of the backup operation.
TO clause – Specify the name of the archive_device to be used for backup, delimited with single quotation marks. The archive_device is a file name or tape drive device name for the archive file. If you use multiple archive devices, specify them using separate TO clauses. (A comma-separated list is not allowed.) Archive devices must be distinct. The number of TO clauses determines the amount of parallelism Sybase IQ attempts with regard to output devices.
BACKUP and RESTORE write your IQ data in parallel to or from all of the archive devices you specify. The catalog store is written serially to the first device. Faster backups and restores result from greater parallelism.
Sybase IQ supports a maximum of 36 hardware devices for backup. For faster backups, specifying one or two devices per core will help to avoid hardware and IO contention. Set the SIZE parameter on the BACKUP command to avoid creating multiple files per backup device and consider the value used in the BLOCK FACTOR clause on the BACKUP command.
BACKUP overwrites existing archive files unless you move the old files or use a different archive_device name or path.
The backup API DLL implementation lets you specify arguments to pass to the DLL when opening an archive device. For third-party implementations, the archive_device string has this format:
'DLLidentifier::vendor_specific_information'
A specific example:
'spsc::workorder=12;volname=ASD002'
The archive_device string length can be up to 1023 bytes. The DLLidentifier portion must be 1 to 30 bytes in length and can contain only alphanumeric and underscore characters. The vendor_specific_information portion of the string is passed to the third-party implementation without checking its contents. Do not specify the SIZE or STACKER clauses of the BACKUP command when using third-party implementations, as that information should be encoded in the vendor_specific_information portion of the string.
For the Sybase implementation of the backup API, you need to specify only the tape device name or file name. For disk devices, you should also specify the SIZE value, or Sybase IQ assumes that each created disk file is no larger than 2GB on UNIX, or 1.5GB on Windows. An example of an archive device for the Sybase API DLL that specifies a tape device for certain UNIX systems is:
'/dev/rmt/0'
SIZE clause—Specify maximum tape or file capacity per output device (some platforms do not reliably detect end-of-tape markers). No volume used on the corresponding device should be shorter than this value. This value applies to both tape and disk files but not third-party devices.
Units are kilobytes (KB), although in general, less than 1GB is inappropriate. For example, for a 3.5GB tape, specify 3500000. Defaults are by platform and medium. The final size of the backup file will not be exact, because backup writes in units of large blocks of data.
The SIZE parameter is per output device. SIZE does not limit the number of bytes per device; SIZE limits the file size. Each output device can have a different SIZE parameter.
During backup, when the amount of information written to a given device reaches the value specified by the SIZE parameter, BACKUP does one of the following:
It is your responsibility to mount additional tapes if needed, or to ensure that the disk has enough space to accommodate the backup.
When multiple devices are specified, BACKUP distributes the information across all devices.
Platform |
Default SIZE for tape |
Default SIZE for disk |
---|---|---|
UNIX |
none |
2GB |
Windows |
1.5GB SIZE must be a multiple of 64. Other values are rounded down to a multiple of 64. |
1.5GB |
STACKER clause—Specify that the device is automatically loaded, and specifies the number of tapes with which it is loaded. This value is not the tape position in the stacker, which could be zero. When ATTENDED is OFF and STACKER is ON, Sybase IQ waits for a predetermined amount of time to allow the next tape to be autoloaded. The number of tapes supplied along with the SIZE clause are used to determine whether there is enough space to store the backed-up data. Do not use this clause with third-party media management devices.
WITH COMMENT clause—Specify an optional comment recorded in the archive file and in the backup history file. Maximum length is 32KB. If you do not specify a value, a NULL string is stored.
Other issues for BACKUP include:
BACKUP does not support raw devices as archival devices.
Windows systems support only fixed-length I/O operations to tape devices (for more information about this limitation, see your Installation and Configuration Guide). Although Windows supports tape partitioning, Sybase IQ does not use it, so do not use another application to format tapes for BACKUP. Windows has a simpler naming strategy for its tape devices, where the first tape device is \\.\tape0, the second is \\.\tape1, and so on.
Sybase IQ does not rewind tapes before using them. You must ensure the tapes used for BACKUP or RESTORE are at the correct starting point before putting them in the tape device. Sybase IQ does rewind tapes after using them on rewinding devices.
During BACKUP and RESTORE operations, if Sybase IQ cannot open the archive device (for example, when it needs the media loaded) and the ATTENDED parameter is ON, it waits for ten seconds and tries again. It continues these attempts indefinitely until either it is successful or the operation is terminated with a Ctrl+C.
If you enter Ctrl+C, BACKUP fails and returns the database to the state it was in before the backup started.
If disk striping is used, such as on a RAID device, the striped disks are treated as a single device.
If you are recovering a SQL Anywhere database, see SQL Anywhere Server - Database Administration > Maintaining your database > Backup and data recovery for additional options.
See also System Administration Guide: Volume 1 > Data Backup, Recovery, and Archiving.
Automatic commit
SQL—Vendor extension to ISO/ANSI SQL grammar.
Sybase—Not supported by Adaptive Server Enterprise.
Must be the owner of the database or have DBA authority. Users without DBA authority require OPERATOR authority.