环境:
HANA2.044,开发数据库(SYSTEMDB、DEV、QAS、POD、POQ)、正式数据库(SYSTEMDB、PRD、POP)
DEV 、QAS、PRD在S4的DB13中发起备份作业,POD、POQ、POP、SYSTEMDB用OS脚本发起备份作业。
备注:
为什么对备份的实施有一个漫长的过程?因为需要等待一个备份周期满,才能确认全部的备份副本正真在备份周期中全部OK;
也是等到一个备份周期完成后才能明确备份介质使用的情况。
一、用脚本实施定时备份(文件的产生):
开发数据库上
1、确定数据库备份目录:
/hana/shared/HED/HDB00/backup/data/DB_DEV
/hana/shared/HED/HDB00/backup/data/DB_QAS
/hana/shared/HED/HDB00/backup/data/DB_POD
/hana/shared/HED/HDB00/backup/data/DB_POQ
/hana/shared/HED/HDB00/backup/data/SYSTEMDB
2、做一个备份脚本,实施后脚本每天会产生备份文件:
vi /tmp/backup.sh,脚本中的内容如下:
PREFIX="$(date +"%Y%m%d-%H%M%S")"
echo "--------""$PREFIX""----begin----------"
hdbsql -i 00 -u SYSTEM -p 数据库密码 -n localhost:30013 "backup data for SYSTEMDB using file ('$PREFIX')"
hdbsql -i 00 -u SYSTEM -p 数据库密码 -n localhost:30013 "backup data for POD using file ('$PREFIX')"
hdbsql -i 00 -u SYSTEM -p 数据库密码 -n localhost:30013 "backup data for POQ using file ('$PREFIX')"
PREFIX="$(date +"%Y%m%d-%H%M%S")"
echo "--------""$PREFIX""----end------------"
修改/tmp/backup.sh文件属性未777.
在root下用hedadm用户,crontab -e新建定时执行这个脚本:(查看crontab -l )
0 1 * * * su - hedadm -c "sh /tmp/backup.sh >> /tmp/backuplog.txt"
等第二天观察是否执行成功。。。
第二天检查,没有异常,POD、POQ、SYSTEMDB库已经在凌晨1点实施了备份
正式数据库上
1、确定数据库备份目录:
/hana/shared/HEP/HDB00/backup/data/SYSTEMDB
/hana/shared/HEP/HDB00/backup/data/DB_PRD
/hana/shared/HEP/HDB00/backup/data/DB_POP
2、做一个备份脚本,实施后脚本每天会产生备份文件:
vi /tmp/backup.sh,脚本中的内容如下:
PREFIX="$(date +"%Y%m%d-%H%M%S")"
echo "--------""$PREFIX""----begin----------"
hdbsql -i 00 -u SYSTEM -p 数据库密码 -n localhost:30013 "backup data for SYSTEMDB using file ('$PREFIX')"
hdbsql -i 00 -u SYSTEM -p 数据库密码 -n localhost:30013 "backup data for POP using file ('$PREFIX')"
PREFIX="$(date +"%Y%m%d-%H%M%S")"
echo "--------""$PREFIX""----end------------"
修改/tmp/backup.sh文件属性未777.
在root下用hepadm用户,crontab -e新建定时执行这个脚本:(查看crontab -l )
0 1 * * * su - hepadm -c "sh /tmp/backup.sh >> /tmp/backuplog.txt"
备份日志记录如下:
二、用脚本定期删除老的备份(文件的删除):
开发数据库上
1、确定日志备份目录:
/hana/shared/HED/HDB00/backup/log/DB_DEV
/hana/shared/HED/HDB00/backup/log/DB_QAS
/hana/shared/HED/HDB00/backup/log/DB_POD
/hana/shared/HED/HDB00/backup/log/DB_POQ
/hana/shared/HED/HDB00/backup/log/SYSTEMDB
2、确定数据库备份目录:
/hana/shared/HED/HDB00/backup/data/DB_DEV
/hana/shared/HED/HDB00/backup/data/DB_QAS
/hana/shared/HED/HDB00/backup/data/DB_POD
/hana/shared/HED/HDB00/backup/data/DB_POQ
/hana/shared/HED/HDB00/backup/data/SYSTEMDB
3、编写脚本删除10天前的日志和数据库备份,把这些命令加入/tmp/backup.sh:
find /hana/shared/HED/HDB00/backup/log/DB_DEV/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/log/DB_QAS/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/log/DB_POD/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/log/DB_POQ/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/log/SYSTEMDB/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/data/DB_DEV/*databackup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/data/DB_QAS/*databackup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/data/DB_POD/*databackup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/data/DB_POQ/*databackup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HED/HDB00/backup/data/SYSTEMDB/*databackup* -mtime +10 -exec rm -f {} \;
----------备份周期10天,2020.6.30查看磁盘占用-----------
***/log/SYSTEMDB 3GB
***/log/DB_DEV 50GB
***/log/DB_QAS 40GB
***/log/DB_POD 20GB
***/log/DB_POQ 15GB
***/data/SYSTEMDB 20GB
***/data/DB_DEV 1200GB
***/data/DB_QAS 500GB (6.26产生,还未有10个备份)
***/data/DB_POD 70GB
***/data/DB_POQ 70GB
总计 2T
正式数据库上
1、确定日志备份目录:
/hana/shared/HEP/HDB00/backup/log/SYSTEMDB
/hana/shared/HEP/HDB00/backup/log/DB_PRD
/hana/shared/HEP/HDB00/backup/log/DB_POP
2、确定数据库备份目录:
/hana/shared/HEP/HDB00/backup/data/SYSTEMDB
/hana/shared/HEP/HDB00/backup/data/DB_PRD
/hana/shared/HEP/HDB00/backup/data/DB_POP
3、编写脚本删除10天前的日志和数据库备份,把这些命令加入/tmp/backup.sh:
find /hana/shared/HEP/HDB00/backup/log/SYSTEMDB/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HEP/HDB00/backup/log/DB_PRD/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HEP/HDB00/backup/log/DB_POP/log_backup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HEP/HDB00/backup/data/SYSTEMDB/*databackup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HEP/HDB00/backup/data/DB_PRD/*databackup* -mtime +10 -exec rm -f {} \;
find /hana/shared/HEP/HDB00/backup/data/DB_POP/*databackup* -mtime +10 -exec rm -f {} \;
过10天后检查,脚本完美运行。HANA数据库开启无人值守模式。。。