HANA数据库要恢复备份,首先得有备份,这不是一句废话,因为HANA数据库默认是没有开启备份机制的。
<br>
下面提供两种备份方式——
一、data + log 增量备份
hdbsql -i $sid -u SYSTEM -p $sysPassword "BACKUP DATA using file ('$backupDir/$dbName_$dateStr')";
命令中的sid为实例号,一般为01;sysPassword为SYSTEM用户密码;backupDir是希望备份保存的位置,此命令执行后在默认的备份路径下的log与catalog目录均会默认每15分钟生成增量备份文件,需要每隔一段时间删除,否则硬盘迟早会满;dateStr为区分每次备份的格式化日期后缀。
上述命令中的引号均为英文。
二、 schema导出备份
hdbsql i $sid -u $schemaName -p $schemaPass "EXPORT $schemaName."*" AS BINARY INTO '$OUTPUT/epm_$dateStr' WITH REPLACE";
命令中的schemaName为计划备份的schemaName,OUTPUT为备份路径。
上述备份命令中的路径需要可读写权限。
<br>
下面提供恢复命令——
一、 data + log 增量备份的恢复
hdbsql -i $sid -u SYSTEM -p $sysPassword -d SYSTEMDB
alter system stop database hxe;
全量恢复
RECOVER DATA FOR hxe USING FILE ('/BACKUP/data/20230727-222217') CLEAR LOG;
FILE_NAME取data备份文件前缀。
增量恢复
RECOVER DATABASE FOR hxe UNTIL TIMESTAMP '2023-05-26 13:00:00';
TIMESTAMP为UTC时间。恢复完成会自动重启数据库。 data + log 增量备份的恢复是恢复整个数据库,包括其下所有schema的状态。
二、 schema导出备份的恢复
hdbsql i $sid -u $schemaName -p $schemaPass "IMPORT $schemaName."*" AS BINARY FROM '$OUTPUT/epm_$dateStr' WITH REPLACE";
schema导出备份的恢复只恢复某一特定schema,并且不用停数据库。
标签:recovery,data,HANA,恢复,sid,schemaName,backup,备份,schema From: https://blog.51cto.com/u_17028159/12066417