dminit使用
- 1 功能簡介
- 2 使用 dminit
-
- 文法:
- 例:
- 3 檢視 dminit 參數
- 4 dminit參數詳解
- 5 dminit 進階主題
-
- 5.1 初始化單機資料庫
- 5.2 初始化 DSC 叢集的資料庫
1 功能簡介
簡介:dminit 是 DM 資料庫初始化工具。用來建立初始資料庫。可以設定各種參數。
位置:安裝目錄的/bin 目錄下。
2 使用 dminit
dminit 工具需要從指令行啟動。找到 dminit 所在安裝目錄/bin,輸入 dminit 和參
數後回車。
文法:
dminit KEYWORD=value { KEYWORD=value }
KEYWORD:dminit 參數關鍵字。多個參數之間排列順序無影響,參數之間使用空格間隔。
value:參數取值。
例:
初始化一個資料庫,放在/home/test/dmdbms 目錄下,資料頁 PAGE_SIZE 大
小為 16K。
./dminit PATH=/home/test/dmdbms PAGE_SIZE=16
如果建立成功,則螢幕顯示如下:
initdb V7.1.5.22-Build(2015.11.17-62910trunc)
db version: 0x70009
createdm database success. 2015-12-21 15:46:27
此時在/home/test/dmdbms 目錄下會出現一個 DAMENG 檔案夾,内容包含初始資料庫 DAMENG 的相關檔案和 DM 資料庫啟動所必須的配置檔案 dm.ini。
3 檢視 dminit 參數
dminit 使用較為靈活,參數較多。使用者可使用“dminit HELP”快速檢視各參數。
dminit HELP
INI_FILE 初始化檔案 dm.ini 存放的路徑
PATH 初始資料庫存放的路徑
CTL_PATH 控制檔案路徑
LOG_PATH 日志檔案路徑
EXTENT_SIZE 資料檔案使用的簇大小(16),可選值:16、32,機關:頁
PAGE_SIZE 資料頁大小(8),可選值:4、8、16、32,機關:K
LOG_SIZE 日志檔案大小(256),機關為:M,範圍為:64M ~ 2G
CASE_SENSITIVE 大小敏感(Y),可選值:Y/N,1/0
CHARSET/UNICODE_FLAG 字元集(0),可選值:0[GB18030],1[UTF-8],2[EUC-KR]
LENGTH_IN_CHAR VARCHAR 類型長度是否以字元為機關(N),可選值:Y/N,1/0
SYSDBA_PWD 設定 SYSDBA 密碼(SYSDBA),密碼長度為 9 到 48
SYSAUDITOR_PWD 設定 SYSAUDITOR 密碼(SYSAUDITOR),密碼長度為 9 到 48
DB_NAME 資料庫名(DAMENG)
INSTANCE_NAME 執行個體名(DMSERVER)
PORT_NUM 監聽端口号(5236)
TIME_ZONE 設定時區(+08:00)
PAGE_CHECK 頁檢查模式(0),可選值:0/1/2
EXTERNAL_CIPHER_NAME 設定預設加密算法
EXTERNAL_HASH_NAME 設定預設 HASH 算法
EXTERNAL_CRYPTO_NAME 設定根密鑰加密引擎
RLOG_ENC_FLAG 設定日志檔案是否加密(N),可選值:Y/N,1/0
USBKEY_PIN 設定 USBKEY PIN
PAGE_ENC_SLICE_SIZE 設定頁加密分片大小,可選值:512、4096,機關:Byte
ENCRYPT_NAME 設定全庫加密算法
BLANK_PAD_MODE 設定空格填充模式(0),可選值:0/1
SYSTEM_MIRROR_PATH SYSTEM 資料檔案鏡像路徑
MAIN_MIRROR_PATH MAIN 資料檔案鏡像
ROLL_MIRROR_PATH 復原檔案鏡像路徑
MAL_FLAG 初始化時設定 dm.ini 中的 MAL_INI(0)
ARCH_FLAG 初始化時設定 dm.ini 中的 ARCH_INI(0)
MPP_FLAG Mpp 系統内的庫初始化時設定 dm.ini 中的 mpp_ini(0)
CONTROL 初始化配置檔案(配置檔案格式見系統管理者手冊)
AUTO_OVERWRITE 是否覆寫所有同名檔案(0) 0:不覆寫 1:部分覆寫 2:完全覆寫
USE_NEW_HASH 是否使用改進的字元類型 HASH 算法(1)
DCP_MODE 是否是 DCP 代理模式(0)
DCP_PORT_NUM DCP 代理模式下管理端口
ELOG_PATH 指定初始化過程中生成的日志檔案所在路徑
SYSSSO_PWD 設定 SYSSSO 密碼(SYSSSO),密碼長度為 9 到 48
SYSDBO_PWD 設定 SYSDBO 密碼(SYSDBO),密碼長度為 9 到 48
PRIV_FLAG 設定權限标記,可選值:0、1
AP_PORT_NUM ECS 模式下 AP 協同工作的監聽端口
HELP 列印幫助資訊
4 dminit參數詳解
4.1 INI_FILE
初始化檔案 dm.ini 存放的路徑,指定一個已經存在的 dm.ini 檔案所在的絕對路徑。
作用是将現有 INI 檔案,拷貝到新庫,作為新庫的 INI 檔案直接使用。檔案路徑長度最大為 256 個字元。可選參數。
如果不指定該參數,那麼 dminit 工具會直接生成一個新的 dm.ini 檔案。如果指定了該參數但指定的 INI 檔案不存在,那麼 dminit 工具會報錯無效的 INI 檔案,同時生成一個新的 dm.ini 檔案。
例如 ,指定現有 /home/test/dmdbms 庫中 dm.ini , 給新建立的/home/dest/dmdbms 庫使用。
./dminit INI_FILE=/home/test/dmdbms/DAMENG/dm.ini PATH=/home/dest/dmdbms
4.2 PATH
初始資料庫存放的路徑。預設路徑為 dminit.exe 目前所在的工作目錄。檔案路徑長度最大為 256 個字元。可選參數。
4.3 CTL_PATH
初始資料庫控制檔案的路徑,預設值 Windows 下為 PATH\DB_NAME\dm.ctl,Linux
下為/PATH/DM_NAME/dm.ctl(PATH 和 DB_NAME 表示各自設定的值)。檔案路徑長度最大為 256 個字元。可選參數。
4.4 LOG_PATH
初始資料庫日志檔案的路徑。預設值 Windows 下為 PATH\DB_NAME\DB_NAME01.log
和 PATH\DB_NAME\DB_NAME02.log,Linux 下為 PATH/DB_NAME/DB_NAME01.log 和PATH/DB_NAME/DB_NAME02.log(PATH 和 DB_NAME 表示各自設定的值)。檔案路徑長度最大為 256 個字元。日志檔案路徑個數不能超過 10 個。可選參數。
修改日志檔案大小可以使用 LOG_SIZE 參數。
例如,建立一個資料庫,包含兩個日志檔案 DATA01.log 和 DATA02.log。
./dminit PATH=/home/dest/dmdbms LOG_PATH=/home/dest/dmdbms/DATA01.log
LOG_PATH=/home/dest/dmdbms/DATA02.log
4.5 EXTENT_SIZE
資料檔案使用的簇大小,即每次配置設定新的段空間時連續的頁數。取值:16、32。機關:
頁數。預設值 16。可選參數。
4.6 PAGE_SIZE
資料檔案使用的頁大小。取值:4、8、16、32,機關:K。預設值為 8。可選參數。
選擇的頁大小越大,則 DM 支援的元組長度也越大,但同時空間使用率可能下降。
4.7 LOG_SIZE
重做日志檔案大小。取值:64~2048 之間的整數,機關 M。預設值為 256。可選參數。
每個 DM 資料庫執行個體至少有兩個重做日志檔案,循環使用,LOG_SIZE 設定每個重做日
志檔案的大小。
修改日志檔案路徑可以使用 LOG_PATH 參數。
4.8 CASE_SENSITIVE
辨別符大小寫敏感。當大小寫敏感時,小寫的辨別符應用""括起,否則被系統自動轉換
為大寫;當大小寫不敏感時,系統不會轉換辨別符的大小寫,在辨別符比較時也不能區分大小寫。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。預設值為 Y。可選參數。
4.9 CHARSET/UNICODE_FLAG
字元集選項。取值:0 代表 GB18030,1 代表 UTF-8,2 代表韓文字元集 EUC-KR。默
認為 0。可選參數。
4.10 LENGTH_IN_CHAR
VARCHAR 類型對象的長度是否以字元為機關。取值:1、Y 表示是,0、N 表示否。預設值為 0。可選參數。
1 或 Y:是,所有 VARCHAR 類型對象的長度以字元為機關。這種情況下,定義長度并非真正按照字元長度調整,而是将存儲長度值按照理論字元長度進行放大。是以會出現實際可插入字元數超過定義長度的情況,這種情況也是允許的。同時,存儲的位元組長度 8188 上限仍然不變,也就是說,即使定義列長度為 8188 字元,其實際能插入的字元串占用總位元組長度仍然不能超過 8188;
0 或 N:否,所有 VARCHAR 類型對象的長度以位元組為機關。
4.11 SYSDBA_PWD
初始化時設定 SYSDBA 的密碼,預設為 SYSDBA。密碼長度為 9~48 個字元。可選參數。
4.12 SYSAUDITOR_PWD
初始化時設定 SYSAUDITOR 的密碼,預設為 SYSAUDITOR。密碼長度為 9~48 個字元。可選參數。
4.13 DB_NAME
初始化資料庫名稱,預設為 DAMENG。名稱為字元串,長度不能超過 128 個字元。可選參數。WINDOWS 下檔案名不能包含字元/ \ * : ? < > " | ,LINUX 下檔案名不能包含字元/\ : < > " |。
4.14 INSTANCE_NAME
初始化資料庫執行個體名稱,預設為 DMSERVER。名稱為字元串,長度不能超過 128 個字元。可選參數。
4.15 PORT_NUM
初始化時設定 dm.ini 中的監聽端口号,預設 5236。取值:1024~65534 之間的整數。
可選參數。
4.16 TIME_ZONE
初始化時區,預設為東八區(+08:00)。格式為[正負号]小時[:分鐘],其中,正負号
和分鐘為可選項。時區設定範圍為:-12:59~+14:00。可選參數。
4.17 PAGE_CHECK
是否啟用頁面内容校驗模式。取值為:0:不啟用;1:簡單校驗;2:嚴格校驗(使用
CRC16 算法生成校驗碼)。預設 0。可選參數。
PAGE_CHECK 主要用來和資料庫鏡像一起使用。當 PAGE_CHECK 為 1 或 2 時,表示開啟鏡像系統,預設值 0 不開啟。開啟鏡像後,使用者還需要對指定的資料檔案或復原檔案建立對應的鏡像檔案,涉及到的建庫參數有 SYSTEM_MIRROR_PATH、MAIN_MIRROR_PATH 和ROLL_MIRROR_PATH,下文會詳細介紹。
鏡像系統的運作流程:當系統需要把資料寫入資料檔案(或復原檔案)時,在寫入以後
如果資料檔案(或復原檔案)建立了鏡像檔案,則需要把資料内容同時寫入到鏡像檔案中。當系統需要從資料檔案(或復原檔案)中讀取資料時,如果資料檔案(或復原檔案)中的校驗資訊與通過頁内容生成的校驗資訊不一緻則認為資料頁已經損壞,那麼系統會自動讀取鏡像檔案中的資料繼續提供服務。
4.18 EXTERNAL_CIPHER_NAME、EXTERNAL_HASH_NAME、
EXTERNAL_CRYPTO_NAME
第三方加密時使用。預設情況下,使用DM内部預設算法。
EXTERNAL_CIPHER_NAME:設定預設加密算法。備份、還原、建表等凡是用到加密算法,但是加密算法預設的情況下,如果使用者指定了第三方加密,則用此算法。密碼為字元串,不能超過32個字元。可選參數。
EXTERNAL_HASH_NAME:設定預設HASH算法。用來生成加密資料的校驗碼。算法為字元串,不能超過64個字元。可選參數。
EXTERNAL_CRYPTO_NAME:設定伺服器根密鑰加密引擎。加密引擎提供
EXTERNAL_CIPHER_NAME和EXTERNAL_HASH_NAME算法的動态庫。加密引擎的使用,詳細請參考《DM8安全管理》一書加密引擎章節。密鑰為字元串,不能超過256個字元。可選參數。
4.19 USBKEY_PIN
USBKEY PIN 是登入第三方裝置 UKEY 的密碼。供使用 UKEY 的使用者使用。UKEY 用于伺服器端存儲加密根密鑰的證書,預設使用磁盤實體檔案 dm_service.prikey 存儲根密鑰密鑰的密文。
在 DM 的加密機制中,增加移動 UKEY 的使用,更能確定 SVR_KEY 的安全性,資料安全性也得到進一步提升。
USBKEY PIN 為字元串,不能超過 48 個位元組。可選參數。
4.20 PAGE_ENC_SLICE_SIZE
使用資料頁按扇區大小進行分片加解密時,指定資料頁加解密的分片大小。可配置大小
為 512 或 4096,預設值為 0,表示不按分片進行加解密。
4.21 ENCRYPT_NAME
指定全庫加密算法,加密密鑰由 DM 自動生成。不指定時,不進行全庫加密。
全庫加密操作流程:
第一步,在建立資料庫的過程中,通過參數 ENCRYPT_NAME 的設定,使用 DM 内部支援的加密算法或是第三方的加密算法對資料庫檔案進行加解密。
第二步,在伺服器啟動及運作的過程中,需要對處理的所有資料頁通過指定的加密算法和 DM 自動生成的密鑰進行加解密處理,即如果資料頁讀入緩存,需要進行解密後才能使用,在緩存中的資料頁進行刷盤時,需要對資料頁進行加密後存儲到資料檔案中。
ENCRYPT_NAME:全庫加密使用的算法名。算法可以是 DM 内部支援的加密算法,或者是第三方的加密算法,其中 DM 支援的加密算法可通過查詢動态視圖 V$CIPHERS 得到。算法名為字元串,不能超過 128 個位元組。可選參數。
4.22 RLOG_ENC_FLAG
設定聯機日志檔案和歸檔日志檔案是否加密。取值 Y/N,y/n,1/0,預設 N。可選參數。如果使用第三方加密,則預設值算法為 EXTERNAL_CIPHER_NAME。否則使用
AES256_CFB。
4.23 BLANK_PAD_MODE
設定字元串比較時,結尾空格填充模式是否相容 ORACLE。取值:1 相容;0 不相容。
預設為 0。可選參數。
4.24 SYSTEM_MIRROR_PATH
指定 system.dbf 檔案的鏡像絕對路徑。預設為空。可選參數。
當 PAGE_CHECK 為 1 或 2 時,才需要指定。
4.25 MAIN_MIRROR_PATH
指定 main.dbf 檔案的鏡像絕對路徑。預設為空。可選參數。
當 PAGE_CHECK 為 1 或 2 時,才需要指定。
4.26 ROLL_MIRROR_PATH
指定 roll.dbf 檔案的鏡像絕對路徑。預設為空。可選參數。
當 PAGE_CHECK 為 1 或 2 時,才需要指定。
4.27 MAL_FLAG
初始化時設定 dm.ini 中的 MAL_INI 值。取值 0 或 1。預設值為 0。可選參數。
1 表示 MAL_INI=1,啟動 MAL 系統。同時,需要配置 dmmal.ini 檔案。
0 表示 MAL_INI=0,不啟用 MAL 系統。
4.28 ARCH_FLAG
初始化時設定 dm.ini 中的 ARCH_INI 值。取值 0 或 1。預設值為 0。可選參數。
1 表示 ARCH_INI=1,啟用歸檔。同時,需要配置 dmarch.ini 檔案。
0 表示 ARCH_INI=0,不啟用歸檔。
4.29 MPP_FLAG
MPP 系統内的庫初始化時設定 dm.ini 中的 MPP_INI。取值 0 或 1。預設值為 0。可選
參數。
1 表示 MPP_INI=1,啟用 MPP 系統。
0 表示 MPP_INI=0,不啟用 MPP 系統。
4.30 CONTROL
指定初始化配置檔案路徑。可選參數。
CONTROL 參數隻能單獨使用,和其他參數一起使用會報錯。
CONTROL 參數主要用于将資料檔案建立在 ASM 或 DSC 環境中。CONTROL 參數和初始化配置檔案,詳細資訊見下一章節。
4.31 AUTO_OVERWRITE
是否覆寫建庫目錄下所有同名檔案。取值: 0 不覆寫,表示建庫目錄下如果沒有同名文
件,直接建立。如果遇到同名檔案時,螢幕提示是否需要覆寫,由使用者手動輸入是與否(y/n,1/0);1 部分覆寫,表示覆寫建庫目錄下所有同名檔案;2 完全覆寫,表示先清理掉建庫目錄下所有檔案再重新建立。預設值為 0。可選參數。
4.32 USE_NEW_HASH
是否使用改進的字元類型 HASH 算法。字元類型在計算 HASH 值時所采用的 HASH 算法類别。取值:0:原始 HASH 算法;1:改進的 HASH 算法。預設值為 1。可選參數。如果備份檔案和資料庫檔案中該參數值不一緻,則還原時會報錯。
4.33 DCP_MODE
是否 DCP 代理模式。取值:1 是;0 否。預設值為 0。可選參數。
4.34 DCP_PORT_NUM
DCP 代理模式下管理監聽端口号,預設 5237。取值範圍:1024~65534。當 DCP_MODE=1時,該參數才有效。
4.35 SYSSSO_PWD
初始化時設定資料庫安全員 SYSSSO 的密碼,預設為 SYSSSO。密碼為字元串,長度在6 到 48 個字元之間。可選參數。僅在安全版本下可見和可設定。
4.36 SYSDBO_PWD
初始化時設定資料庫操作員 SYSDBO 的密碼,預設為 SYSDBO。密碼為字元串,長度在6 到 48 個字元之間。可選參數。僅在安全版本且 PRIV_FLAG=1 時,才有效。
4.37 PRIV_FLAG
是否是四權分立。取值:1 是,0 否。預設值為 0。可選參數。
為了保證資料庫系統的安全性,DM 資料庫采用“三權分立”或“四權分立”的安全機制,
“三權分立”時系統内置三種系統管理者,包括資料庫管理者、資料庫安全員和資料庫審計員,“四權分立”時新增了一類使用者,稱為資料庫對象操作員。它們各司其職,互相制約,有效地避免了将所有權限集中于一人的風險,保證了系統的安全性。預設情況下為“三權分立”。僅在安全版本下可見和可設定。
4.38 ELOG_PATH
指定初始化過程中生成的日志檔案所在路徑。可選參數。
4.39 HELP
顯示幫助資訊。可選參數。
5 dminit 進階主題
CONTROL 參數是 dminit 工具的進階功能,用于初始化資料庫時指定初始化配置檔案。初始化配置檔案是一個儲存了各資料檔案路徑和大小設定、所有 dminit 工具的指令行參數設定等資訊的文本,名稱由使用者自己選取,例如:dminit.ini、abc.txt、dminit.ctl
等。各資料檔案路徑和大小設定相關參數詳見表 5.1 和表 5.2;dminit 工具的指令行參數詳見第 4 章。
dminit 工具使用 CONTROL 參數,就不能再指定其他參數,CONTROL 參數隻能單獨使用。
DM 既支援初始化單機資料庫,又支援初始化 DSC 叢集的資料庫。操作非常簡單,隻要在使用 dminit 工具建立資料庫的時候,使用 CONTROL 參數指定初始化配置檔案即可。
例如:初始化配置檔案為 dminit.ini。
./dminit CONTROL=/home/data/dminit.ini
初始化配置檔案(本章統一命名為 dminit.ini)内容如何書寫,單機和 DSC 環境下
略有不同,下面分别詳細介紹
5.1 初始化單機資料庫
DM 支援初始化資料庫到一個普通機器上或是一個共享存儲上。本節以 DMASM 檔案系統為例,初始化單機資料庫。
涉及路徑和檔案大小的參數配置,詳細請參考下表。
例如,在 ASM 檔案系統上建立資料庫。參數 system_path、main、system、roll、
ctl_path、log01、log02 都指定了 ASM 檔案系統。以+開頭的就是 ASM 檔案系統的路徑,例如+DMDATA/data。單機配置檔案(命名 dminit.ini)書寫如下:
[DAMENG]
system_path = +DMDATA/data
main = +DMDATA/data/dsc/main.dbf
main_size = 2509
system = +DMDATA/data/dsc/system.dbf
system_size = 2509
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 2509
ctl_path = +DMDATA/data/dsc/dm.ctl
log_size = 1024
log_path = +DMLOG/log/log01.log
log_path = +DMLOG/log/log02.log
auto_overwrite =2
5.2 初始化 DSC 叢集的資料庫
DM DSC 是一個單資料庫、多執行個體的叢集系統,資料庫部署在共享存儲上,供所有節點
通路,具有高可用性、高性能、低成本等特性。DM 支援在 DSC 環境下建立資料庫。
DSC 的初始化庫配置檔案 dminit.ini 中涉及到的參數,是在單機 dminit.ini 基礎上,增加了 DSC 節點資訊。同時,把單機 dminit.ini 中 node_instance 參數去掉,log_path 參數下放到每個 DSC 節點裡。詳細的節點資訊請參考下表:
例如,初始化 DSC 叢集的資料庫。兩節點的 DSC 叢集是搭建在 ASM 檔案系統上。DSC環境初始化配置檔案(命名 dminit.ini)書寫如下:
db_name = dsc
system_path= +DMDATA/data
system= +DMDATA/data/dsc/system.dbf
system_size= 128
roll= +DMDATA/data/dsc/roll.dbf
roll_size= 128
main= +DMDATA/data/dsc/main.dbf
main_size= 128
ctl_path= +DMDATA/data/dsc/dm.ctl
ctl_size= 8
log_size= 256
dcr_path= /dev/raw/raw1 #dcr 磁盤路徑,目前不支援 asm,隻能是裸裝置
dcr_seqno= 0
auto_overwrite= 1
[DSC0] #inst_name 跟 dmdcr_cfg.ini 中 DB 類型 group 中 DCR_EP_NAME 對應
config_path= /home/data/dsc0_config
port_num= 5236
mal_host= 10.0.2.101
mal_port= 9340
log_path= +DMLOG/log/dsc0_log01.log
log_path= +DMLOG/log/dsc0_log02.log
[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 類型 group 中 DCR_EP_NAME 對應
config_path= /home/data/dsc1_config
port_num= 5237
mal_host= 10.0.2.102
mal_port= 9341
log_path= +DMLOG/log/dsc1_log01.log
log_path= +DMLOG/log/dsc1_log02.log