在 SAP 的 SAP HANA 架構裡,
你看到的:
- SAP System Database
- SAP Tenant Database(你打成 temant,正確是 tenant)
這是 HANA MDC(Multitenant Database Container)多租戶架構 的概念。
可以理解成:
| 層級 | 功能 |
|---|---|
| System Database | 管理整個 HANA 主機 |
| Tenant Database | 真正放 SAP ERP / BW / S4 資料的資料庫 |
一、先講以前的 HANA(Single Container)
早期 HANA:
HANA Server
└─ Database
一台 HANA Server 只有一個 Database。
問題:
- 不容易隔離
- 無法多系統共存
- 備份管理麻煩
- 升級不方便
所以後來 SAP 推出:
二、MDC 架構(Multi-tenant)
現在變成:
HANA Server
├─ System Database
├─ Tenant DB1
├─ Tenant DB2
└─ Tenant DB3
三、System Database 是什麼?
System Database:
不是拿來跑 ERP 的。
它是:
「HANA 的總管理中心」
功能:
- 管理 Tenant DB
- 建立 Tenant
- 啟動/停止 Tenant
- 資源分配
- Monitoring
- Landscape 管理
- Backup 管理
- License 管理
像:
CREATE DATABASE ERP1 SYSTEM USER PASSWORD "xxxx";
這種就是在 System DB 執行。
可以想成:
像 VMware ESXi:
| VMware | HANA |
|---|---|
| ESXi Host | System Database |
| VM | Tenant Database |
System DB 管理下面很多 Tenant。
四、Tenant Database 是什麼?
Tenant DB:
才是真正的業務資料庫。
例如:
- SAP ECC
- SAP BW
- SAP S/4HANA
資料都在這裡。
包含:
- Tables
- Users
- Schemas
- Stored Procedures
- Business Data
五、實際例子
例如:
HANA 主機
├─ SYSTEMDB
├─ ECCPRD
├─ BWPRD
└─ DEV
意思:
| DB 名稱 | 用途 |
|---|---|
| SYSTEMDB | 管理用 |
| ECCPRD | ERP 正式機 |
| BWPRD | BI 系統 |
| DEV | 開發機 |
六、連線差別
1. 連 SYSTEMDB
通常:
SYSTEMDB
用途:
- DBA 管理
- 建 Tenant
- 看整體狀態
2. 連 Tenant DB
例如:
ECCPRD
用途:
- ABAP
- SAP ERP
- 查資料
- 跑程式
大部分 SAP User 都是連 Tenant。
七、Port 也不同
例如:
| DB | Port |
|---|---|
| SYSTEMDB | 30013 |
| Tenant DB | 30015 |
HANA 的 Port 規則通常:
3<instance number><service>
例如 Instance 00:
30013
30015
八、SAP HANA Studio 看到的
在 SAP HANA Studio 或 HANA Cockpit:
你會看到:
SYSTEMDB
└─ 管理整體
TENANT:
├─ ERP
├─ BW
└─ CRM
九、為什麼 SAP 要這樣設計?
因為企業需求:
1. 一台 HANA 跑很多系統
例如:
- ERP
- BW
- CRM
- DEV
共用硬體。
2. 隔離性
Tenant A 壞掉:
不一定影響 Tenant B。
3. 備份獨立
可以:
- 單獨備份 Tenant
- 單獨還原 Tenant
4. 安全性
Tenant 之間:
- User 不共通
- Schema 不共通
- Data 不共通
像獨立 DB。
十、你現在最容易搞混的地方
很多新人會以為:
SYSTEMDB = SAP ERP Database
其實:
❌ 不是
真正 ERP 資料:
在 Tenant DB。
十一、你如果是 BASIS / DBA 要知道的重點
你最近在學 SAP BASIS,這個觀念很重要:
SYSTEMDB 做:
- Landscape 管理
- Tenant 管理
- License
- Monitoring
- Backup configuration
Tenant DB 做:
- ERP 資料
- User
- Schema
- SQL
- Performance tuning
十二、你可以這樣記
一句話:
System DB 管 HANA 本身
Tenant DB 放 SAP 系統資料
或者:
System DB = 管理者
Tenant DB = 工作區
這樣就比較不會亂掉。