这篇文章主要介绍DM7如何搭建数据守护,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

数据守护(DG)
环境说明
下列机器事先都安装了DM软件,安装路径为/dm7,执行程序保存在/dm7/bin目录中,数据存放路径为/dm7/data

机器名IP地址初始状态操作系统19c110.13.13.141(对外)主库dm1redhat6.710.10.10.141(mal对内)19c210.13.13.142(对外)10.10.10.142(mal对内)备库dm2redhat6.7ora19c10.13.13.140确认监视器redhat6.7实例名port_numdw_portmal_hostmal_portmal_dw_portdm15236523910.10.10.14152375238dm25236523910.10.10.14252375238

数据准备
在主库机器上初始化数据库到目录/dm7/data:

[dmdba@19c1bin]$./dminitpath=/dm7/datadb_name=DAMENGinstance_name=DM1port_num=5236page_size=8charset=0initdbV7.1.6.46-Build(2018.02.08-89107)ENTdbversion:0x7000afiledm.keynotfound,usedefaultlicense!Licensewillexpirein14day(s)on2020-06-17logfilepath:/dm7/data/DAMENG/DAMENG01.loglogfilepath:/dm7/data/DAMENG/DAMENG02.logwritetodir[/dm7/data/DAMENG].createdmdatabasesuccess.2020-06-0302:55:43

注册服务用于启动数据库

[root@19c1root]#./dm_service_installer.sh-i/dm7/data/DAMENG/dm.ini-pDM1-tdmserverln-s'/usr/lib/systemd/system/DmServiceDM1.service''/etc/systemd/system/multi-user.target.wants/DmServiceDM1.service'Finishedtocreatetheservice(DmServiceDM1)

正常启动数据库并正常关闭

[root@19c1root]#serviceDmServiceDM1startRedirectingto/bin/systemctlstartDmServiceDM1.service[root@19c1root]#ps-ef|grepdmserverdmdba2131211402:59?00:00:03/dm7/bin/dmserver/dm7/data/DAMENG/dm.ini-noconsoleroot2153618668003:00pts/200:00:00grep--color=autodmserver[dmdba@19c1bin]$./disqlSYSDBA/SYSDBAServer[LOCALHOST:5236]:modeisnormal,stateisopenloginusedtime:5.903(ms)disqlV7.1.6.46-Build(2018.02.08-89107)ENTConnectedto:DM7.1.6.46SQL>exit[root@19c1root]#serviceDmServiceDM1stopRedirectingto/bin/systemctlstopDmServiceDM1.service

ARCH_INI=1(打开归档)
MAL_INI=1(打开MAL配置)
DW_PORT=5239 (DW端口)

配置dmmal.ini文件
配置MAL系统,各主备库的dmmal.ini配置必须完全一致,MAL_HOST使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM使用不同的端口值,MAL_DW_PORT是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:

[dmdba@19c1DAMENG]$vidmmal.iniMAL_CHECK_INTERVAL=5MAL_CONN_FAIL_INTERVAL=5[MAL_INST1]MAL_INST_NAME=DM1MAL_HOST=10.10.10.141MAL_PORT=5237MAL_INST_HOST=10.13.13.141MAL_INST_PORT=5236MAL_DW_PORT=5238[MAL_INST2]MAL_INST_NAME=DM2MAL_HOST=10.10.10.142MAL_PORT=5237MAL_INST_HOST=10.13.13.142MAL_INST_PORT=5236MAL_DW_PORT=5238

配置dmarch.ini
修改dmarch.ini,配置本地归档和实时归档。除了本地归档外,其他归档配置项中的ARCH_DEST表示实例是Primary模式时,需要同步归档数据的目标实例名。当前实例DM1是主库,需要向DM2(实时备库)同步数据,因此实时归档的ARCH_DEST配置为DM2。

[dmdba@19c1DAMENG]$vidmarch.ini[ARCHIVE_REALTIME]ARCH_TYPE=REALTIMEARCH_DEST=DM2[ARCHIVE_LOCAL1]ARCH_TYPE=LOCALARCH_DEST=/dm7/data/DAMENG/archARCH_FILE_SIZE=128ARCH_SPACE_LIMIT=0

配置dmwatcher.ini
修改dmwatcher.ini配置守护进程,配置为全局守护类型,使用自动切换模式。

[dmdba@19c1DAMENG]$vidmwatcher.ini[GRP1]DW_TYPE=GLOBALDW_MODE=AUTODW_ERROR_TIME=10INST_RECOVER_TIME=60INST_ERROR_TIME=10INST_OGUID=453331INST_INI=/dm7/data/DAMENG/dm.iniINST_AUTO_RESTART=1INST_STARTUP_CMD=/dm7/bin/dmserverRLOG_SEND_THRESHOLD=0RLOG_APPLY_THRESHOLD=0

配置dmwatcher.ctl
同一个守护进程组,必须使用同一份dmwatcher.ctl。因此,只需要使用dmctlcvt工具生成一份dmwatcher.ctl文件,然后分别拷贝到各个数据库目录下即可。在配置完成dmwatcher.ini后,使用dmctlcvt工具生成dmwatcher.ctl:(特别注意,DEST目录为DAMENG的上一级目录,否则不生成控制文件)

[dmdba@19c1bin]$./dmctlcvtTYPE=3SRC=/dm7/data/DAMENG/dmwatcher.iniDEST=/dm7/dataDMCTLCVTV7.1.6.46-Build(2018.02.08-89107)ENTconverttxttoctlsuccess!

会在/dm7/data目录中生成一个GRP1目录,在GRP1目录中生成了dmwatcher.ctl控制文件

[root@19c1data]#ls-lrttotal4drwxr-xr-x8dmdbadinstall4096Jun303:44DAMENGdrwxr-xr-x2dmdbadinstall26Jun303:53GRP1[root@19c1data]#cdGRP1[root@19c1GRP1]#ls-lrttotal4-rw-r--r--1dmdbadinstall512Jun303:53dmwatcher.ctl

拷贝生成的dmwatcher.ctl文件到数据文件目录/dm7/data/DAMENG。

将主库相关文件传输到备机:

[dmdba@19c1dm7]$scp-rdata/dmdba@10.13.13.142:/dm7/Theauthenticityofhost'10.13.13.142(10.13.13.142)'can'tbeestablished.ECDSAkeyfingerprintis7f:1f:9a:0f:8b:d1:e0:17:32:08:12:73:d8:1d:9c:da.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'10.13.13.142'(ECDSA)tothelistofknownhosts.dmdba@10.13.13.142'spassword:dminit20200603025444.log100%7830.8KB/s00:00sqllog.ini100%4790.5KB/s00:00dm.ctl100%51205.0KB/s00:00DAMENG01.log100%256MB256.0MB/s00:01DAMENG02.log100%256MB128.0MB/s00:02dm_20200603025543_320471.ctl100%51205.0KB/s00:00dm_20200603030017_373808.ctl100%51205.0KB/s00:00SYSTEM.DBF100%21MB21.0MB/s00:01dm_service.prikey100%6330.6KB/s00:00MAIN.DBF100%128MB128.0MB/s00:01ROLL.DBF100%128MB128.0MB/s00:01dminst.sys100%2200.2KB/s00:00TEMP.DBF100%10MB10.0MB/s00:00rep_conflict.log100%120.0KB/s00:00dm.ini100%40KB39.8KB/s00:00dmmal.ini100%5580.5KB/s00:00dmarch.ini100%3670.4KB/s00:00dmwatcher.ini100%6150.6KB/s00:00dmwatcher.ctl100%5120.5KB/s00:00

备机修改相关配置

修改dm.iniINSTANCE_NAME=DM2

修改dmarch.ini

ARCH_DEST=DM1

其中dmwatcher.ini,dmmal.ini,dmwatcher.ctl和主库一致

二:启动到mount状态设置oguid
主库

[dmdba@19c1bin]$./dmserver/dm7/data/DAMENG/dm.inimountfiledm.keynotfound,usedefaultlicense!versioninfo:developUsenormalos_mallocinsteadofHugeTLBUsenormalos_mallocinsteadofHugeTLBDMDatabaseServerx64V7.1.6.46-Build(2018.02.08-89107)ENTstartup...Licensewillexpirein14day(s)on2020-06-17ckptlsn:32981SYSTEMISREADY.[dmdba@19c1bin]$./disqlSYSDBA/SYSDBAServer[LOCALHOST:5236]:modeisnormal,stateismountloginusedtime:6.020(ms)disqlV7.1.6.46-Build(2018.02.08-89107)ENTConnectedto:DM7.1.6.46SQL>sp_set_oguid(453331);DMSQLexecutedsuccessfullyusedtime:38.995(ms).Executeidis1.SQL>exit

备库

[dmdba@19c2bin]$./dmserver/dm7/data/DAMENG/dm.inimountfiledm.keynotfound,usedefaultlicense!versioninfo:developUsenormalos_mallocinsteadofHugeTLBUsenormalos_mallocinsteadofHugeTLBDMDatabaseServerx64V7.1.6.46-Build(2018.02.08-89107)ENTstartup...Licensewillexpirein14day(s)on2020-06-17ckptlsn:32981SYSTEMISREADY.[dmdba@19c2bin]$./disqlSYSDBA/SYSDBAServer[LOCALHOST:5236]:modeisnormal,stateismountloginusedtime:6.005(ms)disqlV7.1.6.46-Build(2018.02.08-89107)ENTConnectedto:DM7.1.6.46SQL>sp_set_oguid(453331);DMSQLexecutedsuccessfullyusedtime:46.333(ms).Executeidis1.

注册服务用于启动数据库

[root@19c2root]#./dm_service_installer.sh-i/dm7/data/DAMENG/dm.ini-pDM2-tdmserverln-s'/usr/lib/systemd/system/DmServiceDM2.service''/etc/systemd/system/multi-user.target.wants/DmServiceDM2.service'Finishedtocreatetheservice(DmServiceDM2)

三:打开数据库
主库以primary打开

SQL>alterdatabaseprimary;executedsuccessfullyusedtime:37.838(ms).Executeidis0.

备库以standby 打开

SQL>alterdatabasestandby;executedsuccessfullyusedtime:39.682(ms).Executeidis0.

四:启动守护进程
启动各个主备库上的守护进程:
主库

[dmdba@19c1bin]$./dmwatcher/dm7/data/DAMENG/dmwatcher.iniDMWATCHER[2.1]V7.1.6.46-Build(2018.02.08-89107)ENTDMWATCHER[2.1]ISREADY

备库

[dmdba@19c2bin]$./dmwatcher/dm7/data/DAMENG/dmwatcher.iniDMWATCHER[2.1]V7.1.6.46-Build(2018.02.08-89107)ENTDMWATCHER[2.1]ISREADY五:查看file_lsn与cur_lsn主备库是否一致主库

SQL>selectfile_LSN,cur_LSNfromv$rlog;LINEIDFILE_LSNCUR_LSN--------------------------------------------------13441234412usedtime:1.203(ms).Executeidis6.

备库

SQL>selectfile_LSN,cur_LSNfromv$rlog;LINEIDFILE_LSNCUR_LSN--------------------------------------------------13441234412usedtime:1.228(ms).Executeidis3.

测试数据同步
主库:

SQL>createtablet1(idint);executedsuccessfullyusedtime:18.410(ms).Executeidis7.SQL>insertintot1values(1);affectrows1usedtime:0.890(ms).Executeidis8.SQL>commit;executedsuccessfullyusedtime:6.026(ms).Executeidis9.SQL>selectfile_LSN,cur_LSNfromv$rlog;LINEIDFILE_LSNCUR_LSN--------------------------------------------------13444334443usedtime:0.340(ms).Executeidis10.

备库:

SQL>selectfile_LSN,cur_LSNfromv$rlog;LINEIDFILE_LSNCUR_LSN--------------------------------------------------13444334443usedtime:0.363(ms).Executeidis4.SQL>select*fromt1;LINEIDID---------------------11usedtime:1.213(ms).Executeidis5.

六:配置监视器(基本要求,安装dm7的软件)
由于主库和实时备库的守护进程配置为自动切换模式,因此这里选择配置确认监视器。和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知实时备库接管为新的主库,具有自动故障处理的功能。
修改dmmonitor.ini配置确认监视器,其中MON_DW_IP中的IP和PORT和dmmal.ini中的MAL_HOST和MAL_DW_PORT配置项保持一致。

[dmdba@ora19cdata]$vidmmonitor.iniMON_DW_CONFIRM=1MON_LOG_PATH=/dm7/data/logMON_LOG_INTERVAL=60MON_LOG_FILE_SIZE=32MON_LOG_SPACE_LIMIT=0[GRP1]MON_INST_OGUID=453331MON_DW_IP=10.10.10.141:5238MON_DW_IP=10.10.10.142:5238

启动监视器:

[dmdba@ora19cbin]$./dmmonitor/dm7/data/dmmonitor.ini[monitor]2020-06-0309:18:20:DMMONITOR[2.1]V7.1.6.46-Build(2018.02.08-89107)ENT[monitor]2020-06-0309:18:20:DMMONITOR[2.1]ISREADY.[monitor]2020-06-0309:18:20:Receivedmessagefrom(DM1)WTIMEWSTATUSINST_OKINAMEISTATUSIMODERSTATN_OPENFLSNCLSNSSLSNSLSN2020-06-0304:35:58OPENOKDM1OPENPRIMARYVALID234443344433444334443[monitor]2020-06-0309:18:20:Receivedmessagefrom(DM2)WTIMEWSTATUSINST_OKINAMEISTATUSIMODERSTATN_OPENFLSNCLSNSSLSNSLSN2020-06-0304:35:58OPENOKDM2OPENSTANDBYVALID234443344433444334443

以上是“DM7如何搭建数据守护”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!