一 环境配置

1.1环境说明

准备三台机器dmzxhost01、dmzxhost02、dmzxhost03,dmzxhost01和dmzxhost02用来部署主备库,dmzxhost03用来部署确认监视器。其中dmzxhost01、dmzxhost02和dmzxhost03各自只需要配置一块网卡即可。

其中三台机器都事先安装了DM8数据库软件,机器dmzxhost01dmzxhost02需要初始化数据库,安装路径为’/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启动同步

  1. 启动主库:

会自动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.

  1. 启动备库

会自动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.

  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切换测试

  1. 主库创建一张测试表,备库查看同步情况:

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>

这样主备实时同步的数据就同步过来了。

  1. 主备切换

首先在监视器页面登录

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_实时数据守护配置相关推荐

  1. 达梦数据库归档类型与数据守护小结

    目前DM8所支持的归档类型主要有:本地归档.远程归档.实时归档.即时归档等,本地归档作为对数据库冷备的基础,支持了在一个基准备份集基础上,将数据库恢复到任意时间点的功能:而实时归档和即时归档,则在对数 ...

  2. 查看达梦数据库表中的数据为乱码解决

    将数据库备份文件导入达梦数据库后,从windows启动应用系统,查看表中的数据时,表中的中文全部显示为乱码. 解决方法: 在目录C:\Windows\System32下创建文件dm_svc.txt,使 ...

  3. DM达梦数据库的使用以及数据迁移工具的使用

    1.找不到DM数据库的相关软件 我们打开虚拟机的终端,在根目录下输入命令: ./manager ------->是打开达梦数据库的管理工具 ./dts --------------->是打 ...

  4. 达梦数据库--管理工具,数据迁移工具使用

    国产话达梦数据库,常用工具:达梦管理工具,达梦数据迁移工具. 1.达梦管理工具主要类似于navicat,是数据库可视化工具,新建连接输入IP,端口,账号,密码即可连接数据库. 之后在模式中,可以查看该 ...

  5. 达梦数据库:mysql -dm数据同步dmhs工具搭建

    达梦技术社区: https://eco.dameng.com 注意 Dmhs对mysql的 支持:表的ddl 操作,注释,索引,数据同步,支持装载和增量同步: 对于其它对象如触发器,函数,存储过程,不 ...

  6. 达梦数据库-初探监视器服务与守护进程服务

    在深入了解达梦数据库后,我们会知道监视器服务和守护进程服务都是很重要的一部分,它们主要用来监控数据库状态,并在异常情况下进行故障处理. 以下我们对这两个服务进行一些测试,来了解它们的工作特性. 首先搭 ...

  7. 国产数据库之达梦数据库 - DM7 MPP集群安装配置

    武汉达梦数据库作为国产数据库较有代表性的企业,在数据库研发方面投入了大量的精力,其自主研发的达梦数据库DM7,除了具有单机版可与Oracle相媲美的能力外,同时也研发了一款无共享MPP架构的数据库软件 ...

  8. 【达梦数据库】VMware虚拟机 + CentOS7环境配置 + DM8 数据库安装流程

    文章目录 前言 一.前期准备 1.1 VMware安装 1.2 CentOS下载 1.3 DM8下载 1.4 SecureCRT安装 二.CentOS7环境搭建 2.1 虚拟机创建 2.2 网络配置 ...

  9. 达梦数据库导出、导入数据

    导出: 一. 右键->导出 导入: 1. 找到"用户->管理用户",右键选择"新建用户": 2.在弹窗->常规中填写与待导入数据同名数据库名称 ...

最新文章

  1. php图片转字符程序,PHP文字转图片功能原理与实现方法分析
  2. 图像处理之opencv图像特效大全
  3. Android复习08【内容提供者】
  4. java中如何检查字符串都是数字_如何在Java中检查字符串是否为数字?
  5. emqtt 试用(二)验证 emq 和 mosquito 的共享订阅
  6. sql随机抽取数据50条_厉害!苏宁通过citus打造分布式数据库抗住DB高负载
  7. __name__ == '__main__'的用法
  8. HTML文本下划线效果,css文本下划线怎么打?
  9. MAC下安装xgboost
  10. iphone屏幕突然变暗_iPhone 屏幕突然变暗是什么原因?
  11. 2016年安防企业如何因势而动 顺势而为
  12. ue4 命名插件_实时渲染模拟每根头发丝!新版UE4在实时毛发方面的实验性新功能...
  13. 测试用例场景法3个例子
  14. 知了课堂 flask 笔记总结
  15. 相机标定示例(OpenCV /C++ /matlab工具箱TOOLBOX_calib)
  16. 若依 数据权限图文详细理解及改造
  17. 【每日早报】2019/08/14
  18. python,全自动获取图片,并下载你喜欢的美女图片
  19. 数据的力量 驰援疫情丨对抗新型肺炎,志愿者招募
  20. 【英语】英语写作——三段式开头

热门文章

  1. vscode代码自定义范围折叠插件 #region folding for VS Code
  2. VIM设置,自动换行
  3. Andrew Ng-机器学习基础笔记(下)-Python实现代码
  4. i12蓝牙耳机充电仓怎么看充满电_平价好声音,百元真无线蓝牙耳机——西圣io7...
  5. 吐槽 | 参加IT培训的正确姿势
  6. 酱香型白酒正在被认识
  7. jsp未正确拼写字 mysql_MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结...
  8. 今天遇到的坑--this.$emit
  9. 学习笔记1--自动驾驶汽车介绍
  10. C语言复习-存储类别,链接和内存管理