SAP HANA是SAP公司于2010年年末发布的列存储关系型内存数据库。采用了与传统数据库(如Oracle、SQL Server)不同的技术,在单个系统中并行运行在线分析处理(OLAP)和在线事务处理(OLTP)。

SAP HANA的主要特点

  1. 基于内存计算
    SAP HANA是一个内存中的数据库,意味着它将所有数据存储在内存中,而非传统的磁盘存储。这使得数据访问速度极快,大幅提高了数据处理的效率。
  2. 行存储和列存储
    行存储是传统数据库中最常见的存储方式,主要适于在线事务处理(OLTP)等应用,如单条数据的插入、修改、删除和查询等。在行存储模式下,一条记录的所有字段都存储在一起,当进行查询时,可以快速地获取到一条记录的所有信息。
    列存储则适用于分析型场景,如在线分析处理(OLAP)、数据仓库、数据挖掘等。在列存储模式下,同一列的数据被存储在一起,可以实现快速的数据查询和分析,同时也有助于数据的压缩和存储空间的节约。列存储是SAP HANA的一个重要特色,列存储使SAP HANA可以实现实时、高效的数据分析和处理。行存储用于SAP HANA自己的系统表,在SAP HANA的SYS这个Schema下面的所有数据库表,都以行存储的方式存在,用来处理系统自身的数据运算。列存储一般用于保存业务数据信息。

  3. “云”和”Onpremis”上使用
    SAP提供了可在”云”和”数据中心”安装和使用的版本。

OS(RHEL9)的设定已完成,接下来开始安装SAP HANA数据库。设定RHEL的方法参照 RHEL9的设定(003期)

下载SAP HANA

登录 SAP for Me 依次访问 “SUPPORT PACKAGES & PATCHES” -> “H” -> “SAP HANA PLATFORM EDITION” -> “SAP HANA DATABASE 2.0”

勾选 当前的最新版 “IMDB_SERVER20_075_0-80002031.SAR” 进行下载。

下载后的文件为3.27GB。关于SAP HANA的版本信息如下。

区域 说明 备注
IMDB_SERVER20 SAP HANA版本为2.0 SAP HANA有版本1.0和2.0,版本1.0在2021年6月已终止提供支持
075 07为SPS(Support Package Stacks),5为Revision番号
0 0为Patch番号

安装SAP HANA

将下载的以下2个文件上传到服务器的 /install 目录。

  • SAPCAR_1200-70007716.EXE
  • IMDB_SERVER20_075_0-80002031.SAR

创建存放安装媒体的目录 。

# ll /install
total 3440200
-rw-r--r-- 1 root root 3517158300 Jan  1 08:05 IMDB_SERVER20_075_0-80002031.SAR
-rw-r--r-- 1 root root    5600591 Jan  1 08:01 SAPCAR_1200-70007716.EXE

SAPCAR文件赋予执行权限之后,解压SAP HANA安装文件。下载SAPCAR文件的方法参照 下载SAPCAR(002期)

# cd /install
# chmod 777 SAPCAR_1200-70007716.EXE
# ./SAPCAR_1200-70007716.EXE -xvf ./IMDB_SERVER20_075_0-80002031.SAR

解压安装文件之后,可以确认到 “SAP_HANA_DATABASE” 目录。

# ll
total 3440204
-rw-r--r-- 1 root root 3517158300 Jan  1 08:05 IMDB_SERVER20_075_0-80002031.SAR
-rwxrwxrwx 1 root root    5600591 Jan  1 08:01 SAPCAR_1200-70007716.EXE
drwxr-xr-x 8 root root       4096 Dec 19 03:16 SAP_HANA_DATABASE
# cd SAP_HANA_DATABASE
# ll
total 148
drwxr-xr-x 2 root root    55 Dec 18 19:12 adapters.d
drwxr-xr-x 2 root root    56 Dec 18 19:12 descriptors.d
-rwxr-xr-x 1 root root   672 Dec 18 19:12 filelist.hdbinst_remote_check
-rwxr-xr-x 1 root root   671 Dec 18 19:12 filelist.hdblcm_remote_check
-rwxr-xr-x 1 root root  1304 Dec 18 19:12 filelist.install
-rwxr-xr-x 1 root root  3389 Dec 18 19:12 filelist.resident
-rwxr-xr-x 1 root root  1729 Dec 18 19:12 filelist.update
-rwxr-xr-x 1 root root 14496 Dec 18 19:12 hdbinst
-rwxr-xr-x 1 root root 14496 Dec 18 19:12 hdblcm
-rwxr-xr-x 1 root root 14496 Dec 18 19:12 hdblcmgui
-rwxr-xr-x 1 root root 14496 Dec 18 19:12 hdblcmweb
-rwxr-xr-x 1 root root 14496 Dec 18 19:12 hdbsetup
-rwxr-xr-x 1 root root 14496 Dec 18 19:12 hdbuninst
-rwxr-xr-x 1 root root 14496 Dec 18 19:12 hdbupd
drwxr-xr-x 8 root root  4096 Dec 18 19:12 instruntime
drwxr-xr-x 2 root root  4096 Dec 18 19:12 operations.d
drwxr-xr-x 5 root root    76 Dec 18 19:12 resources
drwxr-xr-x 3 root root  4096 Dec 19 03:16 server

可以使用命令行方式运行 hdbinst/hdblcm,在这里使用图形化方式(hdbsetup)进行安装。在Windows上运行远程Linux服务器的图形化界面的方式,参照Xming安装及使用方法

# export DISPLAY=192.168.3.75:0.0
# ./hdbsetup

启动后的图形化安装页面如下。

选择 “Install the SAP HANA Database”,该选项将在服务器上安装一个全新的HANA数据库,初次安装需要选择此项。”Upgrade the SAP HANA Database”选项,安装向导会自动检查服务器上是否已安装HANA数据库,该选项只有在服务器上已安装HANA数据库时才能选择,否则为灰色。

Installation Path是SAP HANA数据库的安装路径,采用默认安装路径。

SAP HANA System ID(SID)是3位字符组成的系统标识符,首字符必须为字母,后两位可谓字母或数字。SID主要用于SAP系统命名,尤其拥有多套SAP系统时,必须保证唯一。

Instance Number和登录端口有关系,在这里填写了 00,在连接HANA数据库时的端口号将会是30015,SID + Instance Number 组成一个唯一的SAP HANA环境

Restart system after machine reboot选项,如果勾选的话,每次服务器启动之后,将会自动启动SAP HANA数据库。

System Usage有如下4个选项,选择test。勾选”Restrict maximum memory allocation”,限制了SAP HANA数据库可使用的内存容量。

  • production – System is used in a producation environmnet
  • test – System is used for testing, not production
  • development – System is used for development, not production
  • custom – System usage is neither production, test nor development

输入密码之外,其他信息无需修改。hdbadm是数据库实例管理员的用户名和密码,在安装SAP HANA数据库时,会在系统上创建一个系统管理员,用户名称是SIDADM,在前面指定SID为HDB因此用户名是hdbadm。登录系统后,启动/停止数据库实例时,会用到该用户。

SAP HANA数据库的数据及日志文件的存放路径,使用默认设定。SAP HANA数据库对数据及日志的读写IO要求非常高,一般在AWS、Azure等云环境对磁盘做RAID0(Stripe)来提高磁盘吞吐量。因为启动数据库实例时,访问保存数据的路径读取到内存中。而对任何数据的修改需要同时写入”内存”和”日志”中,才算提交成功。

输入SYSTEM用户的密码。SYSTEM用户是SAP HANA数据库的系统管理员,初次登录SAP HANA工作台时需要用到该用户。SIDADM是操作系统层面的管理员,SYSTEM是数据库层面的管理员。

确认安装内容无误之后,点击 “Install” 开始安装。

点击 “Install” 之后,开始安装软件包。

显示这个页面,表示软件包的安装已成功。在创建系统,启动系统并导入数据。

点击 “Finish” 完成SAP HANA的安装。

安装后的确认

安装SAP HANA数据库之后,确认版本信息和运行状态。

确认版本信息

hdbadm用户登录服务器之后,使用 HDB version 命令确认安装的SAP HANA数据库的版本。

确认运行状态

sapcontrol -nr 00 -function GetProcessList 命令确认运行状态。所有的进程的状态为GREEN,表示运行正常。

到此SAP HANA数据库的安装顺利结束,安装方法可以说是相对简单(比安装Oracle数据库)。