國產數據庫-達夢
- 一、環境詳情
- 二、Centos7 參數優化(所有節點)
- 三、創建用戶(所有節點)
- 四、開始安裝(所有節點)
- 五、服務注冊啟動
當前安裝:在指定版本環境下 測試,僅供參考
- 官網描述:
達夢數據守護集群軟件(DM Data Watch)是一種集成化的高可靠性解決方案,該方案基于數據庫REDO日志,不依賴于第三方軟件和存儲,用于解決由于硬件故障、自然災害等原因導致的數據庫服務長時間中斷問題,提供不間斷數據庫服務,可同時滿足用戶對數據安全性和高可用性的要求。數據守護包含的主要部件有:主數據庫、備數據庫、聯機REDO日志系統、本地REDO日志歸檔服務、實時REDO日志歸檔服務、REDO日志重做服務、MAL系統、守護進程和監視器。其中,守護進程和監視器是兩個獨立的工具,其他部件集成在DM8數據庫服務器DMSERVER中。- 實時監控:
達夢數據守護能夠提供主備機切換、備機接管、應用自動重連、自動同步歷史數據功能,通過監控工具DMWMON,可實時監控主、備數據庫的狀態和數據同步情況。
一、環境詳情
-
軟件版本
軟件 版本 下載地址 Centos 7 CentOS Linux release 7.9.2009 (Core) x86 清華鏡像站: link 達夢數據庫 dm8_20230418_x86_rh6_64.zip 官網: link -
節點分配
如有需要還可以多配置一個副監視器(node4),部署方式和node3一致節點 IP 角色 數據庫名 實例名 port mal inst_dw_port mal dw_port node1 192.168.162.221 主機 DM01 DMSERVER01 5236 45101 65101 node2 192.168.162.222 備機 DM01 DMSERVER02 5236 45101 65101 node3 192.168.162.223 主監視器
二、Centos7 參數優化(所有節點)
- 關閉防火墻
可以設置防火墻開放 5236 端口,或者直接關閉防火墻,這里選擇直接關閉。
- 關閉防火墻:
systemctl stop firewalld
- 禁止開機自啟:
systemctl disable firewalld
-
修改系統最大進程數和最大文件打開數
vim /etc/security/limits.conf修改以下內容: * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
-
修改進程數據限制
vim /etc/security/limits.d/90-nproc.conf 修改以下內容: * soft nproc 1024 * soft nproc 2048
查看優化信息
ulimit -a
三、創建用戶(所有節點)
-
登錄 root 創建 mss 用戶
groupadd mss useradd -m -d /home/mss mss -g mss passwd mss123456
-
創建目錄
登錄 mss 用戶# 創建安裝目錄 mkdir /home/mss/dm8 # 創建鏡像目錄 mkdir /home/mss/dm8/iso
四、開始安裝(所有節點)
-
上傳鏡像
上傳鏡像文件(dm8_20230418_x86_rh6_64.iso)到 /home/mss/dm8 下 -
掛載鏡像
切換 root 用戶mount /home/mss/dm8/dm8_20230418_x86_rh6_64.iso /home/mss/dm8/iso/ # 查看是否掛載 df -h
授權 mss 用戶目錄權限
chown -R mss:mss /home/mss
-
創建其它文件夾
切換 mss 用戶cd /home/mss/dm8 mkdir install
-
執行安裝
cd /home/mss/dm8/iso ./DMInstall.bin -i
選擇典型安裝-1,安裝路徑 /home/mss/dm8/install
安裝完成提示:
數據庫安裝完成后,需要切換至 root 用戶執行上圖中的命令 root_installer.sh 創建 DmAPService,否則會影響數據庫備份。
su root cd /home/mss/dm8/install/script/root ./root_installer.sh
-
創建實例
切換 mss 用戶
注: 關于這些參數說明可進入安裝目錄的bin下,執行./dminit help
case_sensitive :字符串比較大小寫敏感,默認開啟1(區分大小寫),設置為 0 則不區分大小寫在 node1 創建實例一:
cd /home/mss/dm8/install/bin ./dminit path=/home/mss/dm8/data DB_NAME=DM01 INSTANCE_NAME=DBSERVER01 CASE_SENSITIVE=0 PORT_NUM=5236 SYSDBA_PWD=casic123456 SYSAUDITOR_PWD=casic123456 PAGE_SIZE=32 EXTENT_SIZE=32 CHARSET=1 LOG_SIZE=500
在 node2 創建實例二:
cd /home/mss/dm8/install/bin ./dminit path=/home/mss/dm8/data DB_NAME=DM01 INSTANCE_NAME=DBSERVER02 CASE_SENSITIVE=0 PORT_NUM=5236 SYSDBA_PWD=casic123456 SYSAUDITOR_PWD=casic123456 PAGE_SIZE=32 EXTENT_SIZE=32 CHARSET=1 LOG_SIZE=500
在 node3 創建監視器:
cd /home/mss/dm8/install/bin ./dminit path=/home/mss/dm8/data DB_NAME=DM01
-
配置實例參數
切換 mss 用戶配置 node1 實例一:------------------------------------------------------------------
cd /home/mss/dm8/data/DM01
(1)配置dm.ini
INSTANCE_NAME =DBSERVER01 PORT_NUM = 5236 DW_INACTIVE_INTERVAL = 60 #不允許手工方式修改實例模式/狀態/OGUID ALTER_MODE_STATUS = 0 #不允許備庫 OFFLINE 表空間 ENABLE_OFFLINE_TS = 2 #打開 MAL 系統 MAL_INI = 1 #打開歸檔配置 ARCH_INI = 1 #統計最近 64 次的日志重演信息 RLOG_SEND_APPLY_MON = 64
(2)新建dmmal.ini
#配置上端口規劃中規劃的各端口參數: #PORT_NUM、MAL_INST_DW_PORT、MAL_DW_PORT #[MAL_INST1]中填寫主機的、 #[MAL_INST2]中填寫備機的MAL_CHECK_INTERVAL = 5 MAL_CONN_FAIL_INTERVAL = 5[MAL_INST1] MAL_INST_NAME = DBSERVER01 MAL_HOST = 192.168.162.221 MAL_PORT = 55101 MAL_INST_HOST = 192.168.162.221 MAL_INST_PORT = 5236 MAL_DW_PORT = 65101 MAL_INST_DW_PORT = 45101[MAL_INST2] MAL_INST_NAME = DBSERVER02 MAL_HOST = 192.168.162.222 MAL_PORT = 55101 MAL_INST_HOST = 192.168.162.222 MAL_INST_PORT = 5236 MAL_DW_PORT = 65101 MAL_INST_DW_PORT = 45101
(3)新建dmarch.ini
[ARCHIVE_REALTIME] ARCH_TYPE = REALTIME ARCH_DEST =DBSERVER02[ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /home/mss/dm8/data/DM01/arch ARCH_FILE_SIZE = 128 ARCH_SPACE_LIMIT = 0
(4)新建dmwatcher.ini
[GRP1] DW_TYPE = GLOBAL DW_MODE = AUTO DW_ERROR_TIME = 10 INST_RECOVER_TIME = 60 INST_ERROR_TIME = 10 INST_OGUID = 453331 INST_INI = /home/mss/dm8/data/DM01/dm.ini INST_AUTO_RESTART = 1 INST_STARTUP_CMD = /home/mss/dm8/install/bin/dmserver RLOG_SEND_THRESHOLD = 0 RLOG_APPLY_THRESHOLD = 0
配置 node2 實例二:------------------------------------------------------------------
cd /home/mss/dm8/data/DM01
(1)配置dm.ini
INSTANCE_NAME = DBSERVER02 PORT_NUM = 5236 DW_INACTIVE_INTERVAL = 60 ALTER_MODE_STATUS = 0 ENABLE_OFFLINE_TS = 2 MAL_INI = 1 ARCH_INI = 1 RLOG_SEND_APPLY_MON = 64
(2)新建dmmal.ini
#配置上端口規劃中規劃的各端口參數: #PORT_NUM、MAL_INST_DW_PORT、MAL_DW_PORT #[MAL_INST1]中填寫主機的、 #[MAL_INST2]中填寫備機的MAL_CHECK_INTERVAL = 5 MAL_CONN_FAIL_INTERVAL = 5[MAL_INST1] MAL_INST_NAME = DBSERVER01 MAL_HOST = 192.168.162.221 MAL_PORT = 55101 MAL_INST_HOST = 192.168.162.221 MAL_INST_PORT = 5236 MAL_DW_PORT = 65101 MAL_INST_DW_PORT = 45101[MAL_INST2] MAL_INST_NAME = DBSERVER02 MAL_HOST = 192.168.162.222 MAL_PORT = 55101 MAL_INST_HOST = 192.168.162.222 MAL_INST_PORT = 5236 MAL_DW_PORT = 65101 MAL_INST_DW_PORT = 45101
(3)新建dmarch.ini
[ARCHIVE_REALTIME] ARCH_TYPE = REALTIME ARCH_DEST =DBSERVER01[ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /home/mss/dm8/data/DM01/arch ARCH_FILE_SIZE = 128 ARCH_SPACE_LIMIT = 0
(4)新建dmwatcher.ini
[GRP1] DW_TYPE = GLOBAL DW_MODE = AUTO DW_ERROR_TIME = 10 INST_RECOVER_TIME = 60 INST_ERROR_TIME = 10 INST_OGUID = 453331 INST_INI = /home/mss/dm8/data/DM01/dm.ini INST_AUTO_RESTART = 1 INST_STARTUP_CMD = /home/mss/dm8/install/bin/dmserver RLOG_SEND_THRESHOLD = 0 RLOG_APPLY_THRESHOLD = 0
配置 node3 監視器:------------------------------------------------------------------
cd /home/mss/dm8/data/DM01
(1)新建dmmonitor.ini
# 0表示普通監視器 ,最多配置8個,1 確認監視器模式 MON_DW_CONFIRM = 1 MON_LOG_PATH = /home/mss/dm8/install/log # 每隔 60s 定時記錄系統信息到日志文件 MON_LOG_INTERVAL = 60 # 每個日志文件最大 32M MON_LOG_FILE_SIZE = 32 # 不限定日志文件總占用空間 MON_LOG_SPACE_LIMIT = 0[GRP1] #組 GRP1 的唯一OGUID 值 MON_INST_OGUID = 453331 ##dmmal.ini####MAL_HOST:MAL_DW_PORT################### MON_DW_IP = 192.168.162.221:65101 MON_DW_IP = 192.168.162.222:65101
-
**備份主機數據庫 node1 **
登錄 node1 服務器su mss cd /home/mss/dm8/install/bin/ # 初始化 ./dmserver /home/mss/dm8/data/DM01/dm.ini #如果dmap沒啟動執行以下命令 ./dmap#執行備份 ./dmrman CTLSTMT="BACKUP DATABASE '/home/mss/dm8/data/DM01/dm.ini' FULL TO fullbak01 BACKUPSET '/home/mss/dm8/backup/fullbak01'" 拷貝221備份文件到222 scp -r /home/mss/dm8/backup mss@192.168.162.222:/home/mss/dm8/
-
**在備份機還原數據庫 node2 **
登錄 node2 服務器su mss cd /home/mss/dm8/install/bin/#如果dmap沒啟動執行以下命令 ./dmap./dmrman CTLSTMT="RESTORE DATABASE '/home/mss/dm8/data/DM01/dm.ini' FROM BACKUPSET '/home/mss/dm8/backup/fullbak01'" ./dmrman CTLSTMT="RECOVER DATABASE '/home/mss/dm8/data/DM01/dm.ini' FROM BACKUPSET '/home/mss/dm8/backup/fullbak01'" ./dmrman CTLSTMT="RECOVER DATABASE '/home/mss/dm8/data/DM01/dm.ini' UPDATE DB_MAGIC"```
-
主機與備機分別以mount方式啟動數據庫
在 node1、node2 分別執行以下命令cd /home/mss/dm8/install/bin/ #如果dmap沒啟動執行以下命令 ./dmap ./dmserver /home/mss/dm8/data/DM01/dm.ini mount./disql SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); SQL> SP_SET_OGUID(453331); SQL> ALTER DATABASE PRIMARY; SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
-
啟動測試服務
(1) node1 221 機器:cd /home/mss/dm8/install/bin/ ./dmserver /home/mss/dm8/data/DM01/dm.ini mount ./dmwatcher /home/mss/dm8/data/DM01/dmwatcher.ini
(2) node1 222 機器:cd /home/mss/dm8/install/bin/ ./dmserver /home/mss/dm8/data/DM01/dm.ini mount ./dmwatcher /home/mss/dm8/data/DM01/dmwatcher.ini
(3) node3 223 機器:
cd /home/mss/dm8/install/bin/ ./dmmonitor /home/mss/dm8/data/DM01/dmmonitor.ini
五、服務注冊啟動
-
進行服務注冊
切換 root 用戶
(1)node1 221 機器 實例一su root cd /home/mss/dm8/install/script/root ./dm_service_installer.sh -p DMSERVER -t dmserver -dm_ini /home/mss/dm8/data/DM01/dm.ini ./dm_service_installer.sh -p dmwatcher -t dmwatcher -watcher_ini /home/mss/dm8/data/DM01/dmwatcher.ini
(2)node2 222 機器 實例二
su root cd /home/mss/dm8/install/script/root ./dm_service_installer.sh -p DMSERVER -t dmserver -dm_ini /home/mss/dm8/data/DM01/dm.ini ./dm_service_installer.sh -p dmwatcher -t dmwatcher -watcher_ini /home/mss/dm8/data/DM01/dmwatcher.ini
(3)node3 223 機器 監測
su root cd /home/mss/dm8/install/script/root ./dm_service_installer.sh -p dmmonitor -t dmmonitor -monitor_ini /home/mss/dm8/data/DM01/dmmonitor.ini
//注釋: 此命令為刪除服務:./dm_service_uninstaller.sh -n DmServiceDMSERVER
-
啟停數據庫命令
(1)node1 221 機器 實例一systemctl start DmServiceDMSERVER.service systemctl stop DmServiceDMSERVER.service systemctl restart DmServiceDMSERVER.service systemctl status DmServiceDMSERVER.service
(2)node2 222 機器 實例二
systemctl start DmServiceDMSERVER.service systemctl stop DmServiceDMSERVER.service systemctl restart DmServiceDMSERVER.service systemctl status DmServiceDMSERVER.service
(3)node3 223 機器 監視器
systemctl status DmMonitorServicedmmonitor.service systemctl start DmMonitorServicedmmonitor.service
-
連接數據庫
賬戶:SYSDBA
密碼:SYSDBA