達夢8靜默安裝
一、環境準備
[root@dameng1 /]# mkdir dm8
[root@dameng1 /]# mkdir soft
[root@dameng1 soft]# chmod -R 755 /soft
[root@dameng1 soft]# chmod -R 755 /dm8
作業系統:Centos7
安裝版本:dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso
二、安裝
說明:可以用dmdba使用者安裝,也可以用root使用者安裝。dmdba使用者安裝的話,是無法建立資料庫服務的,因此CREATE_DB_SERVICE一定要設定為N,不然會報錯。我們一般使用root使用者安裝。
1、安裝命令:
./DMInstall.bin -q /soft/auto_install.xml
注意:雖然我DMInstall.bin和auto_install.xml在同一目錄下,但是安裝的時候還是需要指定auto_install.xml的全路徑/soft/auto_install.xml,不然會報錯。
2、auto_install.xml檔案
<?xml version="1.0"?> <DATABASE> <!--安裝資料庫的語言配置,安裝中文版配置 ZH,英文版配置 EN,不區分大小寫。不允許為空。--> <LANGUAGE>en</LANGUAGE> <!--安裝程式的時區配置,預設值為+08:00,範圍:-12:59 ~ +14:00 --> <TIME_ZONE>+08:00</TIME_ZONE> <!-- key 檔案路徑 --> <KEY></KEY> <!--安裝程式元件型別,取值 0、1、2,0 表示安裝全部,1 表示安裝伺服器,2 表示安裝客戶端。預設為 0。 --> <INSTALL_TYPE>0</INSTALL_TYPE> <!--安裝路徑,不允許為空。--> <INSTALL_PATH>/dm8/dmdbms</INSTALL_PATH> <!--是否初始化庫,取值 Y/N、y/n,不允許為空。 --> <INIT_DB>Y</INIT_DB> <!--資料庫例項引數 --> <DB_PARAMS> <!--初始資料庫存放的路徑,不允許為空 --> <PATH>/dm8/dmdbms/data</PATH> <!--初始化資料庫名字,預設是 DAMENG,不超過 128 個字元 --> <DB_NAME>DAMENG</DB_NAME> <!--初始化資料庫例項名字,預設是 DMSERVER,不超過 128 個字元 --> <INSTANCE_NAME>DMSERVER</INSTANCE_NAME> <!--初始化時設定 dm.ini 中的 PORT_NUM,預設 5236,取值範圍:1024~65534 --> <PORT_NUM>5236</PORT_NUM> <!--初始資料庫控制檔案的路徑,檔案路徑長度最大為 256 --> <CTL_PATH></CTL_PATH> <!--初始資料庫日誌檔案的路徑,檔案路徑長度最大為 256 --> <LOG_PATHS> <LOG_PATH>/dm8/dmdbms/data/dm01.log</LOG_PATH> <LOG_PATH>/dm8/dmdbms/data/dm02.log</LOG_PATH> </LOG_PATHS> <!--資料檔案使用的簇大小,只能是 16 頁或 32 頁之一,預設使用 16 頁 --> <EXTENT_SIZE>16</EXTENT_SIZE> <!--資料檔案使用的頁大小,預設使用 8K,只能是 4K、8K、16K 或 32K 之一 --> <PAGE_SIZE>8</PAGE_SIZE> <!--日誌檔案使用的簇大小,預設是 256,取值範圍 64 和 2048 之間的整數 --> <LOG_SIZE>256</LOG_SIZE> <!--識別符號大小寫敏感,預設值為 Y。只能是’Y’, ’y’, ’N’, ’n’, ’1’, ’0’之一 --> <CASE_SENSITIVE>Y</CASE_SENSITIVE> <!--字符集選項,預設值為 0。0 代表 GB18030,1 代表 UTF-8,2 代表韓文字符集 EUC-KR--> <CHARSET>0</CHARSET> <!--設定為 1 時,所有 VARCHAR 型別物件的長度以字元為單位,否則以位元組為單位。預設值為 0。 --> <LENGTH_IN_CHAR>0</LENGTH_IN_CHAR> <!--字元型別在計算 HASH 值時所採用的 HASH 演算法類別。0:原始 HASH 演算法;1:改進的HASH 演算法。預設值為 1。 --> <USE_NEW_HASH>1</USE_NEW_HASH> <!--初始化時設定 SYSDBA 的密碼,預設為 SYSDBA,長度在 9 到 48 個字元之間 --> <SYSDBA_PWD></SYSDBA_PWD> <!--初始化時設定 SYSAUDITOR 的密碼,預設為 SYSAUDITOR,長度在 9 到 48 個字元之間 --> <SYSAUDITOR_PWD></SYSAUDITOR_PWD> <!--初始化時設定 SYSSSO 的密碼,預設為 SYSSSO,長度在 9 到 48 個字元之間,僅在安全版本下可見和可設定 --> <SYSSSO_PWD></SYSSSO_PWD> <!--初始化時設定 SYSDBO 的密碼,預設為 SYSDBO,長度在 9 到 48 個字元之間,僅在安全版本下可見和可設定 --> <SYSDBO_PWD></SYSDBO_PWD> <!--初始化時區,預設是東八區。格式為:正負號小時:分鐘,範圍:-12:59 ~ +14:00--> <TIME_ZONE>+08:00</TIME_ZONE> <!--是否啟用頁面內容校驗,0:不啟用;1:簡單校驗;2:嚴格校驗(使用 CRC16 演算法生成校驗碼)。預設 0 --> <PAGE_CHECK>0</PAGE_CHECK> <!--設定預設加密演算法,不超過 128 個字元 --> <EXTERNAL_CIPHER_NAME></EXTERNAL_CIPHER_NAME> <!--設定預設 HASH 演算法,不超過 128 個字元 --> <EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME> <!--設定根金鑰加密引擎,不超過 128 個字元 --> <EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME> <!--全庫加密金鑰使用的演算法名。演算法可以是 DM 內部支援的加密演算法,或者是第三方的加密演算法。預設使用"AES256_ECB"演算法加密,最長為 128 個位元組 --> <ENCRYPT_NAME></ENCRYPT_NAME> <!--指定日誌檔案是否加密。預設值 N。取值 Y/N,y/n,1/0 --> <RLOG_ENC_FLAG>N</RLOG_ENC_FLAG> <!--用於加密伺服器根金鑰,最長為 48 個位元組 --> <USBKEY_PIN></USBKEY_PIN> <!--設定空格填充模式,取值 0 或 1,預設為 0 --> <BLANK_PAD_MODE>0</BLANK_PAD_MODE> <!--指定 system.dbf 檔案的映象路徑,預設為空 --> <SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH> <!--指定 main.dbf 檔案的映象路徑,預設為空 --> <MAIN_MIRROR_PATH></MAIN_MIRROR_PATH> <!--指定 roll.dbf 檔案的映象路徑,預設為空 --> <ROLL_MIRROR_PATH></ROLL_MIRROR_PATH> <!--是否是四權分立,預設值為 0(不使用)。僅在安全版本下可見和可設定。只能是 0 或 1--> <PRIV_FLAG>0</PRIV_FLAG> <!--指定初始化過程中生成的日誌檔案所在路徑。合法的路徑,檔案路徑長度最大為 257(含結束符),不包括檔名--> <ELOG_PATH></ELOG_PATH> </DB_PARAMS> <!--是否建立資料庫例項的服務,值 Y/N y/n,不允許為空,不初始化資料庫將忽略此節點。非 root 使用者不能建立資料庫服務。 --> <CREATE_DB_SERVICE>Y</CREATE_DB_SERVICE> <!--是否啟動資料庫,值 Y/N y/n,不允許為空,不建立資料庫服務將忽略此節點。 --> <STARTUP_DB_SERVICE>Y</STARTUP_DB_SERVICE> </DATABASE>
3、執行安裝
[root@dameng1 soft]# ./DMInstall.bin -q /soft/auto_install.xml
Extract install files..........
2021-08-19 11:34:45
[INFO] Installing DM DBMS...
2021-08-19 11:34:45
[INFO] Installing BASE Module...
2021-08-19 11:35:15
[INFO] Installing SERVER Module...
2021-08-19 11:35:17
[INFO] Installing CLIENT Module...
2021-08-19 11:36:16
[INFO] Installing DRIVERS Module...
2021-08-19 11:36:24
[INFO] Installing MANUAL Module...
2021-08-19 11:36:27
[INFO] Installing SERVICE Module...
2021-08-19 11:36:31
[INFO] Move log file to log directory.
2021-08-19 11:36:32
[INFO] Change the power of installtion directory successfully.
2021-08-19 11:36:32
[INFO] Starting DmAPService service...
2021-08-19 11:36:34
[INFO] Start DmAPService service successfully.
2021-08-19 11:36:34
[INFO] Installed DM DBMS completely.
2021-08-19 11:36:38
[INFO] Creating database...
2021-08-19 11:36:42
[INFO] Create database completed.
2021-08-19 11:36:42
[INFO] Creating database service...
2021-08-19 11:36:42
[INFO] Create database service completed.
2021-08-19 11:36:42
[INFO] Starting the database service(DmServiceDMSERVER)...
2021-08-19 11:36:58
[INFO] Start the database service(DmServiceDMSERVER) success!
注意:
LANGUAGE預設值為zh,安裝時報如下錯:
原因是我作業系統是英文,xml檔案的LANGUAGE應該為en,如果作業系統是中文,則LANGUAGE=zh,LANGUAGE值不區分大小寫。
4、disql連線試試
三、注意點
1、這三個引數沒有預設值,並且是必填的,不填會報錯
<INSTALL_PATH>/dm8/dmdbms</INSTALL_PATH>
<INIT_DB>Y</INIT_DB>
<PATH>/dm8/dmdbms/data</PATH>
2、LOG_PATHS
我是這樣配置的:
<LOG_PATHS>
<LOG_PATH>/dm8/dmdbms/data/dm01.log</LOG_PATH>
<LOG_PATH>/dm8/dmdbms/data/dm02.log</LOG_PATH>
</LOG_PATHS>
其實可以不配置LOG_PATH,如下所示:
<LOG_PATHS>
<LOG_PATH> </LOG_PATH>
</LOG_PATHS>
不配置redo日誌路徑,會在資料庫安裝目錄下自動生成兩個和資料庫例項同名的日誌檔案。比如我資料庫例項名叫DAMENG,安裝在/dm8/dmdbms/data/目錄下,那麼會在/dm8/dmdbms/data/DAMENG下生成DAMENG01.log和DAMENG02.log這兩個redo日誌檔案。
redo日誌檔案數量大於等於2,如果想指定日誌檔案位置和名稱的話,一定要注意數量。
3、是否建立服務
CREATE_DB_SERVICE=Y會自動建立資料庫服務,比如是用root安裝才能建立,如果是用dmdba使用者安裝,CREATE_DB_SERVICE=Y的話會報錯。STARTUP_DB_SERVICE=Y的話會自動啟動資料庫服務,這樣可以驗證是否真的安裝成功。STARTUP_DB_SERVICE=Y的話,CREATE_DB_SERVICE必須也等於Y,如果CREATE_DB_SERVICE=N的話,並不會報錯,而是直接忽略CREATE_DB_SERVICE的配置。
4、服務啟動失敗
我在其他伺服器用root靜默安裝的時候,在最後一步用服務啟動報錯,其實資料庫安裝成功了,服務也成功建立了,進入bin目錄下./DmserviceDMSERVER start啟動成功,就是不支援systemctl start DmServiceDMSERVER。
解決方式如下:
vi /etc/selinux/config
修改SELINUX=disabled
修改完後需要重啟伺服器。
因為是內網伺服器,就不截圖了,我本地沒復現出來。
更多資訊請上達夢技術社群瞭解: https://eco.dameng.com