SAP HANA資料庫安裝
我們都知道,制約資料庫系統性能提升的關鍵瓶頸是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.
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