创建实例
# cd /opt/IBM/db2/v9.7/instance
# ./db2icrt -p 50004 -u db2inst4 db2inst4
建库
$ db2 create db payment on /home/db2inst4 using codeset GBK territory CN
检查备份文件
$ db2ckbkp -h PAYMENT.0.db2inst2.NODE0000.CATN0000.20130913013001.001
Backup Mode -- 1 #表示是在线备份文件
Includes Logs -- 1 #表示备份文件中包含恢复所需要的归档日志
生成迁移脚本
$ db2 "restore db payment from . taken at 20130913013001 on /home/db2inst4 into payment logtarget /home/db2inst4 redirect generate script pay2.clp"
----”logtarget /home/db2inst4 ”字段,表示指定生成新库rollforward所需的日志路径
修改脚本
$ vi pay.clp ----编辑
根据实际情况修改下面内容(新数据库的存储路径):
下面参数中的数值和上面“生成迁移脚本”语句中的参数值意义对应
修改容器路径(表空间)
根据pay.clp中修改的实际情况,创建对应的表空间:
创建表空间
$ db2 "SELECT BPNAME,NPAGES,PAGESIZE FROM SYSCAT.BUFFERPOOLS" ----查看缓冲池
$ cat pool.sql ----写一个脚本,创建表空间
#!/bin/sh
db2 connect to payment
db2 create bufferpool PAYM_SYS_POOL_4K size 25000 pagesize 4k
db2 create bufferpool PAYM_SYS_POOL_8K size 25000 pagesize 8k
db2 create bufferpool PAYM_SYS_POOL_32K size 25000 pagesize 32k
db2 "create tablespace EPS_SPACE_8K PAGESIZE 8K MANAGED BY DATABASE USING (file '/home/db2inst4/db2inst4/tablespaces/EPS_SPACE_8K' 100M) AUTORESIZE YES BUFFERPOOL PAYM_SYS_POOL_8K"
db2 "create user temporary tablespace EPS_SPACE_32K PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/db2inst4/db2inst4/tablespaces/EPS_SPACE_32K' ) BUFFERPOOL PAYM_SYS_POOL_32K "
db2 "create user temporary tablespace SYSTOOLSTMPSPACE PAGESIZE 4K MANAGED BY SYSTEM USING ('/home/db2inst4/db2inst4/tablespaces/SYSTOOLSTMPSPACE' ) BUFFERPOOL PAYM_SYS_POOL_4K "
db2 "create system temporary tablespace PAYMENT_TMP PAGESIZE 32K MANAGED BY DATABASE USING (file '/home/db2inst4/db2inst4/tablespaces/PAYMENT_TMP' 100M) BUFFERPOOL PAYM_SYS_POOL_32K "
创建的表空间和pay.clp中关于表空间的内容应该一一对应。
运行恢复脚本
$ chmod +x pay.clp
$ db2 -tvf pay.clp
rollforward 数据库
$ db2 "rollforward database payment to end of logs and stop overflow log path ("/home/db2inst4") "
检查数据库
$ db2 connect to payment ----连接数据库
$ db2 list tables for schema db2inst2 ----列出表
$ db2 get db cfg for payment
更新归档日志路径
$ mkdir payment_archive_log ----创建爱你归档日志文件夹
$ db2 update db cfg for payment using LOGARCHMETH1 DISK:/home/db2inst4/payment_archive_log ----更新归档日志路径
$ db2 connect reset ----断开所有连接
手工切换归档日志
$ db2 force applications all
$ db2 terminate
$ db2 archive log for database payment