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數據庫開啟無人值守模式。。。
總結
以上是生活随笔為你收集整理的HANA数据库备份脚本案例(刘欣)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: selenium3.0操作复选框
- 下一篇: MySQL数据库(1):数据库 Data