3. 编辑DB2环境文件:$DB2HOME/.db2profile DSM_DIR=/usr/tivoli/tsm/client/ba/bin DSM_CONFIG=/usr/tivoli/tsm/client/ba/bin/dsm.opt DSM_LOG=/usr/tivoli/tsm/client/ba/bin DSMI_DIR=/usr/tivoli/tsm/client/api/bin (bin64 if DB2 is 64bit) DSMI_CONFIG =/usr/tivoli/tsm/client/api/bin/dsm.opt (bin64 if DB2 is 64bit) DSMI_LOG =/usr/tivoli/tsm/client/api/bin (bin64 if DB2 is 64bit) export DSM_DIR DSM_CONFIG DSM_LOG DSMI_DIR DSMI_CONFIG DSMI_LOG
4. 检查DB2的实例是不是64位 $ cd sqllib/adm $ dump -HX64 db2sysc db2sysc: dump: db2sysc: 0654-108 file is not valid in the current object file mode. Use the -X option to specify the desired object mode.
5. edit /usr/tivoli/tsm/client/api/bin/dsm.sys 和dsm.opt(bin64 if DB2 is 64bit) 确定 PASSWORDACCESS 被设为 GENERATE (oracle是PROMPT) 注:DB2 与Domino 使用同一dsm.opt 和dsm.sys 文件。
6. 停止并重新启动 DB2实例,使DB2可以读取之前的TSM配置: $ db2stop SQL1064N DB2STOP processing was successful. $ db2start SQL1063N DB2START processing was successful.
8. It is possible to configure different management classes for DB2 databases under the same DB2 instance. #su - db2inst1 $ db2 update db cfg for DBNAME using TSM_MGMTCLASS standard $ db2 update db cfg for DBNAME using tsm_nodename $ db2 update db cfg for DBNAME using tsm_owner $ db2 update db cfg for DBNAME using tsm_password $ db2 get db cfg for DBNAME 注:TSM_MGMTCLASS 是必须配置的参数,而后三个参数在做异机恢复必须指定。当指定后 三个参数时,要求将dsm.sys 中passwordaccess 指定为prompt,否则备份和恢复将失败。 Tsm-nodename 和tsm-owner 通常相同。这些参数与dsm.sys 相比具有生效的最高优先级。
10. 使能roll-forward 日志模式 #su - db2inst1 $ db2 start $ db2 update db cfg for sample using logarchmeth1 DISK:/tmp/db2log 注:使数据库管理器将日志文件归档至活动日志路径之外的位置。DISK值后必须紧跟冒号(:),然后是全限定现有路径名,日志文件将在其中归档。例如,如果将 logarchmeth1 设置为 DISK:/u/dbuser/archived_logs,则将归档日志文件放入名为 /u/dbuser/archived_logs 的目录。
11. 离线备份db2数据库: db2 force applications all #su - db2inst1 $ db2start SQL1026N The database manager is already active. $ db2 list applications for db DBNAME #查看正在使用该db 的application $ db2 “force application ( 6 )” #6 为上一命令使看到的application handle $ db2 list applications for db DBNAME $ db2 backup db DBNAME use tsm 注:对DB2做在线备份前,先做一次离线备份(只需做一次)。
12. 在线备份整个数据库 $ db2 backup db DBNAME online user db2inst1 [using password] use tsm 在线备份表空间 $ db2 backup db sample tablespace userspace1 online use tsm
13. 在线备份的自动调度 在/usr/bin 创建备份脚本backupdb2.sh su – db2inst1 –c “db2 backup db DBNAME online user db2inst1 using password use tsm” 用crontab –e 加入一行到/var/spool/cron/crontabs/root 中。 30 1 * * * /usr/bin/db2backup.ksh >/tmp/stdout.out 2>/tmp/err.out & 每天凌晨1:30 做全备
14. 校验DB2 的备份 $ db2 list history backup all for DBNAME
15.恢复 db2 database: $ db2 restore db DBNAME use tsm taken at [backup ID]