#查看防火墙状态(主备库/监视器服务器都执行)
systemctl status firewalld
(1)添加数据库端口:firewall-cmd --add-port=5236/tcp --permanent
(2)添加完要重载一下生效:firewall-cmd --reload
(3)查看端口:firewall-cmd --list-ports
建议直接关闭各机器的防火墙。
#查看操作系统
cat /etc/lease
#测试磁盘性能(主备库都执行)
dd if=/dev/zero of=test bs=32k count=10k oflag=dsy
=数据库安装(主备库都执行)===
创建用户组:groupadd dinstall
创建用户:useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
#创建文件夹
mkdir /home/dmdba/dmdbms
cd /data
mkdir dmdata dmarch dmbak sql_log
#赋予用户权限
chown -R dmdba:dinstall /home/dmdba/dmdbms
cd /data
chown -R dmdba:dinstall dmdata dmarch dmbak sql_log
#挂载镜像
mkdir /mnt/dm
mount dm8_20220525_x86_rh6_64.iso /mnt/dm
#安装(dmdba用户)
./DMInstall.bin -i
#安装完root用户执行(创建AP服务)
/home/dmdba/dmdbms/script/root/root_installer.sh
=创建实例(主备库都执行)==
#确认字符集、大小写是否敏感、是否以字符为单位、兼容的数据库
页大小32k,簇大小32k,
字符集UTF-8 (默认0代表GB18030,1代表UTF-8,2代表韩文字符集 EUC-KR),
大小写是否敏感(case_sensitive,默认为 Y ),
varchar类型长度是否以字符为单位(LENGTH_IN_CHAR,默认为N),
redo日志大小(log_size),取值范围为 64~2048。
#在bin目录下(dmdba用户)
./dminit path=/data/dmdata page_size=32 extent_size=32 charset=1 case_sensitive=n length_in_char=y log_size=2048
==备份还原=
#主库脱机备份
主库bin目录
./dmrman ctlstmt="backup database '/data/dmdata/DAMENG/dm.ini' full backupset '/data/dmbak/fullbak20240516'"
scp -r /data/dmbak/fullbak20240516 root@192.168.171.50:/data/dmbak
#备库还原
备库bin目录
./dmrman ctlstmt="restore database '/data/dmdata/DAMENG/dm.ini' from backupset '/data/dmbak/fullbak20240516'"
./dmrman ctlstmt="recover database '/data/dmdata/DAMENG/dm.ini' from backupset '/data/dmbak/fullbak20240516'"
./dmrman ctlstmt="recover database '/data/dmdata/DAMENG/dm.ini' update db_magic"
修改配置文件
#修改主库dm.ini
INSTANCE_NAME=DM1
ARCH_INI=1 #打开归档配置
MAL_INI=1 #打开 MAL 系统
ALTER_MODE_STATUS= 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
#配置主库dmmal.ini--------------------------vim 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 =10.156.54.1 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 10.156.54.1 #实例的对外服务 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 = 10.156.50.74
MAL_PORT = 61142
MAL_INST_HOST = 10.156.50.74
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
配置主库dmarch.ini------------------------vim dmarch.ini
ARCH_WAIT_APPLY=1 #0:高性能 1:事务一致
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DM2 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /data/dmarch #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位 MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位 MB
配置主库dmwatcher.ini----------------vim dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /data/dmdata/DAMENG/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceDM1 start #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
scp dmmal.ini dmarch.ini dmwatcher.ini root@192.168.96.129:/data/dmdata/DAMENG
chown -R dmdba:dinstall dmmal.ini dmwatcher.ini dmarch.ini
#修改备库dm.ini
INSTANCE_NAME=DM2
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2
#修改备库 dmarch.ini dmwatcher.ini
#配置监视器服务-----------------vim dmmonitor.ini
MON_DW_Confirm = 1 #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH = /home/dmdba/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_SPACE_LIMIT = 0 #日志上限,单位 MB
[GRP1]
MON_INST_OGUID = 453331 组 GRP1 的唯一 OGUID 值
MON_DW_IP =10.156.54.1:52141 #IP对应MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP = 10.156.50.74:52142
#配置主库OGUID
./dmserver /data/dmdata/DAMENG/dm.ini mount
./disql SYSDBA/SYSDBA
sp_set_oguid(453331);
alter database primary;
exit
#配置备库OGUID
./dmserver /data/dmdata/DAMENG/dm.ini mount
./disql SYSDBA/SYSDBA
sp_set_oguid(453331);
alter database standby;
exit
配置服务======
注册主库服务:
./dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/DAMENG/dm.ini -p DM1 -m mount
./dm_service_installer.sh -t dmwatcher -watcher_ini /data/dmdata/DAMENG/dmwatcher.ini -p DM1
注册备库服务
./dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/DAMENG/dm.ini -p DM2 -m mount
./dm_service_installer.sh -t dmwatcher -watcher_ini /data/dmdata/DAMENG/dmwatcher.ini -p DM2
注册监视器服务:
./dm_service_installer.sh -t dmmonitor -monitor_ini /data/dmdata/DAMENG/dmmonitor.ini -p DM
启停顺序:
启动主库实例:./DmServiceDM1 start
启动备库实例:./DmServiceDM2 start
启动主库守护进程:./DmWatcherServiceDM1 start
启动备库守护进程:./DmWatcherServiceDM2 start
启动监视器:./DmMonitorServiceDM start
关闭监视器:./DmMonitorServiceDM stop
关闭主库守护进程:./DmWatcherServiceDM1 stop
关闭备库守护进程:./DmWatcherServiceDM2 stop
关闭主库实例:./DmServiceDM1 stop
关闭备库实例:./DmServiceDM2 stop
登录监视器:
./dmmonitor /data/dmdata/DAMENG/dmmonitor.ini
#测试数据同步:
create table test(id int);
insert into test values (1);
commit;
SELECT * FROM TEST;
DROP TABLE TEST;
文章
阅读量
获赞