IBM DB2 Database是美国IBM公司开发的一套关系型数据库管理系统(RDBMS),它主要的运行环境为UNIX(包括IBM的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows Server。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机集群到单用户环境。DB2提供了较高级别的数据可用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的处理能力。
DB2事务日志记录数据库中所有对象和数据的改变。
DB2数据库有2种日志配置方式,循环日志与归档日志。
循环日志:这是数据库默认的日志使用方式,主日志用来记录所有的更改,当事务提交后,日志文件会被重用。当主日志文件达到限制时,辅助日志文件将被使用。这种日志方式可以进行崩溃恢复和版本恢复,不能进行前滚恢复,不支持在线备份。
归档日志:归档日志是一种日志文件的管理技术,将那些处于非活动状态的日志文件进行归档。开启归档后日志文件将不会被删除,保持在线或者离线状态。支持前滚恢复和在线备份。
日志传输(log shipping)是一种方法,当用户在主数据库上提交一个事务时,主 DB2 服务器记录事务日志,然后主数据库会将日志发送给备机数据库,一旦事务日志被传送到了备机数据库上并应用,备机数据库就可以保持与主服务器的实时同步。
日志传输是构建数据库高可用和容灾的基础,基于DB2日志传输应用的HADR 技术原理如下图所示:
在数据迁移前,我们需要在目标端对数据对象做定义。db2look可以用来在源端产生表、视图、索引、函数、触发器、存储过程等对象的定义语句,一般生成 DDL文件以便在目标端数据库中重新创建源端定义的所有数据库对象。
db2move工具用来在两个数据库之间进行数据迁移,特别适合于不同平台、表数量比较多的情况。此工具是对export、import、load命令的封装,根据系统表获得用户表,将数据库导出为PC/IXF格式,同时会产生一个db2move.1st文件,记录导出表和数据文件名字,将这些文件传输到目标系统中,通过load或import进行导入。