org.firebirdsql.management
Interface BackupManager

All Superinterfaces:
ServiceManager
All Known Implementing Classes:
FBBackupManager

public interface BackupManager
extends ServiceManager

Implements the backup and restore functionality of Firebird Services API.

Author:
Roman Rokytskyy, Steven Jardine

Field Summary
static int BACKUP_CONVERT
          Backup external files as tables.
static int BACKUP_EXPAND
          No data compression.
static int BACKUP_IGNORE_CHECKSUMS
          Ignore checksums.
static int BACKUP_IGNORE_LIMBO
          Ignore in-limbo transactions.
static int BACKUP_METADATA_ONLY
          Backup metadata only.
static int BACKUP_NO_GARBAGE_COLLECT
          Do not collect garbage during backup.
static int BACKUP_NON_TRANSPORTABLE
          Use non-transportable backup format.
static int BACKUP_OLD_DESCRIPTIONS
          Save old style metadata descriptions.
static int RESTORE_DEACTIVATE_INDEX
          Deactivate indices during restore.
static int RESTORE_NO_SHADOW
          Do not restore shadow database.
static int RESTORE_NO_VALIDITY
          Do not restore validity constraints.
static int RESTORE_ONE_AT_A_TIME
          Commit after completing restore of each table.
static int RESTORE_USE_ALL_SPACE
          Do not reserve 20% on each page for the future versions, useful for read-only databases.
 
Method Summary
 void addBackupPath(java.lang.String path)
          Add backup file to the list.
 void addBackupPath(java.lang.String path, int size)
          Add the file to the backup of the specified size.
 void addRestorePath(java.lang.String path, int size)
          Add the file to the multi-file database of the specified size for restore operation.
 void backupDatabase()
          Perform the backup operation.
 void backupDatabase(int options)
          Perform the backup operation.
 void backupMetadata()
          Perform the backup operation, metadata only.
 void clearBackupPaths()
          Clear the information about backup paths.
 void clearRestorePaths()
          Clear the information about restore paths.
 void restoreDatabase()
          Perform the restore operation.
 void restoreDatabase(int options)
          Perform the restore operation.
 void setBackupPath(java.lang.String backupPath)
          Sets the location of the backup file.
 void setDatabase(java.lang.String path)
          Set the path to the database.
 void setRestorePageBufferCount(int bufferCount)
          Set the default number of pages to be buffered (cached) by default in a restored database.
 void setRestorePageSize(int pageSize)
          Set the page size that will be used for a restored database.
 void setRestoreReadOnly(boolean readOnly)
          Set the read-only attribute on a restored database.
 void setRestoreReplace(boolean replace)
          Set the restore operation to create a new database, as opposed to overwriting an existing database.
 void setVerbose(boolean verbose)
          Set whether the operations of this BackupManager will result in verbose logging to the configured logger.
 
Methods inherited from interface org.firebirdsql.management.ServiceManager
getDatabase, getHost, getLogger, getPassword, getPort, getUser, setHost, setLogger, setPassword, setPort, setUser
 

Field Detail

BACKUP_IGNORE_CHECKSUMS

static final int BACKUP_IGNORE_CHECKSUMS
Ignore checksums.

See Also:
Constant Field Values

BACKUP_IGNORE_LIMBO

static final int BACKUP_IGNORE_LIMBO
Ignore in-limbo transactions.

See Also:
Constant Field Values

BACKUP_METADATA_ONLY

static final int BACKUP_METADATA_ONLY
Backup metadata only.

See Also:
Constant Field Values

BACKUP_NO_GARBAGE_COLLECT

static final int BACKUP_NO_GARBAGE_COLLECT
Do not collect garbage during backup.

See Also:
Constant Field Values

BACKUP_OLD_DESCRIPTIONS

static final int BACKUP_OLD_DESCRIPTIONS
Save old style metadata descriptions.

See Also:
Constant Field Values

BACKUP_NON_TRANSPORTABLE

static final int BACKUP_NON_TRANSPORTABLE
Use non-transportable backup format.

See Also:
Constant Field Values

BACKUP_CONVERT

static final int BACKUP_CONVERT
Backup external files as tables.

See Also:
Constant Field Values

BACKUP_EXPAND

static final int BACKUP_EXPAND
No data compression.

See Also:
Constant Field Values

RESTORE_DEACTIVATE_INDEX

static final int RESTORE_DEACTIVATE_INDEX
Deactivate indices during restore.

See Also:
Constant Field Values

RESTORE_NO_SHADOW

static final int RESTORE_NO_SHADOW
Do not restore shadow database.

See Also:
Constant Field Values

RESTORE_NO_VALIDITY

static final int RESTORE_NO_VALIDITY
Do not restore validity constraints.

See Also:
Constant Field Values

RESTORE_ONE_AT_A_TIME

static final int RESTORE_ONE_AT_A_TIME
Commit after completing restore of each table.

See Also:
Constant Field Values

RESTORE_USE_ALL_SPACE

static final int RESTORE_USE_ALL_SPACE
Do not reserve 20% on each page for the future versions, useful for read-only databases.

See Also:
Constant Field Values
Method Detail

setBackupPath

void setBackupPath(java.lang.String backupPath)
Sets the location of the backup file. This method is used to set the path to the backup consisting of a single file. It is not possible to add multiple files or specify the max. size of the file using this method. It is also not possible to call addBackupPath(String, int) method after calling this one.

Parameters:
backupPath - the location of the backup file.
See Also:
for multi-file backups.

addBackupPath

void addBackupPath(java.lang.String path,
                   int size)
Add the file to the backup of the specified size. Firebird allows splitting the backup into multiple files, limiting the size of the backup file. This can be useful for example for creating a backup on CD or DVD.

Parameters:
path - path to the backup file.
size - max size of the file in bytes.

addBackupPath

void addBackupPath(java.lang.String path)
Add backup file to the list. This method is used only during restoring the database to specify multi-file backups. The call is equivalent to passing the size -1 to addBackupPath(String, int) call.

If application invokes backup operation, an error is generated in that call.

Parameters:
path - path to the backup file.

clearBackupPaths

void clearBackupPaths()
Clear the information about backup paths. This method undoes all parameters set in the addBackupPath(String, int) or addBackupPath(String) methods.


setDatabase

void setDatabase(java.lang.String path)
Set the path to the database. This method is used both for backup and restore operation.

Specified by:
setDatabase in interface ServiceManager
Parameters:
path - path to the database file.

In case of backup, value specifies the path of the existing database on the server that will be backed up.

In case of restore, value specifies the path of the single-file database where the backup will be restored to.


addRestorePath

void addRestorePath(java.lang.String path,
                    int size)
Add the file to the multi-file database of the specified size for restore operation.

Parameters:
path - path to the backup file.
size - max size of the database file in pages.

clearRestorePaths

void clearRestorePaths()
Clear the information about restore paths. This method undoes all parameters set in the addRestorePath(String, int) or setDatabase(String) methods.


backupDatabase

void backupDatabase()
                    throws java.sql.SQLException
Perform the backup operation.

Throws:
java.sql.SQLException - if a database error occurs during the backup

backupMetadata

void backupMetadata()
                    throws java.sql.SQLException
Perform the backup operation, metadata only.

Throws:
java.sql.SQLException - if a database error occurs during the backup

backupDatabase

void backupDatabase(int options)
                    throws java.sql.SQLException
Perform the backup operation.

Parameters:
options - a bitmask combination of the BACKUP_* static final fields for the backup operation
Throws:
java.sql.SQLException - if a database error occurs during the backup

setVerbose

void setVerbose(boolean verbose)
Set whether the operations of this BackupManager will result in verbose logging to the configured logger.

Parameters:
verbose - If true, operations will be logged verbosely, otherwise they will not be logged verbosely

setRestorePageBufferCount

void setRestorePageBufferCount(int bufferCount)
Set the default number of pages to be buffered (cached) by default in a restored database.

Parameters:
bufferCount - The page-buffer size to be used, a positive value

setRestorePageSize

void setRestorePageSize(int pageSize)
Set the page size that will be used for a restored database. The value for pageSize must be one of: 1024, 2048, 4096, 8192 or 16384. The default value depends on the Firebird version.

Parameters:
pageSize - The page size to be used in a restored database, one of 1024, 2048, 4196, 8192 or 16384

setRestoreReplace

void setRestoreReplace(boolean replace)
Set the restore operation to create a new database, as opposed to overwriting an existing database.

Parameters:
replace - If true, the restore operation will attempt to create a new database if it does not exit or overwrite an existing one when it exists, false when restore should fail if database already exist (if it doesn't, a database will be successfully created).

setRestoreReadOnly

void setRestoreReadOnly(boolean readOnly)
Set the read-only attribute on a restored database.

Parameters:
readOnly - If true, a restored database will be read-only, otherwise it will be read-write.

restoreDatabase

void restoreDatabase()
                     throws java.sql.SQLException
Perform the restore operation.

Throws:
java.sql.SQLException - if a database error occurs during the restore

restoreDatabase

void restoreDatabase(int options)
                     throws java.sql.SQLException
Perform the restore operation.

Parameters:
options - A bitmask combination of RESTORE_* static final fields
Throws:
java.sql.SQLException - if a database error occurs during the restore


Copyright © 2001-2019 Jaybird (Firebird JDBC/JCA) team. All rights reserved.