SAP HANA是一个全新设计的内存数据库系统,他即支持传统的行式存储也支持列式存储。HANA数据库具有很高的性能、并发能力和可扩展性。HANA即可以支持OLTP应用也可以支持OLAP系统。
我们都知道,制约数据库系统性能提升的关键瓶颈是I/O。为了解决这个问题,Oracle公司推出了Exadata,通过在存储层内置智能存储软件优化数据库层和存储层之间的I/O处理和传输。而SAP HANA数据库则另辟方向,充分利用多核处理器架构和计算机主存成本降低的趋势,在内存中存放数据,而传统的磁盘存储系统只是作为“持久层”,防止由于故障导致内存数据丢失。对于HANA来说,相关数据位于内存中,这样在访问数据时无需物理磁盘I/O操作,因此也就不存在磁盘“I/O”的瓶颈问题了。在这里并不会、也不想讨论SAP HANA和Oracle Exadata两种技术的优劣,我想这两种技术代表了两种方向,最终还需要由市场和客户评判。
由于目前SAP HANA的公开资料很少,个人觉得很不利于产品的推广和使用,一个产品只有了解、使用的人多了,建立起很好的“生态系统”才能得到发展。对于数据库这样的基础平台软件更是如此。技术人员了解和学习一个产品都喜欢先装上它,然后使用它。本文将向SAP HANA的初学者介绍如何安装它。
1. 环境要求
为了便于大家方便安装,在这里假设HAN安装在虚拟机环境下。虚拟机需要分配至少6G内存、2个逻辑CPU、至少30G磁盘空间。在虚拟机上安装Suse Linux Enterprise Server 11 SP1操作系统。
2. 安装SAP HANA数据库软件
为了便于说明安装步骤,假设HANA的安装软件解压到/root/hana_media目录下。
在安装HANA时,需要使用操作系统root账号执行相应的安装程序:
/root/hana_media/database1.0.26.linux/SAP_HANA_DATABASE/hdbinst 是命令行安装程序
/root/hana_media/database1.0.26.linux/SAP_HANA_DATABASE/hdbsetup 是图形化安装程序
下面将介绍使用hdbinst的安装方法:
(1) 把hana安装介质目录/root/hana_media/database1.0.26.linux/SAP_HANA_DATABASE/server目录下的HanaHwCheck.py文件改名:
mv HanaHwCheck.py HanaHwCheck.py.bak
否则在执行安装程序时(hdbinst)会报如下错误:
SAP-DB-01:~/hana_media/database1.0.26.linux/SAP_HANA_DATABASE # ./hdbinst
SAP HANA Database kit detected.
ERR: Installation failed
ERR: Checking system requirements failed
ERR: Performing HANA platform check script failed
INFO: Starting external program /usr/bin/python
INFO: Command line is: /usr/bin/python /root/hana_media/database1.0.26.linux/SAP_HANA_DATABASE/server/HanaHwCheck.py
INFO: Output line 1:
INFO: Output line 2: performing Hardware check......
INFO: Output line 3:
INFO: Output line 4: System Manufacturer VMware, Inc. not supported
INFO: Output line 5: System Product Name VMware Virtual Platform not supported
INFO: Output line 6: CPU Model CPU not supported
INFO: Output line 7: OS SLES 11 SP 1 OK
INFO: Output line 8: Memory Total 4096 MB OK
INFO: Output line 9: Core count 0 OK
INFO: Output line 10: Hyper-threading Activated OK
INFO: Output line 11: Numa functionality Activated OK
INFO: Output line 12:
INFO: Output line 13: Hardware check failed!!
INFO: Output line 14:
INFO: Program terminated with exit code 255
(2) 用root执行./hdbinst,然后按照提示输入下述信息:
SAP HANA Database Installation Manager - Database Installation 1.00.26.360533
*****************************************************************************
Enter System Id: HDB
Enter Instance Number [00]: 01
Enter Installation Path [/usr/sap]:
Enter System Administrator (hdbadm) Password: yourpassword
Confirm System Administrator (hdbadm) Password: yourpassword
Enter System Administrator Home Directory [/usr/sap/HDB/home]:
Enter System Administrator Login Shell [/bin/sh]:
Enter System Administrator User Id [1000]:
Enter Group Id (sapsys) [79]:
Enter Location of Data Volumes [/usr/sap/HDB/global/hdb/data]:
Enter Location of Log Volumes [/usr/sap/HDB/global/hdb/log]:
Enter Password of Database User SYSTEM: Lion12345
Confirm Password of Database User SYSTEM: Lion12
Restart instance after machine reboot [yN]: y
Checking installation...
Preparing package "Python Support"...
Preparing package "Python Runtime"...
Preparing package "Product Manifest"...
Preparing package "Binaries"...
Preparing package "Lexicon"...
Preparing package "Languages"...
Preparing package "Installer"...
Preparing package "Ini Files"...
Preparing package "Documentation"...
Preparing package "DAT Languages"...
Creating System...
Extracting software...
Installing package 'Python Support' ...
Installing package 'Python Runtime' ...
Installing package 'Product Manifest' ...
Installing package 'Binaries' ...
Installing package 'Lexicon' ...
Installing package 'Languages' ...
Installing package 'Installer' ...
Installing package 'Ini Files' for Installation Type SAP HANA...
Installing package 'Documentation' ...
Installing package 'DAT Languages' ...
Creating System...
Starting SAP HANA Database system...
我们看到,安装hana数据库还是比较简单的,按照提示去做即可。此外,如果是搭建学习环境,就接受缺省值即可。
3. 使用HDB管理HANA数据库的启动和停止
使用hdbinst安装成功后,会创建一个操作系统账号hdbadm和一个组sapsys。HANA数据库的管理需要使用这个账号。
(1) 停止HANA数据库
a. 如果是root用户,执行su - hdbadm
b. cd $DIR_INSTANCE
注意,如果执行su - hdbadm之后,会自动进入这个目录,不过如果由于其他原因进入了其他目录,可以使用这种方法进入到这个目录中。
c. 执行 ./HDB stop 停止数据库
在执行上面命令后,会输出如下信息:
SAP-DB-01:/usr/sap/HDB/HDB00> ./HDB stop
hdbdaemon will wait maximal 300 seconds for NewDB services finishing.
Stopping instance using: /usr/sap/HDB/SYS/exe/hdb/stopsap HDB00 sap-db-01
Stopping the SAP instance HDB00
----------------------------------
Shutdown-Log is written to /usr/sap/HDB/home/stopsap_HDB00.log
Instance on host SAP-DB-01 stopped
Waiting for cleanup of resources.............
hdbdaemon is stopped.
(2) 启动HANA数据库
a. 如果是root用户,执行su - hdbadm
b. cd $DIR_INSTANCE
注意,如果执行su - hdbadm之后,会自动进入这个目录,不过如果由于其他原因进入了其他目录,可以使用这种方法进入到这个目录中。
c. 执行 ./HDB start 启动HANA数据库
在执行上面命令后,会输出如下信息:
SAP-DB-01:/usr/sap/HDB/HDB00> ./HDB start
Starting instance using: /usr/sap/HDB/SYS/exe/hdb/startsap HDB00 sap-db-01
Starting SAP Instance HDB00
------------------------------
Startup-Log is written to /usr/sap/HDB/home/startsap_HDB00.log
Instance Service on host SAP-DB-01 started
Instance on host SAP-DB-01 started
http://blog.chinaunix.net/uid-16765068-id-3476342.html