HANA数据库备份脚本案例(刘欣)

环境:

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数据库开启无人值守模式。。。

猜你喜欢

转载自blog.csdn.net/ot512csdn/article/details/106763784