HANA数据库备份及恢复-参数、原理、脚本

Hana数据库

1.内存数据库

内存数据库 (IMDB) 是一种将数据存储在计算机主内存 (RAM),而不是传统磁盘或固态硬盘 (SSD) 的数据库。SAP HANA 则是从零开始构建,主要目的是利用内存处理数据,其次才是利用其他必要的存储机制来平衡性能和成本。从内存中检索数据要比从磁盘或固态硬盘中检索数据快得多,因此 SAP HANA 可以实现瞬时响应。

2.场景

内存数据库通常用于对速度和处理量有着极高要求的场景,例如电信网络和银行系统。在过去的 10 年中,随着多核处理器的发展和 RAM 价格回落,企业开始将内存数据库用于更广泛的场景,包括实时分析和预测建模、客户体验管理、物流等等。

3.特点

高性能,高压缩比,高价格,闭源的特点。

HANA备份

数据写入原理

备份数据

SAP HANA备份可以分成日志备份和数据备份两个部分,具体特点包括:

  1. 两个部分的备份过程是相互独立的,SAP HANA进行第一次数据备份以前,日志备份是不会进行的;
  2. 备份和恢复都是应用于整个数据库的,不可以备份和恢复数据库中某一个对象;
  3. SAP HANA备份至少需要 BACKUP ADMIN 和 CATALOG READ权限

默认数据目录结构

重定向数据目录

如果想更改路径,可以studio的backup console中更改(可视化界面)也可以在global.ini配置文件中更改$(DIR_INSTANCE)/../SYS/global/hdb/custom/config

cd /hana/shared/HXE/global/hdb/custom/config/

/hana/shared/HXE/exe/linuxx86_64/HDB_2.00.061.00.1644229038_dc05c0c21c523047df25eba12fdb3f146ac848b2/config/

修改后需重启数据库

默认路径说明

  1. HANA数据库安装后的文件系统,两个安装点:/usr/sap (本地)   /hana (存储)。
  2. 数据库实例执行程序,位于shared目录,数据位于data目录,日志位于log目录。在执行备份之后,默认路径下生成log日志

        3. /usr/sap/<SID>目录,其实就是一个快捷目录,指向/hana/shared/<SID>,这是为生产环境切换准备的。

        4. 注意backup目录,里面有数据库全库备份,并且还有日志的备份,这个会随作时间的延续而增长。

如果用磁盘存放备份,应该把备份文件设置到其它大空间的目录中去

日志的备份

在SAP HANA中,默认情况下,系统自动备份日志,前提必须是做过一次数据备份

在自动备份的模式下,三种情况会触发一个log segment备份

  1. Log segment满了。
  2. 超过log备份timeout设置时间,log segment关闭。
  3. 数据库启动。

日志模式

Log mode有两种模式可选:

Normal(默认)

在该模式下,如果enable_auto_log_backup=yes,log segment会被自动的备份,这种方式的好处是:备份后的log segment文件可以被重新利用,从而避免了log volume慢导致数据库崩溃。

Overwrite

在该模式下,log segment不会被进行备份,进行了savepoint之后,free状态的log segment会被直接覆盖。由于没有日志的备份,这种模式不推荐在生产系统中使用。如果使用Overwrite模式,数据将只能通过数据备份进行恢复了,不能达到恢复到point-in-time的效果,只能恢复到某个savepoint。

我们也可以设定log备份的时间间隔,Configuration->golobal.ini->persistence->log_backup_timeout_s。系统默认时间间隔为900s,如果发生介质故障需要从备份恢复且日志日志区不能被用来进行恢复,这段时间内的系统数据改变将会丢失。如果此处设为0,那么系统只有在log segment满或者系统重启时才会备份

重定向日志

重定义log日志路径及默认备份时间:

/hana/shared/HXE/exe/linuxx86_64/HDB_2.00.061.00.1644229038_dc05c0c21c523047df25eba12fdb3f146ac848b2/config

Vi global.ini

数据备份

SAP HANA数据区的备份包含了数据库的所有内容:事务数据已经管理数据(例如:用户,角色,模型和视图)。只有真正的数据会被备份,数据库中未使用的空间不会被备份。数据区进行备份时,会备份每一个SAP HANA服务的数据。如果SAP HANA运行在多个主机上,那么数据备份会包含所有主机上的以服务为单位的备份。

默认情况下,SAP HANA的数据备份目录为$DIR_INSTANCE/backup/data。注意这个目录以及日志备份目录$DIR_INSTANCE/backup/log与SAP HANA的日志区和数据区要放在不同的硬盘上,这样即使SAP HANA系统发生介质故障,也不会影响日志硬盘。

数据备份可通过三种工具进行备份:SAP HANA studio, SQL命令,批处理模式。

命令参考:

su - hxeadm

backup DATA using file ('/usr/sap/HXE/HDB90/backup/data','FULL.SystemDB')

是否存在,不指定备份路径,直接执行自备份脚本,NBP备份成功?

hdbsql -n localhost -i 90 -d HXE -u SYSTEM -p ABCabc123 -x "backup data using file ('/usr/sap/HXE/HDB90/backup/data/tenant/test1')"

-n 表示连接的主机

-i 实例编号

-d 指定是系统库还是租户库(默认是租户库)

-u 指定数据库的用户名

-p 指定数据库的密码

-x 后面可以执行相应的sql命令

Eg.

PREFIX="$(date +"%Y%m%d-%H%M%S")"

hdbsql -i 00 -u SYSTEM -p password -n localhost:30013 "backup data for SYSTEMDB using file ('$PREFIX')"

hdbsql -i 00 -u SYSTEM -p password -n localhost:30013 "backup data for HAP using file ('$PREFIX')"

hdbsql -i 00 -u SYSTEM -p password -n localhost:30013 "backup data for POP using file ('$PREFIX')"

定时清理文件:

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 {} \;

数据恢复

最终还原命令为(该命令为本机恢复,全量恢复)

hdbsql -n localhost -i 90 -d SystemDB -u SYSTEM -p Suj000123 -x "RECOVER DATA FOR HXE USING FILE('/usr/sap/HXE/HDB90/backup/data/tenant/test1') CLEAR LOG";

注意:

1.要恢复到最新状态,日期必须晚于最新状态

2.恢复的目标数据库不存在时,需要先创建好目标数据库,如果恢复的目标数据库和老的数据库名字相同,那么恢复后库的密码是新库的密码

3.SAP HANA 数据库无法恢复到比其现有版本低的任何版本。用于恢复的 SAP HANA 数据库软件版本必须是相同或高于创建备份的 SAP HANA 数据库的版本。

--停库

HDB stop

--数据恢复

HDBSettings.sh recoverSys.py --wait --command="RECOVER DATA USING FILE ('COMPLETE_DATA_BACKUP') CLEAR LOG"

--启库

HDB start

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SAP HANA 数据库是一种面向内存的关系型数据库,具有高速的数据处理和查询能力。SQL(Structured Query Language)是一种用于数据库管理的标准化语言,用于查询、添加、删除和修改数据库中的数据。 SAP HANA 数据库 SQL 参考手册为用户提供了详细的 SQL 语法和语句用法,使得用户能够充分利用 SAP HANA 数据库的强大功能和高效性能。这个手册提供了丰富的语句和函数,是 SAP HANA 数据库操作者必备的工具之一,可以让用户根据自己的需求和数据特点,编写出高效、精确的 SQL 语句。 手册包含了基本的 SQL 语法和数据类型,包括数据的增删改查等常用操作。同时,它还提供了高级的特性和函数,如聚合函数、窗口函数、数据挖掘函数等,可以应用于数据分析、数据处理和数据建模等方面。 该手册还解释了 SAP HANA 数据库语句执行过程的细节,包括语句优化、执行计划和性能调优等方面。通过深入了解 SAP HANA 数据库 SQL 参考手册,用户可以更好地理解数据库内部的工作原理,从而进一步优化 SQL 语句的性能。 总之,SAP HANA 数据库 SQL 参考手册是 SAP HANA 数据库用户的重要工具,可以帮助用户更好地理解数据库的功能和性能,编写高效、准确的 SQL 语句,提高数据库的效率和性能。 ### 回答2: SAP HANA数据库SQL参考手册是专门为SAP HANA数据库设计的一份指南。该手册包含了SAP HANA数据库所支持的各种SQL语句和函数,帮助用户更好地了解和使用该数据库。 SAP HANA数据库是一款高性能的内存数据库,可以帮助企业快速处理海量数据。为了发挥其最大的潜力,需要熟练使用SAP HANA数据库的各种SQL语句和函数。而这正是该手册的目的所在。 该手册详细介绍了SQL语句的语法和用法,包括SELECT、INSERT、UPDATE、DELETE等常用语句,还涉及到数据类型、索引、触发器、存储过程等高级主题。此外,手册还提供了各种函数的介绍,如聚合函数、日期函数、文本函数、数值函数等,以及如何创建和使用用户定义函数、视图和游标等。 需要说明的是,SAP HANA数据库SQL参考手册不是用于入门学习的教材。用户需要有一定的数据库基础和编程知识,并了解SQL的一般原理和用法。只有在此基础上,才能更好地理解和使用该手册。 总之,SAP HANA数据库SQL参考手册是一份非常重要的工具,对于想要熟练使用SAP HANA数据库的开发人员和数据库管理员非常有用。 ### 回答3: SAP-HANA数据库SQL参考手册是一本非常有用的工具,它为用户提供了丰富的语法和查询操作,以帮助他们更有效地使用SAP-HANA数据库。该手册覆盖了广泛的主题,包括数据建模、查询以及事务处理等方面,也提供了详细的语法和示例,以便用户在使用时可以轻松理解操作。 在手册中,用户可以找到各种不同类型的操作和函数,包括基本的查询操作、子查询、搭配联接使用的查询、排序函数、聚合函数、数据分析函数以及窗口函数等。除此之外,该手册还提供了许多计算、数据转换以及条件函数等,这些都是在数据库中十分有用和常见的操作。 另外,在手册中还提供了对SAP-HANA中特定功能的解释和指导,例如如何使用SAP-HANA中的新型模型,如何使用视图和数据封装技术等。无论用户是在处理大量的数据还是在执行复杂的分析操作,该手册都可以为他们提供有用的参考和指导。 总之,SAP-HANA数据库SQL参考手册是一本非常重要的工具,它可以帮助用户更高效地使用SAP-HANA数据库,并帮助他们在处理大量数据和执行复杂的分析操作时提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值