5. 备份和恢复数据库

创建数据备份是任何 серьез 严肃安装中简单而至关重要的组成部分。Adaptive Server Anywhere 包含多种实用程序,可帮助最大限度地减少因介质故障、断电或其他故障导致数据损坏时的数据丢失。

5.1. 创建数据库备份

可以通过 dbbackup 命令行实用程序、SQL 或 Sybase Central 执行 Adaptive Server Anywhere 数据库的备份。可以执行完全备份和增量备份,并且可以联机或脱机执行(即,分别在服务器运行时或未运行时执行)。此外,可以从服务器端和客户端执行备份。

5.1.1. 完全备份与增量备份

完全备份会复制主数据库文件和事务日志文件。虽然它是最基本和最重要的备份类型,但定期对大型数据库执行完全备份通常是不切实际的。因此,通常使用增量备份。

增量备份仅复制事务日志。它发生在一个周期中,该周期以完全备份开始,然后进行给定数量的增量备份。由于仅复制事务日志,因此增量备份使用更少的时间和资源,使其特别适合大型数据库。但请记住,完全备份之间的时间间隔越长,当其中一个事务日志变得不可用时,丢失数据的风险就越大。

5.1.2. 联机备份与脱机备份

联机备份是在不停止数据库服务器的情况下执行的。即使在数据库被修改时,它也提供数据库的一致快照。联机备份适用于具有高可用性要求的数据库,但它们要等到所有活动事务完成才会完成。

相反,脱机备份是在数据库服务器关闭后执行的。它们适用于可以定期关闭数据库的情况。您只需在终端窗口中使用 cp 命令将相关文件复制到另一个位置即可进行脱机备份。

在任何一种情况下,都可以执行完全备份和增量备份。

5.1.3. 服务器端备份与客户端备份

可以使用 dbbackup 命令行实用程序从客户端执行联机备份。这称为客户端备份,它将数据库的备份放在客户端计算机上。

也可以通过在 SQL 中发出 BACKUP 语句在服务器上执行联机备份。服务器端备份通常更快,因为客户端备份通常依赖于跨网络的传输。

5.1.4. 如何进行备份

5.1.4.1. 从命令行

用于备份数据库的命令行实用程序是 dbbackup。其语法如下

dbbackup [ 开关 ] 目录

目录指定备份文件的目标目录。一些有用的开关包括以下内容

  • -c 用于指定要备份的数据库的连接字符串

  • -d 仅创建主数据库文件的备份

  • -t 仅创建事务日志的备份

  • -r 重命名任何以前的事务日志备份并创建一个新的备份。这对于复制系统是必要的。

  • -x 删除任何以前的事务日志备份并创建一个新的备份。不应在复制系统中使用它。

例如,如果您要创建第一个备份,您会想要创建 MyDatabase 的完全备份。要将其放在 ./backups 中,请使用以下命令

dbbackup -c "uid=DBA;pwd=SQL;dbn=MyDatabase" ./backups

接下来的几个备份可以是增量备份,因此请使用以下命令

dbbackup -t -r -c "uid=DBA;pwd=SQL;dbn=MyDatabase" ./backups

5.1.4.2. 从 SQL

如果您希望从 Interactive SQL 备份数据库,SQL 语句是 BACKUP DATABASE。您必须具有 DBA 权限才能使用 BACKUP DATABASE,其语法如下

BACKUP DATABASE DIRECTORY backup-directory
  [ WAIT BEFORE START ]
  [ DBFILE ONLY ]
  [ TRANSACTION LOG ONLY ]
  [ TRANSACTION LOG RENAME [ MATCH ] ]
  [ TRANSACTION LOG TRUNCATE ]

5.1.4.3. 从 Sybase Central

要从 Sybase Central 进行备份,请打开“Adaptive Server Anywhere 7”下的“Utilities”文件夹,然后双击“Backup Database”以打开一个对话框,该对话框将引导您完成备份过程。

5.2. 验证数据库及其备份

您应该定期使用 Sybase Central、SQL 或 dbvalid 命令行实用程序以只读模式验证数据库备份,并且如果发现错误,则针对原始数据库进行修复。切勿对备份数据库进行更改!要了解有关验证的更多信息,请参阅《Adaptive Server Anywhere 用户指南》的“备份和数据恢复”章节下的“验证数据库”和“验证事务日志”。

5.3. 恢复数据库

根据您的数据库及其备份的设置方式,以及介质故障后文件的状态,恢复数据的方式可能涉及多个过程。有关如何在各种情况下恢复数据的信息,请参阅《Adaptive Server Anywhere 用户指南》的“备份和数据恢复”章节。