SAP HANA2.0 EXPRESS 下載安裝及管理
一、概述
hana在項(xiàng)目場(chǎng)景上使用的越來越多,SAP HANA是一種面向列的內(nèi)存數(shù)據(jù)庫,可在單個(gè)系統(tǒng)中運(yùn)行高級(jí)分析和高速事務(wù)。為什么這個(gè)這么重要?因?yàn)樗屍髽I(yè)能夠以近乎零的延遲處理海量數(shù)據(jù),即時(shí)查詢數(shù)據(jù),真正實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)。通過將數(shù)據(jù)存儲(chǔ)在主內(nèi)存中基于列的表中,并將在線分析處理 (OLAP) 和在線事務(wù)處理 (OLTP) 結(jié)合在一起,SAP HANA 是獨(dú)一無二的,并且比當(dāng)今市場(chǎng)上的其他數(shù)據(jù)庫管理系統(tǒng) (DBMS) 快得多。
二、Window上安裝DM和下載ova文件
1、 通過DM安裝包下載文件
說明:
- 平臺(tái)選擇:Linux/x86-64。
- 鏡像選擇:Virtual Machine。
- 選擇文件保存地址:選擇下載文件保存本地地址。
- 選擇下載的文件。
下載文件說明:
a. Getting Started with SAP HANA, express edition (Virtual Machine Method) 是官方提供的快速使用文檔。
b. Server only virtual machine 是官方配置的最精簡(jiǎn)的虛擬機(jī),除了HANA數(shù)據(jù)庫之外沒有其他SAP應(yīng)用,下載后是 hxe.ova,它的配置是 8G內(nèi)存、100G硬盤、2個(gè)處理器。
c. Server + applications virtual machine 是官方提供的一個(gè)虛擬機(jī),除了HANA數(shù)據(jù)庫之外還有 XS Advanced, Web IDE, and SAP HANA Cockpit 等應(yīng)用,下載之后是 hxexsa.ova,它的配置是 16G內(nèi)存、100G硬盤、2個(gè)處理器。
d. 如果電腦內(nèi)存資源不足,建議選擇 Server only virtual machine 以及 Getting Started with SAP HANA, express edition (Virtual Machine Method) 這兩項(xiàng)即可。
三、導(dǎo)入虛擬機(jī)
1、把下載的hxe.ova文件導(dǎo)入虛擬機(jī)
2、設(shè)置虛擬機(jī)名稱和保存路徑,點(diǎn)擊導(dǎo)入即可
四、啟動(dòng)和初始化虛擬化
1、啟動(dòng)虛擬機(jī)
2、是否修改默認(rèn)鍵盤
使用默認(rèn)的 English(US),輸入n不修改。
3、是否修改時(shí)區(qū)
改成 Asia/Shanghai,輸入y,開始修改。
修改完成后,即可進(jìn)入虛擬機(jī)的登陸界面。
五、登陸虛擬機(jī)
1、 登錄虛擬機(jī)
默認(rèn)的賬戶和密碼 hxeadm / HXEHana1。
2、 輸入(current)UNIX password
密碼還是 HXEHana1。
3、設(shè)置新的密碼
設(shè)置自己的新密碼。
密碼要求:至少8個(gè)字符、至少一個(gè)大寫字母、至少一個(gè)小寫字母、至少一個(gè)數(shù)字。
4 、設(shè)置新的 HANA database master 密碼
密碼可以和上面設(shè)置的hxeadm密碼一樣,也可以不一樣。
5、是否繼續(xù)配置
選擇y,等待配置完成完成即可。
六、初步使用hana
1、通過終端登陸hana
方法一:通過指定實(shí)例號(hào)。
# 指定實(shí)例號(hào)
hdbsql -i 90 -d SystemDB -u SYSTEM -p <password>
方法二:通過指定主機(jī)和端口。
hdbsql -n localhost:39013 -d SystemDB -u SYSTEM -p <password>
參數(shù)解釋
- 實(shí)例號(hào) 90 是固定值,安裝文件中就是HDB90 (路徑:/usr/sap/HXE/HDB90)
- -d SystemDB 是指定數(shù)據(jù)庫,不加此項(xiàng)也可以登錄,暫時(shí)沒有找到官方說明。帶有此項(xiàng)參數(shù)登錄,命令行顯示 hdbsql SYSTEMDB=> ,使用 \s 命令查詢狀態(tài)中會(huì)有一項(xiàng) dbname: SystemDB;如果不帶此項(xiàng)參數(shù)登錄,命令行就顯示 hdbsql > ,使用 \s 命令查詢狀態(tài)中不會(huì)有 dbname 這一項(xiàng)。
2、查看幫助命令
執(zhí)行 \h 查看幫助。
hdbsql SYSTEMDB=> \h
\? or \h[elp] show help on internal slash commands
\q[uit] quit HDBSQL
\c[onnect] -i <instance number>
-n <host>[:<port>]
-d <database name>
-u <user_name>
-p <password>
-U <user_store_key>
connecting to the database
\di[sconnect] disconnecting from the database
\mu[ltiline] [ON|OFF] toggle the multiline mode on or off
\a[utocommit] [ON|OFF] switch autocommit mode on or off
\m[ode] [INTERNAL|SAPR3] change SQL mode
\cl[ientinfo] [property=value[;...]] send client info
\ps [ON|OFF] toggle the usage of prepared statements on or off
\es [ON|OFF] toggle the escape output format on or off
\o[utput] <filename> send all query results to file, double quotes around filename are allowed
\i[nput] <filename> read input from file, double quotes around filename are allowed
\ie[ncoding] <encoding> force input encoding, one of "ASCII", "UCS2", "UTF8"
\hi[story] <size> number of commands to keep in history buffer (default: 50)
\p[rint] print out the current query buffer (only multiline mode)
\read <filename> read input from file, double quotes around filename are allowed
\r[eset] reset (clear) the query buffer (only multiline mode)
\e[dit] <filename> edit the query buffer (or file) with external editor (only multiline mode)
\g[o] send query buffer to server and print out the results (only multiline mode)
; send query buffer to server and print out the results (only multiline mode)
\al[ign] [ON|OFF] toggle the aligned output on or off
\pa[ger] [ON|OFF] toggle page by page scroll output on or off
\f[ieldsep] <separator> use <separator> as the field separator
\qto <seconds>
\querytimeout <seconds> set the query timeout for executed commands to <seconds>
\s[tatus] print out host, database, user etc.
\dc [PATTERN] list columns
\de [PATTERN] list indices
\dp [PATTERN] list procedures
\ds [NAME] list schemas
\dt [PATTERN] list tables
\du [NAME] list users
\dv [PATTERN] list views
[PATTERN] = [OWNER.][OBJECT NAME] eg. <username>.%A%
\vd <variable name> <value> Define a SQL Script Variable <variable name> to be replaced with <value>
\vu <variable name> <value> Undefine a previously defined SQL Script Variable <variable name>
\vl list all SQL Script variables that have been defined
\vc clear all SQL Script variables that have been defined
\ve ON|OFF set SQL Script variable escaping with \ on or off
\vs ON|OFF turn SQL Script variable replacement on or off
\vp ON|OFF turn SQL Script variable prompting on or off when undefined variables are encountered
hdbsql SYSTEMDB=>
3、官方命令示例
系統(tǒng)是數(shù)據(jù)庫超級(jí)用戶,一般不用于業(yè)務(wù)的生產(chǎn)活動(dòng)。為了提高安全性,您可以創(chuàng)建其他數(shù)據(jù)庫用戶,只需他們所需的任務(wù)特權(quán)(例如用戶管理),然后停用 SYSTEM 用戶。
(1)在終端中登錄hxeadm用戶。
sudo su -l hxeadm
(2)創(chuàng)建一個(gè)擁有用戶管理權(quán)限的新用戶。
# 創(chuàng)建用戶
hdbsql -i 90 -d SystemDB -u SYSTEM -p "<SYSTEM-password>" "CREATE USER <admin-username> PASSWORD <admin-password> NO FORCE_FIRST_PASSWORD_CHANGE;"
(3)使用新用戶去停用SYSTEM用戶
hdbsql -i 90 -d SystemDB -u <admin-username> -p "<admin-password>" "ALTER USER SYSTEM DEACTIVATE USER NOW;"
(4)解除SYSTEM用戶的停用
hdbsql -i 90 -d SystemDB -u <admin-username> -p "<admin-password>" "ALTER USER SYSTEM ACTIVATE USER NOW;"