级别: 初级
【程序编程相关:配置 IBM DB2 通用数据库以构建 】suresh thalamati 【推荐阅读:构建模型驱动的 Windows 应用程序】
【扩展信息:DB2 UDB 连通性快捷表: 第 5 】 软件工程师, ibm cloudscape group 2005 年 3 月 确保 cloudscape 数据的可恢复性.了解 ibm® cloudscape™ 与 apache derby 中备份.恢复与前滚恢复这些特性的工作原理.通过例子,学习如何恢复数据库.简介
对于任何数据库管理系统来说,备份与恢复功能是确保数据可恢复性的关键.应用程序可能会崩溃,磁盘可能出故障,用户也经常会犯错误,以致损坏数据.由于这些原因,理解数据库管理系统中备份与恢复功能的工作原理,并实施经过精心规划的备份策略,就显得至关重要了.注意:ibm cloudscape 是开放源代码 apache derby 关系数据库的商业版本.当本文引用 "derby" 时,它指的是 cloudscape 与 apache derby 中的某一个.
derby 提供了两种恢复机制:
一种是使用数据库的全备份,使数据库返回到备份时的状态. 另一种机制通过使用全备份,并前滚事务日志,使数据库恢复到最近的状态,这种机制也叫前滚恢复. 数据库备份可以通过使用系统过程在线执行,也可以使用操作系统复制命令离线执行.恢复操作是通过连接 url 属性提供的.可以从 ij(derby 命令行工具),或者通过一个 java database connectivity (jdbc) 应用程序启动备份或恢复.嵌入式配置与网络服务器配置都支持备份与恢复操作.如果要从网络服务器客户机执行备份/恢复,那么应确保可以从网络服务器客户机访问所指定的备份位置.
在线备份
当数据库系统在运行时,备份将通过使用 syscs_util.syscs_backup_database(in backupdir varchar(32762)) 系统过程在线执行.为了执行这个备份过程,必须有到所备份数据库的一个连接.
什么是事务日志?
事务日志存储着对数据库作出的更改,当停电或者应用程序崩溃的时候,为了从备份恢复数据库,就需要事务日志.derby 将事务日志以文件的形式按顺序存放在文件系统中,事务日志文件的文件名都有前缀 log 以及后缀 dat ,另外,前缀的后面还会加上一个数字,每当创建新的事务日志文件时这个数据就会递增,例如 log1.dat.log2.dat,等等.事务日志文件存储在数据库目录下的 log 目录中,或者存储在用户指定的一个位置.在 derby 中,在进行备份的时候,那些要求对磁盘进行写操作的语句,例如 insert.delete 与 update,将被阻塞.而那些只需要读磁盘的语句,例如 select,则不会被阻塞.一旦备份完成,系统将让所有被阻塞的语句完成它们的执行.在线备份可能会降低系统的吞吐量与增加用户响应时间,因此,应该尽可能在更新操作比较少的时候执行备份.
清单 1: 通过 ij 对 salesdb 数据库进行备份 ... 下一页