Package org.firebirdsql.management
Class FBBackupManager
- java.lang.Object
-
- org.firebirdsql.management.FBServiceManager
-
- org.firebirdsql.management.FBBackupManagerBase
-
- org.firebirdsql.management.FBBackupManager
-
- All Implemented Interfaces:
AttachmentProperties
,BaseProperties
,ServiceConnectionProperties
,BackupManager
,ServiceManager
public class FBBackupManager extends FBBackupManagerBase implements BackupManager
Implements the backup and restore functionality of Firebird Services API.- Author:
- Roman Rokytskyy, Mark Rotteveel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.firebirdsql.management.FBBackupManagerBase
FBBackupManagerBase.PathSizeStruct
-
-
Field Summary
-
Fields inherited from class org.firebirdsql.management.FBBackupManagerBase
noLimitRestore, restorePaths, verbose
-
Fields inherited from class org.firebirdsql.management.FBServiceManager
BUFFER_SIZE
-
Fields inherited from interface org.firebirdsql.management.BackupManager
BACKUP_CONVERT, BACKUP_EXPAND, BACKUP_IGNORE_CHECKSUMS, BACKUP_IGNORE_LIMBO, BACKUP_METADATA_ONLY, BACKUP_NO_GARBAGE_COLLECT, BACKUP_NON_TRANSPORTABLE, BACKUP_OLD_DESCRIPTIONS, RESTORE_DEACTIVATE_INDEX, RESTORE_NO_SHADOW, RESTORE_NO_VALIDITY, RESTORE_ONE_AT_A_TIME, RESTORE_USE_ALL_SPACE
-
-
Constructor Summary
Constructors Constructor Description FBBackupManager()
Create a new instance ofFBBackupManager
based on the default GDSType.FBBackupManager(java.lang.String gdsType)
Create a new instance ofFBBackupManager
based on a given GDSType.FBBackupManager(GDSType gdsType)
Create a new instance ofFBBackupManager
based on a given GDSType.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBackupPath(java.lang.String path, int size)
Add the file to the backup of the specified size.protected void
addBackupsToBackupRequestBuffer(FbService service, ServiceRequestBuffer backupSPB)
Adds the currentDatabase as a source for the backup operationprotected void
addBackupsToRestoreRequestBuffer(FbService service, ServiceRequestBuffer restoreSPB)
Adds the list of backups to be used for the restore operationvoid
backupDatabase(int options)
Perform the backup operation.void
clearBackupPaths()
Clear the information about backup paths.void
restoreDatabase(int options)
Perform the restore operation.void
setBackupPath(java.lang.String backupPath)
Sets the location of the backup file.protected boolean
verboseBackup()
Whether backing up will produce verbose output-
Methods inherited from class org.firebirdsql.management.FBBackupManagerBase
addBackupPath, addRestorePath, backupDatabase, backupMetadata, clearRestorePaths, getBackupSRB, getRestoreSRB, restoreDatabase, setDatabase, setRestorePageBufferCount, setRestorePageSize, setRestoreReadOnly, setRestoreReplace, setVerbose
-
Methods inherited from class org.firebirdsql.management.FBServiceManager
attachDatabase, attachServiceManager, connectionPropertyValues, createRequestBuffer, executeServicesOperation, executeServicesOperation, getAuthPlugins, getBooleanProperty, getCharSet, getDatabase, getDbCryptConfig, getExpectedDb, getHost, getIntProperty, getLogger, getPassword, getPort, getPortNumber, getProperty, getServerName, getServerVersion, getServiceName, getUser, getWireCrypt, getWireCryptAsEnum, isWireCompression, queueService, setAuthPlugins, setBooleanProperty, setCharSet, setDbCryptConfig, setExpectedDb, setHost, setIntProperty, setLogger, setPassword, setPort, setPortNumber, setProperty, setServerName, setServiceName, setType, setUser, setWireCompression, setWireCryptAsEnum
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.firebirdsql.jaybird.props.AttachmentProperties
getAuthPlugins, getCharSet, getConnectTimeout, getDbCryptConfig, getEncoding, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setParallelWorkers, setPassword, setPortNumber, setProcessId, setProcessName, setRoleName, setServerName, setSocketBufferSize, setSoTimeout, setType, setUser, setWireCompression, setWireCrypt
-
Methods inherited from interface org.firebirdsql.management.BackupManager
addBackupPath, addRestorePath, backupDatabase, backupMetadata, clearRestorePaths, restoreDatabase, setDatabase, setRestorePageBufferCount, setRestorePageSize, setRestoreReadOnly, setRestoreReplace, setVerbose
-
Methods inherited from interface org.firebirdsql.jaybird.props.BaseProperties
connectionPropertyValues, getBooleanProperty, getBooleanProperty, getIntProperty, getIntProperty, getProperty, getProperty, setBooleanProperty, setIntProperty, setProperty
-
Methods inherited from interface org.firebirdsql.jaybird.props.ServiceConnectionProperties
getExpectedDb, getServiceName, setExpectedDb, setServiceName
-
Methods inherited from interface org.firebirdsql.management.ServiceManager
getDatabase, getHost, getLogger, getPort, getServerVersion, getWireCryptAsEnum, setHost, setLogger, setPort, setWireCryptAsEnum
-
-
-
-
Constructor Detail
-
FBBackupManager
public FBBackupManager()
Create a new instance ofFBBackupManager
based on the default GDSType.
-
FBBackupManager
public FBBackupManager(java.lang.String gdsType)
Create a new instance ofFBBackupManager
based on a given GDSType.- Parameters:
gdsType
- type must be PURE_JAVA, EMBEDDED, or NATIVE
-
FBBackupManager
public FBBackupManager(GDSType gdsType)
Create a new instance ofFBBackupManager
based on a given GDSType.- Parameters:
gdsType
- type must be PURE_JAVA, EMBEDDED, or NATIVE
-
-
Method Detail
-
verboseBackup
protected boolean verboseBackup()
Whether backing up will produce verbose output- Specified by:
verboseBackup
in classFBBackupManagerBase
-
setBackupPath
public void setBackupPath(java.lang.String backupPath)
Description copied from interface:BackupManager
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 callBackupManager.addBackupPath(String, int)
method after calling this one.- Specified by:
setBackupPath
in interfaceBackupManager
- Parameters:
backupPath
- the location of the backup file.- See Also:
for multi-file backups.
-
addBackupPath
public void addBackupPath(java.lang.String path, int size)
Description copied from interface:BackupManager
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.- Specified by:
addBackupPath
in interfaceBackupManager
- Parameters:
path
- path to the backup file.size
- max size of the file in bytes.
-
clearBackupPaths
public void clearBackupPaths()
Description copied from interface:BackupManager
Clear the information about backup paths. This method undoes all parameters set in theBackupManager.addBackupPath(String, int)
orBackupManager.addBackupPath(String)
methods.- Specified by:
clearBackupPaths
in interfaceBackupManager
-
backupDatabase
public void backupDatabase(int options) throws java.sql.SQLException
Description copied from interface:BackupManager
Perform the backup operation.- Specified by:
backupDatabase
in interfaceBackupManager
- Parameters:
options
- a bitmask combination of theBACKUP_*
constants for the backup operation- Throws:
java.sql.SQLException
- if a database error occurs during the backup
-
restoreDatabase
public void restoreDatabase(int options) throws java.sql.SQLException
Description copied from interface:BackupManager
Perform the restore operation.- Specified by:
restoreDatabase
in interfaceBackupManager
- Parameters:
options
- A bitmask combination ofRESTORE_*
constants- Throws:
java.sql.SQLException
- if a database error occurs during the restore
-
addBackupsToBackupRequestBuffer
protected void addBackupsToBackupRequestBuffer(FbService service, ServiceRequestBuffer backupSPB) throws java.sql.SQLException
Adds the currentDatabase as a source for the backup operation- Specified by:
addBackupsToBackupRequestBuffer
in classFBBackupManagerBase
- Parameters:
backupSPB
- The buffer to be used during the backup operation- Throws:
java.sql.SQLException
-
addBackupsToRestoreRequestBuffer
protected void addBackupsToRestoreRequestBuffer(FbService service, ServiceRequestBuffer restoreSPB)
Adds the list of backups to be used for the restore operation- Specified by:
addBackupsToRestoreRequestBuffer
in classFBBackupManagerBase
- Parameters:
restoreSPB
- The buffer to be used during the restore operation
-
-