达梦数据库之DM8_实时数据守护配置
一 环境配置
1.1环境说明
准备三台机器dmzxhost01、dmzxhost02、dmzxhost03,dmzxhost01和dmzxhost02用来部署主备库,dmzxhost03用来部署确认监视器。其中dmzxhost01、dmzxhost02和dmzxhost03各自只需要配置一块网卡即可。
其中三台机器都事先安装了DM8数据库软件,机器dmzxhost01和dmzxhost02需要初始化数据库,安装路径为’/dm8’,执行程序保存在’/dm/bin’目录中,数据存放路径为’/dm8/data’。
主备库的实例名建议采用“组名_守护环境_序号”的方式命名,方便按组区分不同实例,注意总长度不能超过16。本示例中组名为“GRP1”,配置为实时主备,主库命名为“GRP1_RT_01”,备库命名为“GRP1_RT_02”,而数据库名称一样。
表1 配置环境说明
机器名 |
IP地址 |
初始状态 |
操作系统 |
备注 |
dmzxhost01 |
192.168.197.101 |
主库 GRP1_RT_01 |
Linux dmzxhost01 3.10.0-957.el7.x86_64 #1 SMP Fri Jan 11 17:34:50 CST 2019 x86_64 x86_64 x86_64 GNU/Linux |
192.168.197.101外部服务IP; |
dmzxhost02 |
192.168.197.102 |
备库 GRP1_RT_02 |
Linux dmzxhost02 3.10.0-957.el7.x86_64 #1 SMP Fri Jan 11 17:34:50 CST 2019 x86_64 x86_64 x86_64 GNU/Linux |
192.168.197.102外部服务IP; |
dmzxhost03 |
192.168.197.103 |
确认监视器 |
Linux dmzxhost03 3.10.0-957.el7.x86_64 #1 SMP Fri Jan 11 17:34:50 CST 2019 x86_64 x86_64 x86_64 GNU/Linux |
192.168.197.103外部服务IP; |
表2 端口规划
1.2关闭防火墙
机器节点一:
[root@dmzxhost01 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2022-06-22 16:09:45 CST; 1 day 21h ago
Docs: man:firewalld(1)
Main PID: 7101 (firewalld)
CGroup: /system.slice/firewalld.service
└─7101 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
6月 22 16:09:44 dmzxhost01 systemd[1]: Starting firewalld - dynamic firewall daemon...
6月 22 16:09:45 dmzxhost01 systemd[1]: Started firewalld - dynamic firewall daemon.
[root@dmzxhost01 ~]# systemctl stop firewalld
[root@dmzxhost01 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
机器节点二:
[root@dmzxhost02 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 五 2022-06-24 14:30:36 CST; 4min 47s ago
Docs: man:firewalld(1)
Main PID: 7083 (firewalld)
CGroup: /system.slice/firewalld.service
└─7083 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
6月 24 14:30:36 dmzxhost02 systemd[1]: Starting firewalld - dynamic firewall daemon...
6月 24 14:30:36 dmzxhost02 systemd[1]: Started firewalld - dynamic firewall daemon.
[root@dmzxhost02 ~]# systemctl stop firewalld
[root@dmzxhost02 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
机器节点三:
[root@dmzxhost03 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2022-06-22 16:49:23 CST; 1 day 21h ago
Docs: man:firewalld(1)
Main PID: 7088 (firewalld)
CGroup: /system.slice/firewalld.service
└─7088 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
6月 22 16:49:23 dmzxhost03 systemd[1]: Starting firewalld - dynamic firewall daemon...
6月 22 16:49:23 dmzxhost03 systemd[1]: Started firewalld - dynamic firewall daemon.
[root@dmzxhost03 ~]# systemctl stop firewalld
[root@dmzxhost03 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
1.3关闭SELINUX
机器节点一:
[root@dmzxhost01 ~]# find / -name selinux
/etc/selinux
/etc/sysconfig/selinux
/usr/lib64/python2.7/site-packages/selinux
/usr/share/selinux
/usr/libexec/selinux
[root@dmzxhost01 ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
备注:配置SELINUX=disabled
机器节点二:
[root@dmzxhost02 ~]# find / -name selinux
/etc/selinux
/etc/sysconfig/selinux
/usr/lib64/python2.7/site-packages/selinux
/usr/share/selinux
/usr/libexec/selinux
[root@dmzxhost02 ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
备注:配置SELINUX=disabled
机器节点三:
[root@dmzxhost03 ~]# find / -name selinux
/etc/selinux
/etc/sysconfig/selinux
/usr/lib64/python2.7/site-packages/selinux
/usr/share/selinux
/usr/libexec/selinux
[root@dmzxhost03 ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
备注:配置SELINUX=disabled
1.4初始化数据库
机器节点一:
[root@dmzxhost01 ~]# su - dmdba
上一次登录:五 6月 24 13:58:50 CST 2022pts/3 上
[dmdba@dmzxhost01 ~]$ export DISPLAY=192.168.197.100:0.0
[dmdba@dmzxhost01 ~]$ dbca.sh
Xlib: extension "RANDR" missing on display "192.168.197.100:0.0".
2022-06-24 13:58:57 [com.dameng.dbca.Startup]
[INFO] 启动DBCA
[root@dmzxhost01 ~]# mv /dm8/bin/DmServiceGRP1_RT_01.service /usr/lib/systemd/system/DmServiceGRP1_RT_01.service
[root@dmzxhost01 ~]# systemctl enable DmServiceGRP1_RT_01.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceGRP1_RT_01.service to /usr/lib/systemd/system/DmServiceGRP1_RT_01.service.
[root@dmzxhost01 ~]# systemctl start DmServiceGRP1_RT_01.service
[root@dmzxhost01 ~]# ps -ef|grep dm.ini
dmdba 17838 1 8 15:00 ? 00:00:06 /dm8/bin/dmserver /dm8/data/DMDW/dm.ini -noconsole
root 17926 17693 0 15:02 pts/1 00:00:00 grep --color=auto dm.ini
[dmdba@dmzxhost01 ~]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于普通打开状态
登录使用时间: 5.900(毫秒)
disql V8
SQL> select NAME,INSTANCE_NAME,HOST_NAME,STATUS$ from v$instance;
行号 NAME INSTANCE_NAME HOST_NAME STATUS$
---------- ---------- ------------- ---------- -------
1 GRP1_RT_01 GRP1_RT_01 dmzxhost01 OPEN
已用时间: 0.677(毫秒). 执行号:1775.
SQL>
机器节点二:
[root@dmzxhost02 ~]# su - dmdba
上一次登录:五 6月 24 15:07:17 CST 2022pts/0 上
[dmdba@dmzxhost02 ~]$ export DISPLAY=192.168.197.100:0.0
[dmdba@dmzxhost02 ~]$ dbca.sh
Xlib: extension "RANDR" missing on display "192.168.197.100:0.0".
2022-06-24 15:07:49 [com.dameng.dbca.Startup]
[INFO] 启动DBCA
[root@dmzxhost02 ~]# mv /dm8/bin/DmServiceGRP1_RT_02.service /usr/lib/systemd/system/DmServiceGRP1_RT_02.service
[root@dmzxhost02 ~]# systemctl enable DmServiceGRP1_RT_02.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceGRP1_RT_02.service to /usr/lib/systemd/system/DmServiceGRP1_RT_02.service.
[root@dmzxhost02 ~]# systemctl start DmServiceGRP1_RT_02.service
[dmdba@dmzxhost02 ~]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于普通打开状态
登录使用时间: 13.034(毫秒)
disql V8
SQL> select NAME,INSTANCE_NAME,HOST_NAME,STATUS$ from v$instance;
行号 NAME INSTANCE_NAME HOST_NAME STATUS$
---------- ---------- ------------- ---------- -------
1 GRP1_RT_02 GRP1_RT_02 dmzxhost02 OPEN
已用时间: 2.154(毫秒). 执行号:1773.
机器节点三:不需要初始化数据库,有安装DM数据库软件即可
二 实时主备搭建
2.1备份还原
2.1.1创建测试用户表数据
现在主库创建几张表:
SQL> create tablespace TEST_TBS01 datafile '/dm8/data/DMDW/TEST_TBS01.DBF' size 32;
操作已执行
已用时间: 21.766(毫秒). 执行号:1778.
SQL> create user TEST identified by dameng123 default tablespace TEST_TBS01;
操作已执行
已用时间: 14.642(毫秒). 执行号:1779.
SQL> grant create table,create view to TEST;
操作已执行
已用时间: 2.246(毫秒). 执行号:1780.
SQL> create table TEST.T1(ID INT,NAME VARCHAR(20));
操作已执行
已用时间: 6.154(毫秒). 执行号:1781.
SQL> begin
2 for i in 1..10000 loop
3 insert into TEST.T1 values(i,'QIXIANG'||i);
4 end loop;
5 commit;
6 end;
7 /
DMSQL 过程已成功完成
已用时间: 55.124(毫秒). 执行号:1782.
SQL> select count(*) from TEST.T1;
行号 COUNT(*)
---------- --------------------
1 10000
已用时间: 1.800(毫秒). 执行号:1783.
2.1.2主库备份数据
primary主库使用DRMAN备份数据时,需要停止数据库,进行冷备份:
[dmdba@dmzxhost01 ~]$ cd /dm8
[dmdba@dmzxhost01 dm8]$ mkdir backup
[dmdba@dmzxhost01 ~]$ dmrman
dmrman V8
RMAN> backup database '/dm8/data/DMDW/dm.ini' full to backup_file1 backupset '/dm8/backup/BACKUP_FILE_01';
backup database '/dm8/data/DMDW/dm.ini' full to backup_file1 backupset '/dm8/backup/BACKUP_FILE_01';
file dm.key not found, use default license!
[-137]:服务器正在运行或者存在其他进程正在操作同一个库
RMAN> exit
time used: 0.002(ms)
[dmdba@dmzxhost01 DMDW]$ DmServiceGRP1_RT_01 stop
Stopping DmServiceGRP1_RT_01: [ OK ]
[dmdba@dmzxhost01 ~]$ dmrman
dmrman V8
RMAN> backup database '/dm8/data/DMDW/dm.ini' full to backup_file1 backupset '/dm8/backup/BACKUP_FILE_01';
backup database '/dm8/data/DMDW/dm.ini' full to backup_file1 backupset '/dm8/backup/BACKUP_FILE_01';
file dm.key not found, use default license!
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[52384]
BACKUP DATABASE [DMDW],execute......
CMD CHECK LSN......
BACKUP DATABASE [DMDW],collect dbf......
CMD CHECK ......
DBF BACKUP SUBS......
total 0 packages processed...
total 0 packages processed...
total 0 packages processed...
total 0 packages processed...
total 0 packages processed...
total 0 packages processed...
DBF BACKUP MAIN......
BACKUPSET [/dm8/backup/BACKUP_FILE_01] END, CODE [0]......
META GENERATING......
CMD END.CODE:[0]
backup successfully!
time used: 00:00:01.124
2.1.3备库还原恢复
主库上操作:
将primary上备份的数据传至standby备库
[dmdba@dmzxhost01 BACKUP_FILE_01]$ pwd
/dm8/backup/BACKUP_FILE_01
[dmdba@dmzxhost01 BACKUP_FILE_01]$ ls -lrt
总用量 7936
-rw-r--r-- 1 dmdba dinstall 8035328 6月 24 15:50 BACKUP_FILE_01.bak
-rw-r--r-- 1 dmdba dinstall 86528 6月 24 15:50 BACKUP_FILE_01.meta
[dmdba@dmzxhost01 BACKUP_FILE_01]$ scp BACKUP_FILE_01.* 192.168.197.102:/dm8/backup
The authenticity of host '192.168.197.102 (192.168.197.102)' can't be established.
ECDSA key fingerprint is SHA256:yOI7XUfjJZYNnX5x7hf8KoGw5diEEQJIsjrvdPaUNeo.
ECDSA key fingerprint is MD5:f6:f0:de:2f:91:c4:57:8d:b0:e0:e2:47:90:e8:28:65.
Are you sure you want to continue connecting (yes/no)? yes
dmdba@192.168.197.102's password:
BACKUP_FILE_01.bak 100% 7847KB 92.3MB/s 00:00
BACKUP_FILE_01.meta
备库上操作;
[dmdba@dmzxhost02 ~]$ cd /dm8
[dmdba@dmzxhost02 dm8]$ mkdir backup
[dmdba@dmzxhost02 dm8]$ cd backup/
[dmdba@dmzxhost02 backup]$ pwd
/dm8/backup
[dmdba@dmzxhost02 backup]$ ls -lrt
总用量 7936
-rw-r--r-- 1 dmdba dinstall 8035328 6月 24 15:54 BACKUP_FILE_01.bak
-rw-r--r-- 1 dmdba dinstall 86528 6月 24 15:54 BACKUP_FILE_01.meta
备库上停止数据库:
[dmdba@dmzxhost02 backup]$ DmServiceGRP1_RT_02 stop
Stopping DmServiceGRP1_RT_02: [ OK ]
备库上进行数据库还原恢复操作:
[dmdba@dmzxhost02 backup]$ dmrman
dmrman V8
RMAN> restore database '/dm8/data/DMDW/dm.ini' from backupset '/dm8/backup';
restore database '/dm8/data/DMDW/dm.ini' from backupset '/dm8/backup';
file dm.key not found, use default license!
RESTORE DATABASE CHECK......
RESTORE DATABASE,data collect......
RESTORE DATABASE,database refresh ......
RESTORE BACKUPSET [/dm8/backup] START......
total 0 packages processed...
RESTORE DATABASE,UPDATE ctl file......
RESTORE DATABASE,REBUILD key file......
RESTORE DATABASE,CHECK db info......
RESTORE DATABASE,UPDATE db info......
CMD END.CODE:[0]
restore successfully.
time used: 408.222(ms)
RMAN> recover database '/dm8/data/DMDW/dm.ini' from backupset '/dm8/backup';
recover database '/dm8/data/DMDW/dm.ini' from backupset '/dm8/backup';
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[52384]
RESTORE RLOG CHECK......
CMD END.CODE:[603],DESC:[备份集[/dm8/backup]备份过程中未产生日志]
备份集[/dm8/backup]备份过程中未产生日志
recover successfully!
time used: 281.378(ms)
备库还原恢复后更新魔数:
RMAN> recover database '/dm8/data/DMDW/dm.ini' update db_magic;
recover database '/dm8/data/DMDW/dm.ini' update db_magic;
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[52384]
EP[0]'s apply_lsn[52384] >= end_lsn[52384]
recover successfully!
time used: 00:00:01.011
----至此备库使用主库的备份文件进行还原恢复就完成了
2.2主库配置文件
该部分仅仅从主库primary上进行配置相关参数文件。
2.2.1主库配置dm.ini
编辑主库primary中的参数文件dm.ini,添加下述内容:
[dmdba@dmzxhost01 DMDW]$ pwd
/dm8/data/DMDW
[dmdba@dmzxhost01 DMDW]$ ls -lrt *.ini
-rw-r--r-- 1 dmdba dinstall 479 6月 24 14:59 sqllog.ini
-rw-r--r-- 1 dmdba dinstall 49258 6月 24 14:59 dm.ini
INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 5246
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
2.2.2主库配置dmmal.ini
编辑主库primary中的文件dmmal.ini,添加下述内容:
[dmdba@dmzxhost01 DMDW]$ pwd
/dm8/data/DMDW
[dmdba@dmzxhost01 DMDW]$ vi dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.197.101
MAL_PORT = 55101
MAL_INST_HOST = 192.168.197.101
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.197.102
MAL_PORT = 55121
MAL_INST_HOST = 192.168.197.102
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
2.2.3主库配置dmarch.ini
编辑主库primary中的文件dmarch.ini,添加下述内容:
[dmdba@dmzxhost01 DMDW]$ pwd
/dm8/data/DMDW
[dmdba@dmzxhost01 DMDW]$ vi dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
2.2.4主库配置dmwatcher.ini
编辑主库primary中的文件dmwatcher.ini,添加下述内容:
[dmdba@dmzxhost01 DMDW]$ pwd
/dm8/data/DMDW
[dmdba@dmzxhost01 DMDW]$ vi 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 = /dm8/data/DMDW/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
2.2.5主库启动到mount调整参数
在主库启动到mount状态(还原恢复后没有启动的)
[dmdba@dmzxhost01 DMDW]$ dmserver /dm8/data/DMDW/dm.ini mount
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-88-20.06.24-123627-ENT startup...
Database mode = 0, oguid = 0
License will expire on 2022-07-11
file lsn: 52384
ndct db load finished
ndct fill fast pool finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
systables desc init success.
ndct_db_load_info success.
SYSTEM IS READY.
修改参数
[dmdba@dmzxhost01 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于普通配置状态
登录使用时间: 4.176(毫秒)
disql V8
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
DMSQL 过程已成功完成
已用时间: 5.647(毫秒). 执行号:1.
SQL> sp_set_oguid(453331);
DMSQL 过程已成功完成
已用时间: 2.626(毫秒). 执行号:2.
SQL> alter database primary;
操作已执行
已用时间: 3.072(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);
DMSQL 过程已成功完成
已用时间: 2.738(毫秒). 执行号:3.
SQL>
此时重新登录disql,发现配置模式已经改变:
SQL> exit
[dmdba@dmzxhost01 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于主库配置状态
登录使用时间: 3.655(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_01 dmzxhost01 MOUNT PRIMARY 453331
已用时间: 1.276(毫秒). 执行号:6.
SQL>
----至此,主库已经配置完成。
2.3备库配置文件
该部分仅仅从备库standby上进行配置相关参数文件。
2.3.1备库配置dm.ini
编辑备库standby中的参数文件dm.ini,添加下述内容:
[dmdba@dmzxhost02 DMDW]$ pwd
/dm8/data/DMDW
[dmdba@dmzxhost02 DMDW]$ ls -lrt *.ini
-rw-r--r-- 1 dmdba dinstall 479 6月 24 15:11 sqllog.ini
-rw-r--r-- 1 dmdba dinstall 49258 6月 24 15:11 dm.ini
[dmdba@dmzxhost02 DMDW]$ vi dm.ini
INSTANCE_NAME = GRP1_RT_02
PORT_NUM = 5246
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
2.3.2备库配置dmmal.ini
编辑备库standby中的文件dmmal.ini,添加下述内容:
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.197.101
MAL_PORT = 55101
MAL_INST_HOST = 192.168.197.101
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.197.102
MAL_PORT = 55121
MAL_INST_HOST = 192.168.197.102
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
2.3.3备库配置dmarch.ini
编辑备库standby中的文件dmarch.ini,添加下述内容:
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
2.3.4备库配置dmwatcher.ini
编辑备库standby中的文件dmwatcher.ini,添加下述内容:
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 = /dm8/data/DMDW/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_APPLY_THRESHOLD = 0
2.3.5备库启动到mount调整参数
备库standby启动到mount状态(还原恢复后没有启动的)
[dmdba@dmzxhost02 DMDW]$ dmserver /dm8/data/DMDW/dm.ini mount
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-88-20.06.24-123627-ENT startup...
Database mode = 0, oguid = 0
License will expire on 2022-07-11
file lsn: 52384
ndct db load finished
ndct fill fast pool finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
systables desc init success.
ndct_db_load_info success.
SYSTEM IS READY.
修改参数
[dmdba@dmzxhost02 DMDW]$ pwd
/dm8/data/DMDW
[dmdba@dmzxhost02 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于普通配置状态
登录使用时间: 5.061(毫秒)
disql V8
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
DMSQL 过程已成功完成
已用时间: 6.281(毫秒). 执行号:1.
SQL> sp_set_oguid(453331);
DMSQL 过程已成功完成
已用时间: 2.136(毫秒). 执行号:2.
SQL> alter database standby;
操作已执行
已用时间: 3.008(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);
DMSQL 过程已成功完成
已用时间: 2.696(毫秒). 执行号:3.
SQL> exit
[dmdba@dmzxhost02 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于备库配置状态
登录使用时间: 6.141(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_02 dmzxhost02 MOUNT STANDBY 453331
已用时间: 6.223(毫秒). 执行号:4.
SQL>
----至此,备库就已配置成功过了
2.4监视器配置文件
配置监视器,在第三台机器上,只需要部署了软件,不需要初始化数据库,配置dmmonitor.ini文件。
[dmdba@dmzxhost03 dm8]$ pwd
/dm8
[dmdba@dmzxhost03 dm8]$ vi dmmonitor.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/data/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.197.101:65101
MON_DW_IP = 192.168.197.102:65121
2.5启动同步
- 启动主库:
会自动OPEN数据库
[dmdba@dmzxhost01 DMDW]$ dmwatcher /dm8/data/DMDW/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
[dmdba@dmzxhost01 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于主库打开状态
登录使用时间: 12.159(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_01 dmzxhost01 OPEN PRIMARY 453331
已用时间: 2.087(毫秒). 执行号:10.
- 启动备库
会自动OPEN数据库
[dmdba@dmzxhost02 DMDW]$ dmwatcher /dm8/data/DMDW/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_02 dmzxhost02 OPEN STANDBY 453331
已用时间: 8.866(毫秒). 执行号:1.
- 启动监视器
[dmdba@dmzxhost03 ~]$ dmmonitor /dm8/dmmonitor.ini
[monitor] 2022-06-27 12:05:16: DMMONITOR[4.0] V8
[monitor] 2022-06-27 12:05:16: DMMONITOR[4.0] IS READY.
[monitor] 2022-06-27 12:05:16: 收到守护进程(GRP1_RT_01)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-06-27 12:05:16 OPEN OK GRP1_RT_01 OPEN PRIMARY VALID 3 56166 56166
[monitor] 2022-06-27 12:05:16: 收到守护进程(GRP1_RT_02)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-06-27 12:05:16 OPEN OK GRP1_RT_02 OPEN STANDBY VALID 3 56166 56166
保证双VALID,不行就统一重启一下
show
2022-06-27 12:06:07
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GRP1 453331 TRUE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.197.101 65101 2022-06-27 12:06:06 GLOBAL VALID OPEN GRP1_RT_01 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID
EP INFO:
INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
5246 OK GRP1_RT_01 OPEN PRIMARY 0 0 REALTIME VALID 5387 56166 5387 56166 NONE
<<DATABASE GLOBAL INFO:>>
IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.197.102 65121 2022-06-27 12:06:07 GLOBAL VALID OPEN GRP1_RT_02 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME VALID
EP INFO:
INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
5246 OK GRP1_RT_02 OPEN STANDBY 0 0 REALTIME VALID 5362 56166 5362 56166 NONE
DATABASE(GRP1_RT_02) APPLY INFO FROM (GRP1_RT_01):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[5387, 5387, 5387], (ALSN, SLSN, KLSN)[56166, 56166, 56166], N_TSK[0], TSK_MEM_USE[0]
#================================================================================#
2.6切换测试
- 主库创建一张测试表,备库查看同步情况:
dmdba@dmzxhost01 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于主库打开状态
登录使用时间: 12.159(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_01 dmzxhost01 OPEN PRIMARY 453331
已用时间: 2.087(毫秒). 执行号:10.
SQL> CREATE TABLE TEST.T2(ID INT,NAME VARCHAR(30));
操作已执行
已用时间: 18.892(毫秒). 执行号:11.
SQL> BEGIN
2 FOR i IN 1..500 LOOP
3 INSERT INTO TEST.T2 VALUES(i,i||'QI-XIANG');
4 END LOOP;
5 COMMIT;
6 END;
7 /
DMSQL 过程已成功完成
已用时间: 4.578(毫秒). 执行号:12.
SQL> SELECT * FROM TEST.T2 WHERE ID<10;
行号 ID NAME
---------- ----------- ---------
1 1 1QI-XIANG
2 2 2QI-XIANG
3 3 3QI-XIANG
4 4 4QI-XIANG
5 5 5QI-XIANG
6 6 6QI-XIANG
7 7 7QI-XIANG
8 8 8QI-XIANG
9 9 9QI-XIANG
9 rows got
已用时间: 1.182(毫秒). 执行号:13.
SQL>
在备库上进行查询:
[dmdba@dmzxhost02 ~]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于备库打开状态
登录使用时间: 6.945(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_02 dmzxhost02 OPEN STANDBY 453331
已用时间: 3.003(毫秒). 执行号:2.
SQL> SELECT * FROM TEST.T2 WHERE ID<10;
行号 ID NAME
---------- ----------- ---------
1 1 1QI-XIANG
2 2 2QI-XIANG
3 3 3QI-XIANG
4 4 4QI-XIANG
5 5 5QI-XIANG
6 6 6QI-XIANG
7 7 7QI-XIANG
8 8 8QI-XIANG
9 9 9QI-XIANG
9 rows got
已用时间: 7.616(毫秒). 执行号:3.
SQL>
这样主备实时同步的数据就同步过来了。
- 主备切换
首先在监视器页面登录
login
用户名:sysdba
密码:
[monitor] 2022-06-27 12:08:14: 登录监视器成功!
进行主备切换switchover
switchover
[monitor] 2022-06-27 12:08:37: 开始切换实例GRP1_RT_02
[monitor] 2022-06-27 12:08:37: 通知守护进程GRP1_RT_01切换SWITCHOVER状态
[monitor] 2022-06-27 12:08:37: 守护进程(GRP1_RT_01)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2022-06-27 12:08:38: 切换守护进程GRP1_RT_01为SWITCHOVER状态成功
[monitor] 2022-06-27 12:08:38: 通知守护进程GRP1_RT_02切换SWITCHOVER状态
[monitor] 2022-06-27 12:08:38: 守护进程(GRP1_RT_02)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2022-06-27 12:08:38: 切换守护进程GRP1_RT_02为SWITCHOVER状态成功
[monitor] 2022-06-27 12:08:38: 实例GRP1_RT_01开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2022-06-27 12:08:38: 实例GRP1_RT_01执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2022-06-27 12:08:38: 实例GRP1_RT_02开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2022-06-27 12:08:38: 实例GRP1_RT_02执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2022-06-27 12:08:38: 实例GRP1_RT_01开始执行ALTER DATABASE MOUNT语句
[monitor] 2022-06-27 12:08:40: 实例GRP1_RT_01执行ALTER DATABASE MOUNT语句成功
[monitor] 2022-06-27 12:08:40: 实例GRP1_RT_02开始执行SP_APPLY_KEEP_PKG()语句
[monitor] 2022-06-27 12:08:40: 实例GRP1_RT_02执行SP_APPLY_KEEP_PKG()语句成功
[monitor] 2022-06-27 12:08:40: 实例GRP1_RT_02开始执行ALTER DATABASE MOUNT语句
[monitor] 2022-06-27 12:08:41: 实例GRP1_RT_02执行ALTER DATABASE MOUNT语句成功
[monitor] 2022-06-27 12:08:41: 实例GRP1_RT_01开始执行ALTER DATABASE STANDBY语句
[monitor] 2022-06-27 12:08:41: 实例GRP1_RT_01执行ALTER DATABASE STANDBY语句成功
[monitor] 2022-06-27 12:08:41: 实例GRP1_RT_02开始执行ALTER DATABASE PRIMARY语句
[monitor] 2022-06-27 12:08:42: 实例GRP1_RT_02执行ALTER DATABASE PRIMARY语句成功
[monitor] 2022-06-27 12:08:42: 通知实例GRP1_RT_02修改所有归档状态无效
[monitor] 2022-06-27 12:08:42: 修改所有实例归档为无效状态成功
[monitor] 2022-06-27 12:08:42: 实例GRP1_RT_01开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2022-06-27 12:08:42: 实例GRP1_RT_01执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2022-06-27 12:08:42: 实例GRP1_RT_02开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2022-06-27 12:08:44: 实例GRP1_RT_02执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2022-06-27 12:08:44: 实例GRP1_RT_01开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2022-06-27 12:08:44: 实例GRP1_RT_01执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2022-06-27 12:08:44: 实例GRP1_RT_02开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2022-06-27 12:08:44: 实例GRP1_RT_02执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2022-06-27 12:08:44: 通知守护进程GRP1_RT_01切换OPEN状态
[monitor] 2022-06-27 12:08:44: 守护进程(GRP1_RT_01)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2022-06-27 12:08:44: 切换守护进程GRP1_RT_01为OPEN状态成功
[monitor] 2022-06-27 12:08:44: 通知守护进程GRP1_RT_02切换OPEN状态
[monitor] 2022-06-27 12:08:44: 守护进程(GRP1_RT_02)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2022-06-27 12:08:44: 切换守护进程GRP1_RT_02为OPEN状态成功
[monitor] 2022-06-27 12:08:44: 通知组(GRP1)的守护进程执行清理操作
[monitor] 2022-06-27 12:08:44: 清理守护进程(GRP1_RT_01)请求成功
2022-06-27 12:08:44
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
[monitor] 2022-06-27 12:08:44: 清理守护进程(GRP1_RT_02)请求成功
[monitor] 2022-06-27 12:08:44: 实例GRP1_RT_02切换成功
GRP1 453331 TRUE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.197.102 65121 2022-06-27 12:08:44 GLOBAL VALID OPEN GRP1_RT_02 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID
EP INFO:
INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
5246 OK GRP1_RT_02 OPEN PRIMARY 0 0 REALTIME VALID 5390 58580 5390 58580 NONE
<<DATABASE GLOBAL INFO:>>
IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.197.101 65101 2022-06-27 12:08:44 GLOBAL VALID OPEN GRP1_RT_01 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME INVALID
EP INFO:
INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
5246 OK GRP1_RT_01 OPEN STANDBY 0 0 REALTIME INVALID 5388 56166 5388 56166 NONE
DATABASE(GRP1_RT_01) APPLY INFO FROM (GRP1_RT_02):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[5388, 5388, 5388], (ALSN, SLSN, KLSN)[56166, 56166, 56166], N_TSK[0], TSK_MEM_USE[0]
查看监视器信息,都是有效的
show
2022-06-27 12:12:17
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GRP1 453331 TRUE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.197.102 65121 2022-06-27 12:12:16 GLOBAL VALID OPEN GRP1_RT_02 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID
EP INFO:
INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
5246 OK GRP1_RT_02 OPEN PRIMARY 0 0 REALTIME VALID 5391 58583 5391 58583 NONE
<<DATABASE GLOBAL INFO:>>
IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.197.101 65101 2022-06-27 12:12:16 GLOBAL VALID OPEN GRP1_RT_01 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME VALID
EP INFO:
INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
5246 OK GRP1_RT_01 OPEN STANDBY 0 0 REALTIME VALID 5388 58583 5388 58583 NONE
DATABASE(GRP1_RT_01) APPLY INFO FROM (GRP1_RT_02):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[5391, 5391, 5391], (ALSN, SLSN, KLSN)[58583, 58583, 58583], N_TSK[0], TSK_MEM_USE[0]
#================================================================================#
此时登录备库(原来的主库,注意主机名)查看
[dmdba@dmzxhost01 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于备库打开状态
登录使用时间: 3.979(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_01 dmzxhost01 OPEN STANDBY 453331
已用时间: 10.578(毫秒). 执行号:7.
SQL>
登录主库(原来的备库,注意主机名)查看
[dmdba@dmzxhost02 ~]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于主库打开状态
登录使用时间: 5.209(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_02 dmzxhost02 OPEN PRIMARY 453331
已用时间: 1.947(毫秒). 执行号:8.
在切换后的主库(原来的备库,注意主机名)创建测试数据
SQL> CREATE TABLE TEST.T3(ID INT,NAME VARCHAR(30));
操作已执行
已用时间: 6.058(毫秒). 执行号:9.
SQL> BEGIN
2 FOR i IN 1..500 LOOP
3 INSERT INTO TEST.T3 VALUES(i,i||'TEST');
4 END LOOP;
5 COMMIT;
6 END;
7 /
DMSQL 过程已成功完成
已用时间: 5.799(毫秒). 执行号:12.
SQL> SELECT * FROM TEST.T3 WHERE ID<10;
行号 ID NAME
---------- ----------- -----
1 1 1TEST
2 2 2TEST
3 3 3TEST
4 4 4TEST
5 5 5TEST
6 6 6TEST
7 7 7TEST
8 8 8TEST
9 9 9TEST
9 rows got
已用时间: 0.741(毫秒). 执行号:13.
现在在备库(原来的备库,注意主机名)查询
[dmdba@dmzxhost01 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于备库打开状态
登录使用时间: 3.979(毫秒)
disql V8
SQL> select INSTANCE_NAME,HOST_NAME,STATUS$,MODE$,OGUID from v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- ---------- ------- ------- -----------
1 GRP1_RT_01 dmzxhost01 OPEN STANDBY 453331
已用时间: 10.578(毫秒). 执行号:7.
SQL> SELECT * FROM TEST.T3 WHERE ID<10;
行号 ID NAME
---------- ----------- -----
1 1 1TEST
2 2 2TEST
3 3 3TEST
4 4 4TEST
5 5 5TEST
6 6 6TEST
7 7 7TEST
8 8 8TEST
9 9 9TEST
9 rows got
已用时间: 1.652(毫秒). 执行号:8.
并且在备库(原来的备库,注意主机名)数据插入,无法写
[dmdba@dmzxhost01 DMDW]$ disql sysdba/dameng123@localhost:5246
服务器[localhost:5246]:处于备库打开状态
登录使用时间: 3.037(毫秒)
disql V8
SQL> BEGIN
2 FOR i IN 600..1000 LOOP
3 INSERT INTO TEST.T3 VALUES(i,i||'TEST');
4 END LOOP;
5 COMMIT;
6 END;
7 /
BEGIN
FOR i IN 600..1000 LOOP
INSERT INTO TEST.T3 VALUES(i,i||'TEST');
END LOOP;
COMMIT;
END;
第3 行附近出现错误[-2018]:STANDBY模式下不支持对非临时表或含有lob类型列的表进行增删改操作.
已用时间: 0.362(毫秒). 执行号:0.
至此主备切换后,数据能正常同步过来
达梦数据库之DM8_实时数据守护配置相关推荐
- 达梦数据库归档类型与数据守护小结
目前DM8所支持的归档类型主要有:本地归档.远程归档.实时归档.即时归档等,本地归档作为对数据库冷备的基础,支持了在一个基准备份集基础上,将数据库恢复到任意时间点的功能:而实时归档和即时归档,则在对数 ...
- 查看达梦数据库表中的数据为乱码解决
将数据库备份文件导入达梦数据库后,从windows启动应用系统,查看表中的数据时,表中的中文全部显示为乱码. 解决方法: 在目录C:\Windows\System32下创建文件dm_svc.txt,使 ...
- DM达梦数据库的使用以及数据迁移工具的使用
1.找不到DM数据库的相关软件 我们打开虚拟机的终端,在根目录下输入命令: ./manager ------->是打开达梦数据库的管理工具 ./dts --------------->是打 ...
- 达梦数据库--管理工具,数据迁移工具使用
国产话达梦数据库,常用工具:达梦管理工具,达梦数据迁移工具. 1.达梦管理工具主要类似于navicat,是数据库可视化工具,新建连接输入IP,端口,账号,密码即可连接数据库. 之后在模式中,可以查看该 ...
- 达梦数据库:mysql -dm数据同步dmhs工具搭建
达梦技术社区: https://eco.dameng.com 注意 Dmhs对mysql的 支持:表的ddl 操作,注释,索引,数据同步,支持装载和增量同步: 对于其它对象如触发器,函数,存储过程,不 ...
- 达梦数据库-初探监视器服务与守护进程服务
在深入了解达梦数据库后,我们会知道监视器服务和守护进程服务都是很重要的一部分,它们主要用来监控数据库状态,并在异常情况下进行故障处理. 以下我们对这两个服务进行一些测试,来了解它们的工作特性. 首先搭 ...
- 国产数据库之达梦数据库 - DM7 MPP集群安装配置
武汉达梦数据库作为国产数据库较有代表性的企业,在数据库研发方面投入了大量的精力,其自主研发的达梦数据库DM7,除了具有单机版可与Oracle相媲美的能力外,同时也研发了一款无共享MPP架构的数据库软件 ...
- 【达梦数据库】VMware虚拟机 + CentOS7环境配置 + DM8 数据库安装流程
文章目录 前言 一.前期准备 1.1 VMware安装 1.2 CentOS下载 1.3 DM8下载 1.4 SecureCRT安装 二.CentOS7环境搭建 2.1 虚拟机创建 2.2 网络配置 ...
- 达梦数据库导出、导入数据
导出: 一. 右键->导出 导入: 1. 找到"用户->管理用户",右键选择"新建用户": 2.在弹窗->常规中填写与待导入数据同名数据库名称 ...
最新文章
- php图片转字符程序,PHP文字转图片功能原理与实现方法分析
- 图像处理之opencv图像特效大全
- Android复习08【内容提供者】
- java中如何检查字符串都是数字_如何在Java中检查字符串是否为数字?
- emqtt 试用(二)验证 emq 和 mosquito 的共享订阅
- sql随机抽取数据50条_厉害!苏宁通过citus打造分布式数据库抗住DB高负载
- __name__ == '__main__'的用法
- HTML文本下划线效果,css文本下划线怎么打?
- MAC下安装xgboost
- iphone屏幕突然变暗_iPhone 屏幕突然变暗是什么原因?
- 2016年安防企业如何因势而动 顺势而为
- ue4 命名插件_实时渲染模拟每根头发丝!新版UE4在实时毛发方面的实验性新功能...
- 测试用例场景法3个例子
- 知了课堂 flask 笔记总结
- 相机标定示例(OpenCV /C++ /matlab工具箱TOOLBOX_calib)
- 若依 数据权限图文详细理解及改造
- 【每日早报】2019/08/14
- python,全自动获取图片,并下载你喜欢的美女图片
- 数据的力量 驰援疫情丨对抗新型肺炎,志愿者招募
- 【英语】英语写作——三段式开头
热门文章
- vscode代码自定义范围折叠插件 #region folding for VS Code
- VIM设置,自动换行
- Andrew Ng-机器学习基础笔记(下)-Python实现代码
- i12蓝牙耳机充电仓怎么看充满电_平价好声音,百元真无线蓝牙耳机——西圣io7...
- 吐槽 | 参加IT培训的正确姿势
- 酱香型白酒正在被认识
- jsp未正确拼写字 mysql_MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结...
- 今天遇到的坑--this.$emit
- 学习笔记1--自动驾驶汽车介绍
- C语言复习-存储类别,链接和内存管理