SAP HANA数据恢复技术:数据库备份

转载 2015年11月19日 11:46:51
 

目录(?)[+]

SAP HANA数据库的备份

为了保证最佳的性能,SAP HANA把数据存储在内存中,然而,SAP HANA也使用持久化的存储系统来进行故障的恢复。上一篇文章讲过,数据库进行正常操作时,数据和undo日志在保存点(Savepoint)过程中会自动地持久化到硬盘中,数据的变化被记录在redo日志中。Savepoint和写日志操作可以防止突然的断电对数据库的影响,但是当持久性存储设备(如硬盘)发生故障后,它们就无能为力了。为了防止硬件故障导致的数据丢失,数据库备份是必须的。备份操作过程对SAP HANA的性能影响是可以忽略不计的,用户可以继续正常工作。

数据库从备份中恢复和重启系统是相似的,都是从硬盘中读取数据和日志。但是它们的差别是,数据库从备份中恢复需要的是外部备份文件。由于SAP HANA中数据和日志(redo)存储在不同的分区中,因此数据库的备份也分为日志备份和数据备份两个部分,这两个部分的过程是相互独立的。SAP HANA的备份需要注意一下几点:

  1. SAP HANA的备份所需要的授权见下表。

授权名称

注释

BACKUP ADMIN

执行备份的授权

CATALOG READ

备份时搜集信息的授权

  1. SAP HANA进行第一次数据备份以前,日志备份是不会进行的(log mode处于overwrite模式)。
  2. 备份和恢复都是应用于整个数据库的,不可以备份和恢复数据库中的某一个对象。
  3. SAP HANA可以通过第三方备份工具进行备份。
  4. 最好使用共享存储设备进行备份,因为它不仅可以让所有节点访问到备份数据,而且系统更容易管理共享设备。

日志的备份

SAP HANA中,默认情况下,系统自动备份日志,前提必须是做过一次数据备份。在自动备份的模式下,三种情况会触发一个log segment备份:

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

系统用户可设置备份模式,设置 HANA studioConfiguration->golobal.ini->persistence->log_modeenable_auto_log_backup,如下图所示:

1.png

Log mode有两种模式可选:

  1. Normal(默认),在该模式下,如果enable_auto_log_backup=yes,log segment会被自动的备份,这种方式的好处是:备份后的log segment文件可以被重新利用,从而避免了log volume慢导致数据库崩溃。下一篇将讲述硬盘满后的恢复工作。
  2. 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

数据的备份

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

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

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

使用 SAP HANA Studio进行备份

  1. 右击系统,选择Back Up…,弹出窗口如下图所示,选择Backup类型,如果安装了第三方备份工具,则可选择其他类型,本文不介绍。
  2. 设定备份的目标目录以及该备份的前缀名。此时应确保指定的备份目标目录有足够的空间进行备份。
  3. 点击Next,显示备份设置的总结。
  4. 点击Finish,备份开始。视图会显示所有服务的备份进程。

2.png

使用SQL命令进行备份

管理用户可以在SAP HANA Studio中的SQL 控制台或者hdbsql中使用SQL命令进行备份。推荐在批处理情况下,才使用SQL命令进行备份。SQL 命令为:

BACKUP DATA USING FILE ('<path><prefix>')

其中<path><prefix>为绝对路径。例如:

BACKUP DATA USING FILE ('/backup/data/MONDAY/COMPLETE_DATA_BACKUP')

该语句会在/backup/data/MONDAY中创建

COMPLETE_DATA_BACKUP_databackup_0_1 (name server topology)

COMPLETE_DATA_BACKUP_databackup_1_1 (name server)

COMPLETE_DATA_BACKUP_databackup_2_1 (for example, index server)

...

批处理模式进行备份

用户可以在操作系统级别使用SAP HANA的命令行工具HDBSQL进行备份。HDBSQL可以让用户通过crontab来让数据库在固定时间固定间隔进行备份。

  1. 安装SAP HANA Client,该客户端软件可以让用户使用hdbuserstore,从而避免直接在命令行中输入密码:

hdbinst –a client (default location: /usr/sap/hdbclient)

  1. 创建一个用户钥匙:

/usr/sap/hdbclient/hdbuserstore set <KEY> <host>:3<instance id>15 <user> <password>

例如:

/usr/sap/hdbclient/hdbuserstore set BACKUP vebwtests1:30015 user password

  1. crontab中,执行:

/usr/sap/hdbclient/hdbsql –U<KEY> "BACKUP DATA USING FILE ('<path><prefix>')"

例如:

/usr/sap/hdbclient/hdbsql -U BACKUP "BACKUP DATA USING FILE ('MONDAY')"

SAP HANA数据恢复技术(二):数据库备份

SAP HANA数据库的备份 为了保证最佳的性能,SAP HANA把数据存储在内存中,然而,SAP HANA也使用持久化的存储系统来进行故障的恢复。上一篇文章讲过,数据库进行正常操作时,数据和und...
  • xiegh2014
  • xiegh2014
  • 2015年07月27日 09:12
  • 1650

SAP HANA BACKUP系统备份

SAP HANA BACKUP
  • SAPmatinal
  • SAPmatinal
  • 2017年05月11日 21:06
  • 258

SAP HANA 高可用性 (High Availability) 解决方案 -系统复制(System Replication)

分类: SAP HANA 目录(?)[+] 在上一篇博文SAP HANA 高可用性 (High Availability) 解决方案 (二) - Host Au...
  • lively1982
  • lively1982
  • 2015年11月19日 11:45
  • 4100

SAP backup and recovery via dbmcli (SAP系统备份和恢复)

首先通过: dbmcli -d -u username,password 和数据库建立连接 username通常用superdba   然后用如下命令对SAP系统进行备份 medium_pu...
  • liangziyisheng
  • liangziyisheng
  • 2012年12月17日 13:22
  • 1851

SAP HANA 导入导出(SAP HANA Export & Import)

SAP HANA 导入导出(SAP HANA Export & Import) 导入(Import):从平面文件中导入数据 Import语法: IMPORT FROM [] [INTO ] [...
  • qptufly
  • qptufly
  • 2012年08月21日 20:29
  • 6135

sap使用DB13和brtools发起oracle数据库备份

sap使用DB13和brtools发起oracle数据库备份
  • gaiwu0550
  • gaiwu0550
  • 2017年09月04日 16:14
  • 215

修改HANA DB的log mode

Each log volume contains the file logsegment_directory.dat and one or more log segment files (logseg...
  • degree41
  • degree41
  • 2014年03月09日 23:33
  • 3222

ELK(ElasticSearch5.1, Logstash5.1, Kibana5.1)搭建实时日志分析平台

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
  • xiegh2014
  • xiegh2014
  • 2016年07月30日 10:15
  • 7325

SAP HANA DBA日常工作手册

SAP HANA DBA日常工作手册: 一、日常性工作 1.系统运行环境的监控。 查看磁盘空间: 方法1:通过SAP HANA Studio -->Administration Editor-...
  • qptufly
  • qptufly
  • 2012年08月04日 01:34
  • 4818

st04 查看数据库日志

oracle/P34/saparch 看arch文件 sm13 检查更新是否有效,只需要看中间“更新有效”这几个字就可以了 sm12 检查锁定条目,可用于解锁,eg.用户锁定条目后断网了,其他人不...
  • zhongguomao
  • zhongguomao
  • 2011年09月01日 09:44
  • 1990
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SAP HANA数据恢复技术:数据库备份
举报原因:
原因补充:

(最多只允许输入30个字)