Linux环境下DB2数据库的备份和恢复的实际应用代码如下:
DB2数据库备份脚本:
/home/db2admin/sqllib/db2profile
db2 backup db datedb online to /dbbackup/date include logs
cd /dbbackup/datetoday=`date +”%Y%m%d”`
file1=”$today”
ftpfile=`ls $file1`
echo $ftpfile
lftp -c “open ftp地址;user用户名密码@\$0;put $ftpfile”
find /dbbackup/date -ctime +15 -exec rm {} \;
恢复命令:
通过root命令登录到服务器上后切换到数据库用户名下用su – db2admin命令。
进入到备份文件存放目录
执行如下命令
[db2admin@localhost db2back]$ db2 restore db datedb from /hom
恢复以及带有 OVERFLOW 选项的前滚 *** 作。对于 DB2 的分区数据库,某些直接发出的 DB2 命令只作用于当前一个分区,备份和恢复(BACKUP/RESTORE)就属于这一类命令。但是对于硬盘数据恢复分区数据库,由于同一数据库的数据分布在多个分区上。则对它的备份和恢复 *** 作就要考虑到各分区上数据的完整及同步问题,因此可以在 DB2 命令前加上 db2_all 命令,以便 DB2 命令在数据库的各个分区上被执行,而无需分别对每个分区重复发出相同的命令。另外在 DB2 中,启用了前滚数据恢复模式的数据库,使用的是归档日志方式,而非缺省的循环日志方式。这样,在进行恢复 *** 作时,可在利用 RESTORE 命令恢复了数据库或表空间的备份后,再通过前滚命令(ROLLFORWARD)命令前滚归档日志中的事务,恢复数据库备份时间点之后提交的事务,最大程度的保护数据库的数据。与备份和恢复命令不同的是,前滚命令仅能通过在分区数据库的编目分区上运行,来实现数据库各分区的前滚 *** 作。下面就以一个启用了前滚恢复模式的分区数据库 SAMPLE 为例介绍其备份、恢复以及前滚 *** 作的具体步骤。这里假设该数据库创建在一台服务器上,具有四硬盘数据恢复个分区,其编目分区为0号分区。一 对分区数据库的备份 *** 作:前面已经介绍了,备份 *** 作仅作用于分区数据库的当前分区,所以要使用“db2_all”的命令实现对所有分区进行备份(这里使用联机备份方式),即:db2_all "db2 backup db sample online" 但是上述命令对各分区的备份是以串行方式进行的,为提高备份 *** 作的性能,还有一种可使分区间以并行方式进行的方法。即在上述命令的 DB2 命令前加上以下选项来实现命令的并行:<<+分区号< :表示后续命令作用于该分区。<<-分区号< :表示后续命令作用于除该分区之外的其它分区。||<<-分区号< 或 <<-分区号; :表示后续命令作用数据恢复于除该分区之外的其它分区,并且是以并行方式进行的。但由于备份和恢复 *** 作要求独占编目分区,因此在对其它分区进行并行方式的备份 *** 作之前,首先必须完成该分区的备份 *** 作。其方法为:db2_all "<<+0< db2 backup db sample online" -- 对编目分区的备份db2_all "||<<-0< db2 backup db sample online" -- 对其它分区硬盘数据恢复的并行备份注:分区数据库的备份结束后会为每个分区都产生一个备份映象文件。
以上就是关于如何在Linux下实现DB2数据库备份和恢复全部的内容,包括:如何在Linux下实现DB2数据库备份和恢复、DB2 分区数据库备份与恢复 *** 作如何进行 (1)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)