如何在SAP HANA中按模式进行备份

时间:2017-05-14 02:03:36

标签: sap database-backups hana

我正在使用

在HANA中执行备份
hdbsql HDB=> BACKUP DATA USING FILE ('/backup/HDB/data/BACKUP_FULL_20170514/SAPHANA')

而不是这个我希望通过模式明智地进行备份,并将其作为cronjob。如何在SAP HANA中按模式进行备份?

3 个答案:

答案 0 :(得分:1)

好的,这是一个常见问题,不仅适用于HANA,也适用于任何具有架构支持的DBMS 简短的回答是:无法根据模式备份/恢复数据。模式是数据库中的命名空间,而备份/恢复是数据持久性的功能。

由于事务可以跨多个模式,因此仅恢复单个模式可能会导致不一致,因为事务只会部分恢复。

说了这么多,通常实际要求不是备份/恢复单独的模式,而是允许在共享系统上处理多个数据库租户。

SAP HANA通过Multi-Database-Containers支持此功能。每个租户都有自己的一组数据库进程,内存,文件系统等,但HANA软件安装是共享的。

这样,在不影响其他租户的情况下,备份/恢复单个租户很容易。这种方法的另一个好处是架构本身在所有租户DB中都具有相同的名称,使维护更容易。

答案 1 :(得分:1)

您可以使用此SQL命令导出架构:

EXPORT "MY_SCHEMA".* AS BINARY INTO '/tmp/my_schema' WITH REPLACE;

有关更多选项,请参阅EXPORT documentation

Tipp:不要导出到已安装的Windows文件系统或NAS,因为导出可以包含具有相同名称但不同外壳的案例相关文件。这会破坏Windows文件系统。 - 最好是直接在Linux系统上压缩它,如下所示:

tar -czf my_schema.tgz /tmp/my_schema/

要导入架构备份,请使用以下命令:

IMPORT "MY_SCHEMA".* FROM '/tmp/my_schema' WITH REPLACE;

您可以使用WITH RENAME "MY_SCHEMA" TO "MY_SCHEMA_COPY"以其他名称还原它。有关更多选项,请参阅IMPORT documentation

SAP note 2134959更详细地描述了该过程。另外,请查看SAP注释2121486,其中列出了使用EXPORT进行备份的不一致风险,如@Lars所述。

顺便说一句,我不确定为什么@Lars不鼓励这种情况,甚至将其描述为“不可能”。 SAP本身推荐它,并且他们的许多工具都依赖于它,例如SAP Cloud Control Center。对于某些任务,它是一种非常适合的方法,在常规完整备份的顶层

答案 2 :(得分:0)

我使用这个简单的命令:

在SHH中转到备份文件夹, 创建您的文件夹以包含备份, 将该文件夹的权限授予HANA Studio写入:

cd /hana/bkps/
mkdir BACKUP_FLD_180101
chmod -R 777 BACKUP_FLD_180101/

接下来转到HANA STUDIO进行备份:

export "FLD_PRD"."*" AS BINARY INTO '/hana/bkps/BACKUP_FLD_180101' with replace threads 10

DONE !!