数据库备份 (Database Backup)
本节讲述Altibase的备份类型和策略。
备份策略 (Altibase Backup Policy)
Altibase提供以下几种类型的备份:
l 逻辑备份(Logical backup)
l 物理备份(Physical backup)
逻辑备份使用export或iLoader工具创建装载数据的文本文件和创建表的脚本文件。物理备份是复制数据库的数据文件和控制日志。
物理备份有在线备份(online backup)和离线备份(offline backup),区别在于复制数据文件快照时是否要中断服务。
在线备份是指复制数据文件时不需要中断服务的处理过程。处理时未提交的数据也会被复制。为了在恢复过程时能够处理事务的重做(undo)动作,在线备份只能在归档日志模式(archive log mode)下执行操作。
离线备份是指在服务正常关闭后,复制所有的数据库文件、日志和控制日志的操作。
在线备份可以备份整个数据库、或某一个指定表空间、或控制日志。方法如下:
alter database backup database to '/backup'; alter database backup tablespace SYS_TBS_DATA to '/backup'; |
SYS_TBS_MEMORY,内存表空间包含系统数据,只能在备份整个数据库时备份而不能备份表空间。
下表是Altibase的备份方法:
备份类型 | 备份对象 | 备份方法 | 恢复方法 | 在线模式 |
iLoader工具 | 数据表 | iLoader命令 | iLoader命令 | ○ |
在线备份整个数据库 | 所有数据文件、控制日志 | SQLStatement; Alter database backup database to backup_dir; | 1> Unix命令 cp. 2> Alter tabase recover database; | ○ |
在线备份指定表空间 | 指定表空间的所有数据文件 | SQL Statement; Alter database backup tablespace tablespace name to backup_dir; | 1> Unix命令 cp. 2> Alter tabase recover database; | ○ |
离线备份 | 所有数据文件、控制文件、日志文件 | 操作系统命令,如"cp" | Unix命令:cp | × |
一般来说离线备份是最快的,这些工具的备份速度如下:
iLoader < online backup < offline backup |
归档模式 (Archives Log Modes)
数据库分为归档模式和非归档模式,根据操作数据库时在线日志文件的管理方法来区分。
归档模式下,已经写到数据文件上的日志被复制到archivelog目录。这个目录由ARCHIVE_DIR指定。
在非归档模式下,这些已经写到数据文件上的日志文件在检查点后被系统自动删除。
每种模式的优缺点如下:
数据库模式 | 优点 | 缺点 |
归档模式 | 支持介质恢复;时间点恢复; | 归档日志文件的备份需要磁盘空间; DBA需要更多的管理备份空间和备份文件的工作; |
非归档模式(NOARCHIVELOG) | Relatively easy to backup. | Unavoidable data loss. Because it is not support |
在创建数据库时要确定数据库的运行模式,也可以在数据库启动过程的control阶段修改。
下面的例子说明如何在创建数据库时指定归档模式:
create database mydatabase INITSIZE=100M archivelog; |
下面的例子说明如何在启动控制阶段修改数据库到归档模式:
shell> isql -s 127.0.0.1 -u sys -p manager -sysdba [ERR-00000: Connected to idle instance] iSQL> startup control; Trying Connect to Altibase.. Connected with Altibase. TRANSITION TO PHASE: PROCESS TRANSITION TO PHASE: CONTROL Command execute success. iSQL> alter database archivelog; |