玩转HANA数据库的备份与恢复(2020 刘欣)
2020.2.24 中午我演练了一把生产环境的异机恢复:1、恢复机的HANA数据库做了一次全备。2、停下恢复机,扩展了主机内存至192GB。3、从备份机上拿到凌晨生产机的数据库全备放到恢复机上。4、用这一份生产机的备份副本恢复HANA数据库。5、启动SAP服务器验证。6、再把之前的恢复机数据库恢复还原。总共用时1个小时,终于我可是说玩转了HANA数据库的备份与恢复,在虚...
本文档中所出现的命令,全部在真实环境中使用。
环境:S4 hana 1809 SP3, HANA2.0 SP 044 , SUSE Linux Enterprise for SAP Applications 12 SP4
2020.2.24 中午我演练了一把生产环境的异机恢复:
1、恢复机的HANA数据库做了一次全备。
2、停下恢复机,扩展了主机内存至192GB。
3、从备份机上拿到凌晨生产机的数据库全备放到恢复机上。
4、用这一份生产机的备份副本恢复HANA数据库。
5、启动SAP服务器验证。
6、再把之前的恢复机数据库恢复还原。
总共用时1个小时,终于我可是说玩转了HANA数据库的备份与恢复,在虚拟机的世界里。
一、HANA数据库的文件备份目录
数据库版本: HANA2.0 SP044
HANA默认安装后,存放备份的位置如图,对数据库做一次全库备份后,
归档日志会不断产生,如果不管理,用不了多久会爆满文件系统。
二、HANA数据库的本地备份、定期清理
全库备份一般在晚上执行,只要有一份全库备份,恢复系统将会很轻松,所以全库备份对系统至关重要的。
数据库归档日志每15分钟产生一次,有了归档日志,数据库可用恢复到指定时间点,所以归档日志备份也是很有必要的。
关于全库定时备份的shell脚本:
S4系统,可以在DB13中定制每天的定时备份。
但我还有一个SAP PO 系统,没有ABAP端,需要加一个脚本每天定时备份。
1、用vi mybackup.sh 新建这个脚本放到/tmp目录下:
hdbuserstore set BACKUP podev:38815 SYSTEM PASSWORD
PREFIX="$(date +"%Y%m%d-%H%M%S")"
hdbsql -U BACKUP "BACKUP DATA USING FILE ('$PREFIX')"
2、在root下用hanadm用户,crontab -e新建定时执行这个脚本(crontab -l 查看):
0 3 * * * su - hanadm -c "sh /tmp/mybackup.sh >> /tmp/backup.log"
3、直接在root下对这个脚本备份执行的结果:
可以看到增加的备份文件,前缀是我想要的“年月日-时分秒”:
关于定期清理的脚本:
这个脚本命令虽然用了rm,但是限定了文件的名称,所以使用上还是比较安全的。
1、crontab定时执行脚本 sh clear7day.sh
0 4 * * * sh /tmp/clear7day.sh
2、clear7day.sh脚本内容:清理7天前的日志和数据库备份
find /hana/shared/HAN/HDB88/backup/log/SYSTEMDB/log_backup* -mtime +7 -exec rm -f {} \;
find /hana/shared/HAN/HDB88/backup/log/DB_HAN/log_backup* -mtime +7 -exec rm -f {} \;
find /hana/shared/HAN/HDB88/backup/data/DB_HAN/*databackup* -mtime +7 -exec rm -rf {} \;
本地备份策略完成后,有一张很清晰的表:
三、HANA数据库的远程备份工具和策略(SUSE12 SP4的原生的远程文件同步工具 rsync)
远程备份的策略:
对于单机部署的数据库,如果数据库物理机故障,数据库和本地备份都完蛋了,所以我们还可用加一道屏障:把数据库备份再放一份到其它服务器上。我们找到一台文件系统空间很大的机器,我们在上面发动我们的备份项目,把其它数据库上的本地备份都拉到这一台备份机上。
SUSE远程文件同步工具 rsync:
非常好的事情,安装HANA的SUSE Linux Enterprise for SAP Applications 12 SP4的操作系统,自带远程文件同步工具rsync,
我们不用任何操作就可用使用rsync, 看看它的help:
Usage: rsync [OPTION]... SRC [SRC]... DEST
--------在ERP-DEV上拉podev的文件过来,放到10目录中---------
rsync -avP 192.168.1.10:/hana/shared/HAN/HDB88/backup/ /backup2/otherhost/10
--------在ERP-DEV上拉PRDHANA的文件过来,放到17目录中---------
rsync -avP 192.168.1.17:/hana/shared/HAP/HDB00/backup/ /backup2/otherhost/17
同样,异地备份也需要有一张清晰的表:
最后就是在备份目录怎么自动清理太老的备份了,以免把远程备份的目录涨爆。
四、轻松的异机恢复
TO BE CONTINUE...
更多推荐
所有评论(0)