達夢資料庫單例項轉實時同步叢集
環境說明:
主庫地址:192.168.0.224 資料庫名DAMENG,資料庫服務名DM1 服務埠=5236
備庫地址:192.168.0.226 資料庫名DAMENG,資料庫服務名DM2 服務埠=5236
主庫已使用,目前是normal狀態
1、初始化備庫
# 安裝軟體步驟省略
cd $DM_HOME/bin
./dminit path=/dm8/data DB_NAME=DAMENG INSTANCE_NAME=DM2
# 初始化完的資料庫例項需要進行一次正常的啟動後才算真正的完成初始化,否則無法直接進入mount模式,exit退出關閉資料庫
./dmserver /dm8/data/DAMENG/dm.ini
2、配置主備庫檔案,配置檔案路徑都在/dm8/data/DAMENG/下
2.1、配置主備庫 dm.ini
cd /dm8/data/DAMENG
vi dm.ini
# 修改下面引數
ALTER_MODE_STATUS = 0 #不允許手工方式修改例項模式/狀態/OGUID,預設為1
ENABLE_OFFLINE_TS = 2 #不允許備庫 OFFLINE 表空間,預設為1
MAL_INI = 1 #開啟 MAL 系統,預設為0
ARCH_INI = 1 #開啟歸檔配置
2.2、配置 dmmal.ini(主備一致)
# 配置 MAL 系統,各主備庫的 dmmal.ini 配置必須完全一致,MAL_HOST 使用內部網路 IP,MAL_PORT 與 dm.ini 中 PORT_NUM 使用不同的埠值,MAL_DW_PORT 是各例項對應的守護程式之間,以及守護程式和監視器之間的通訊埠,配置如下:
cd /dm8/data/DAMENG
cat << EOF >> /dm8/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 鏈路檢測時間間隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 鏈路斷開的時間
[MAL_INST1]
MAL_INST_NAME = DM1 #例項名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.0.224 #MAL 系統監聽 TCP 連線的 IP 地址
MAL_PORT = 61141 #MAL 系統監聽 TCP 連線的埠
MAL_INST_HOST = 192.168.0.224 #例項的對外服務 IP 地址
MAL_INST_PORT = 5236 #例項的對外服務埠,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52141 #例項本地的守護程式監聽 TCP 連線的埠
MAL_INST_DW_PORT = 33141 #例項監聽守護程式 TCP 連線的埠
[MAL_INST2]
MAL_INST_NAME = DM2
MAL_HOST = 172.20.90.236
MAL_PORT = 61142
MAL_INST_HOST = 172.20.90.236
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
EOF
cat dmmal.ini
2.3、配置 dmarch.ini
# 修改 dmarch.ini,配置本地歸檔和實時歸檔。
# 除了本地歸檔外,其他歸檔配置項中的 ARCH_DEST 表示例項是 Primary 模式時,需要同步歸檔資料的目標例項名。
2.3.1 主庫
cat << EOF >> /dm8/data/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #實時歸檔型別
ARCH_DEST = DM2 #實時歸檔目標例項名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地歸檔型別
ARCH_DEST = /dm8/arch #本地歸檔檔案存放路徑
ARCH_FILE_SIZE = 1024 #單位 Mb,本地單個歸檔檔案最大值
ARCH_SPACE_LIMIT = 0 #單位 Mb,0 表示無限制,範圍 1024~2147483647M
EOF
cat dmarch.ini
2.3.2 備庫
cat << EOF >> /dm8/data/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #實時歸檔型別
ARCH_DEST = DM1 #實時歸檔目標例項名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地歸檔型別
ARCH_DEST = /dm8/arch #本地歸檔檔案存放路徑
ARCH_FILE_SIZE = 1024 #單位 Mb,本地單個歸檔檔案最大值
ARCH_SPACE_LIMIT = 0 #單位 Mb,0 表示無限制,範圍 1024~2147483647M
EOF
cat dmarch.ini
2.4、配置 dmwatcher.ini(主備一致)
# 修改 dmwatcher.ini 配置守護程式,配置為全域性守護型別,使用自動切換模式。
cat << EOF >> /dm8/data/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全域性守護型別
DW_MODE = AUTO #自動切換模式
DW_ERROR_TIME = 10 #遠端守護程式故障認定時間
INST_RECOVER_TIME = 60 #主庫守護程式啟動恢復的間隔時間
INST_ERROR_TIME = 10 #本地例項故障認定時間
INST_OGUID = 20220421 #守護系統唯一 OGUID 值
INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini 配置檔案路徑
INST_AUTO_RESTART = 1 #開啟例項的自動啟動功能
INST_STARTUP_CMD = /dm8/bin/dmserver #命令列方式啟動
RLOG_SEND_THRESHOLD = 0 #指定主庫傳送日誌到備庫的時間閾值,預設關閉
RLOG_APPLY_THRESHOLD = 0 #指定備庫重演日誌的時間閾值,預設關閉
EOF
cat dmwatcher.ini
3、啟動主備庫,設定引數
5.1 主庫
5.1.1 啟動主庫到mount模式
cd $DM_HOME/bin
./DmServiceDM1 stop
./dmserver /dm8/data/DAMENG/dm.ini
./dmserver /dm8/data/DAMENG/dm.ini mount
5.1.2 設定主庫OGUID及修改資料庫模式
-- 另外開啟視窗,啟動命令列工具 DIsql,登入主庫設定 OGUID 值
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(20220421);
--OGUID 的查詢方式:
SELECT OGUID FROM V$INSTANCE;
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
5.1.3 在5.1.1的介面關閉主備資料庫
4、主庫進行離線備份(之前的備份沒有用,需要修改為primary狀態後的備份)
#mkdir -p /dm8/arch
mkdir -p /dm8/dm_bak
cd $DM_HOME/bin
./dmrman
BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' FULL BACKUPSET '/dm8/dm_bak';
5、登入備庫,拷貝備份檔案
mkdir -p /dm8/arch
mkdir -p /dm8/dm_bak
scp -r 192.168.0.224:/dm8/dm_bak/* /dm8/dm_bak
6、執行離線資料庫還原與恢復
cd $DM_HOME/bin
./dmrman
RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/dm_bak';
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/dm_bak';
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
7、備庫修改資料庫模式
7.1、啟動主備庫到mount模式
cd $DM_HOME/bin
./dmserver /dm8/data/DAMENG/dm.ini mount
7.2、設定備庫OGUID及修改資料庫模式
-- 另外開啟視窗,啟動命令列工具 DIsql,登入主庫設定 OGUID 值
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(20220421);
--OGUID 的查詢方式:
SELECT OGUID FROM V$INSTANCE;
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
OGUID:資料守護唯一標識碼,配置資料守護時,需要由使用者指定 OGUID 值。其中資料庫的OGUID 在 MOUNT 狀態下由系統函式 SP_SET_OGUID 設定,守護程式和監視器的 OGUID 值在配置檔案中設定。
同一守護程式組中的所有資料庫、守護程式和監視器,都必須配置相同的 OGUID 值,取值範圍為 0~2147483647。
8、配置dmmonitor.ini監視器
# 測試環境在備機上配置監視器 !!!
# MON_DW_IP 中的 IP 和 PORT 和 dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置項保持一致
cd /dm8/data/DAMENG
cat << EOF >> /dm8/data/DAMENG/dmmonitor.ini
MON_DW_CONFIRM = 1 #確認監視器模式
MON_LOG_PATH = /dm8/data/dmmonitorlog #監視器日誌檔案存放路徑
MON_LOG_INTERVAL = 60 #每隔 60s 定時記錄系統資訊到日誌檔案
MON_LOG_FILE_SIZE = 32 #每個日誌檔案最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日誌檔案總佔用空間
[GRP1]
MON_INST_OGUID = 20220421 #組 GRP1 的唯一 OGUID 值 #以下配置為監視器到組 GRP1 的守護程式的連線資訊,以 "IP:PORT" 的形式配置,IP 對應 dmmal.ini 中的 MAL_HOST,PORT 對應 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.0.224:52141
MON_DW_IP = 172.20.90.236:52142
EOF
cat /dm8/data/DAMENG/dmmonitor.ini
9、啟動主備庫上的守護程式
cd $DM_HOME/bin
./dmwatcher /dm8/data/DAMENG/dmwatcher.ini
10、備機上啟動監視器(注意檢視此時資料庫的狀態是否open)
cd $DM_HOME/bin
./dmmonitor /dm8/data/DAMENG/dmmonitor.ini
11、用root使用者建立服務
# 分別在主備庫上註冊服務
# 主庫
su -
cd /dm8/script/root
# 主庫資料庫服務之前已經存在,忽略
#./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DM1
./dm_service_installer.sh -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini -p DM1
# 備庫
su -
cd /dm8/script/root
#./dm_service_installer.sh -t dmserver -m mount -dm_ini /dm8/data/DAMENG/dm.ini -p DM2
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DM2
./dm_service_installer.sh -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini -p DM2
# 備庫註冊監視器服務
./dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /dm8/data/DAMENG/dmmonitor.ini
12、註冊服務後各種符合後臺重啟方式
# 主庫資料庫服務
cd $DM_HOME/bin
./DmServiceDM1 start/stop/restart
# 備庫資料庫服務
cd $DM_HOME/bin
./DmServiceDM2 start/stop/restart
# 主庫守護程式
cd $DM_HOME/bin
./DmWatcherServiceDM1 start/stop/restart
# 備庫守護程式
cd $DM_HOME/bin
./DmWatcherServiceDM2 start/stop/restart
# 監視器
cd $DM_HOME/bin
./DmMonitorServiceDMMONITOR start/stop/restart
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29953799/viewspace-2892472/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 達夢資料庫主備實時叢集搭建和維護資料庫
- 達夢資料庫例項的狀態和模式資料庫模式
- 達夢資料庫DM8共享叢集測試記錄資料庫
- DataX將Oracle資料庫資料同步到達夢資料庫Oracle資料庫
- 如何將獨立例項轉換成叢集例項EU
- 達夢資料庫DM8主備叢集測試記錄資料庫
- Kafka 叢集如何實現資料同步?Kafka
- Oracle 例項和RAC叢集下資料庫日誌目錄合集Oracle資料庫
- 搭建達夢DSC叢集
- 達夢DMDSC叢集搭建
- 將RAC備份集恢復為單例項資料庫單例資料庫
- 國產資料庫達夢資料庫(DM7)例項初始化引數淺析資料庫
- 怎麼把達夢資料庫例項從Windows遷移到Linux系統資料庫WindowsLinux
- 時序資料庫的叢集方案?資料庫
- mysql通過kafka實現資料實時同步(三)——es叢集配置MySqlKafka
- windows2016 達夢8資料庫例項初始化和解除安裝Windows資料庫
- 資料庫國產化實戰之達夢資料庫資料庫
- 搞懂 ZooKeeper 叢集的資料同步
- Oracle叢集時間同步Oracle
- 19C 單例項資料庫安裝單例資料庫
- 達夢資料庫執行緒簡單介紹資料庫執行緒
- 達夢資料庫安裝資料庫
- 達夢資料庫開發資料庫
- 初識達夢資料庫資料庫
- 達夢資料庫學習資料庫
- GBase XDM(單機/分片叢集)資料 庫查詢
- 【資料庫】Redis叢集篇資料庫Redis
- 【達夢】Docker安裝達夢資料庫 dm8Docker資料庫
- 達夢資料庫(DM8)大規模並行叢集MPP 2節點安裝部署資料庫並行
- Oracle 11G資料庫單例項安裝Oracle資料庫單例
- 通過memberlist庫實現gossip管理叢集以及叢集資料互動Go
- 達夢資料庫基礎知識(三)達夢資料庫記憶體結構資料庫記憶體
- 達夢資料庫學習心得資料庫
- 達夢資料庫日常運維資料庫運維
- 達夢資料庫基礎---表資料庫
- 達夢DBlink叢集之間通訊搭建
- 達夢DEM部署主備守護叢集
- GBase XDM(單機/分片叢集)資料庫 新增記錄資料庫