查询集群状态时,发现DN是DISCONNECTED状态,并且角色是Standby。
[omm@gaussdb02 ~]$ gs_om -t status
Set output to terminal.
--------------------------------------------------------------------Cluster Status--------------------------------------------------------------------
az_state : single_az
cluster_state : Degraded
balanced : true
----------------------------------------------------------------------AZ Status-----------------------------------------------------------------------
AZ:AZ1 ROLE:primary STATUS:ONLINE
---------------------------------------------------------------------Host Status----------------------------------------------------------------------
HOST:gaussdb01 AZ:AZ1 STATUS:ONLINE IP:192.168.210.123
HOST:gaussdb02 AZ:AZ1 STATUS:ONLINE IP:192.168.210.124
HOST:gaussdb03 AZ:AZ1 STATUS:ONLINE IP:192.168.210.125
----------------------------------------------------------------Cluster Manager Status----------------------------------------------------------------
INSTANCE:CM2 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:602
INSTANCE:CM1 ROLE:slave STATUS:ONLINE HOST:gaussdb03 ID:601
---------------------------------------------------------------------ETCD Status----------------------------------------------------------------------
INSTANCE:ETCD1 ROLE:follower STATUS:ONLINE HOST:gaussdb01 ID:701 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
INSTANCE:ETCD2 ROLE:follower STATUS:ONLINE HOST:gaussdb02 ID:702 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
INSTANCE:ETCD3 ROLE:leader STATUS:ONLINE HOST:gaussdb03 ID:703 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
----------------------------------------------------------------------CN Status-----------------------------------------------------------------------
INSTANCE:cn_401 ROLE:no role STATUS:ONLINE HOST:gaussdb01 ID:401 PORT:9009 DataDir:/app/gaussdb/data/data_cn1
INSTANCE:cn_402 ROLE:no role STATUS:ONLINE HOST:gaussdb02 ID:402 PORT:9009 DataDir:/app/gaussdb/data/data_cn2
INSTANCE:cn_403 ROLE:no role STATUS:ONLINE HOST:gaussdb03 ID:403 PORT:9009 DataDir:/app/gaussdb/data/data_cn3
----------------------------------------------------------------------GTS Status----------------------------------------------------------------------
INSTANCE:GTS1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:441 PORT:13000 DataDir:/app/gaussdb/data/data_gts
INSTANCE:GTS2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:442 PORT:13000 DataDir:/app/gaussdb/data/data_gts
---------------------------------------------------------Instances Status in Group (group_1)----------------------------------------------------------
INSTANCE:DB1_1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:1 PORT:15400 DataDir:/app/gaussdb/data/data_dn1
INSTANCE:DB1_2 ROLE:standby STATUS:DISCONNECTED HOST:gaussdb02 ID:2 PORT:15421 DataDir:/app/gaussdb/data/data_dn1
---------------------------------------------------------Instances Status in Group (group_2)----------------------------------------------------------
INSTANCE:DB2_3 ROLE:primary STATUS:ONLINE HOST:gaussdb02 ID:3 PORT:15400 DataDir:/app/gaussdb/data/data_dn2
INSTANCE:DB2_4 ROLE:standby STATUS:ONLINE HOST:gaussdb03 ID:4 PORT:15421 DataDir:/app/gaussdb/data/data_dn2
---------------------------------------------------------Instances Status in Group (group_3)----------------------------------------------------------
INSTANCE:DB3_6 ROLE:standby STATUS:ONLINE HOST:gaussdb01 ID:6 PORT:15421 DataDir:/app/gaussdb/data/data_dn3
INSTANCE:DB3_5 ROLE:primary STATUS:ONLINE HOST:gaussdb03 ID:5 PORT:15400 DataDir:/app/gaussdb/data/data_dn3
-----------------------------------------------------------------------Manage IP----------------------------------------------------------------------
HOST:gaussdb01 IP:192.168.210.123
HOST:gaussdb02 IP:192.168.210.124
HOST:gaussdb03 IP:192.168.210.125
-------------------------------------------------------------------Query Action Info------------------------------------------------------------------
HOSTNAME: gaussdb02 TIME: 2020-03-16 15:57:35.172314
------------------------------------------------------------------------Float Ip------------------------------------------------------------------
HOST:gaussdb01 DB1_1:192.168.210.123 IP:
HOST:gaussdb02 DB2_3:192.168.210.124 IP:
HOST:gaussdb03 DB3_5:192.168.210.125 IP:
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ zsql / as sysdba -D /app/gaussdb/data/data_dn1/ -q
connected.
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
-------------------- --------------------
DB1_2 OPEN
1 rows fetched.
SQL> select name,status,open_status,database_condition,database_role from v$database;
NAME STATUS OPEN_STATUS DATABASE_CONDITION DATABASE_ROLE
-------------------------------- -------------------- -------------------- ------------------ ------------------------------
GAUSS OPEN READ ONLY DISCONNECTED PHYSICAL_STANDBY
1 rows fetched.
SQL> exit
[omm@gaussdb02 ~]$
复制
检测WhetherDoFailoverAutomatically参数是true,正常
[omm@gaussdb02 ~]$ cm ctl list | grep WhetherDoFailoverAutomatically
WhetherDoFailoverAutomatically = true true Specifies whether to execute failover automatically.
[omm@gaussdb02 ~]$
复制
检查主备DN参数正常,重启备DN也无法解决,故重建备DN。
重建备DN
1.停止备DN实例
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ gs_om -t stop -h gaussdb02 -I DB1_2
Stopping instance
=========================================
Set output to terminal.
2020-03-16 16:06:49+08:00 [info] Stop [user:root][host:(192.168.179.21)].
2020-03-16 16:06:49+08:00 [info] Stop Instance DB1_2 on host (gaussdb02).
2020-03-16 16:06:54+08:00 [info] stop (AZ1/gaussdb02/DB1_2) successfully.
Successfully stopped instance.
=========================================
End stop instance.
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ gs_om -t status
Set output to terminal.
--------------------------------------------------------------------Cluster Status--------------------------------------------------------------------
az_state : single_az
cluster_state : Degraded
balanced : true
----------------------------------------------------------------------AZ Status-----------------------------------------------------------------------
AZ:AZ1 ROLE:primary STATUS:ONLINE
---------------------------------------------------------------------Host Status----------------------------------------------------------------------
HOST:gaussdb01 AZ:AZ1 STATUS:ONLINE IP:192.168.210.123
HOST:gaussdb02 AZ:AZ1 STATUS:ONLINE IP:192.168.210.124
HOST:gaussdb03 AZ:AZ1 STATUS:ONLINE IP:192.168.210.125
----------------------------------------------------------------Cluster Manager Status----------------------------------------------------------------
INSTANCE:CM2 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:602
INSTANCE:CM1 ROLE:slave STATUS:ONLINE HOST:gaussdb03 ID:601
---------------------------------------------------------------------ETCD Status----------------------------------------------------------------------
INSTANCE:ETCD1 ROLE:follower STATUS:ONLINE HOST:gaussdb01 ID:701 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
INSTANCE:ETCD2 ROLE:follower STATUS:ONLINE HOST:gaussdb02 ID:702 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
INSTANCE:ETCD3 ROLE:leader STATUS:ONLINE HOST:gaussdb03 ID:703 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
----------------------------------------------------------------------CN Status-----------------------------------------------------------------------
INSTANCE:cn_401 ROLE:no role STATUS:ONLINE HOST:gaussdb01 ID:401 PORT:9009 DataDir:/app/gaussdb/data/data_cn1
INSTANCE:cn_402 ROLE:no role STATUS:ONLINE HOST:gaussdb02 ID:402 PORT:9009 DataDir:/app/gaussdb/data/data_cn2
INSTANCE:cn_403 ROLE:no role STATUS:ONLINE HOST:gaussdb03 ID:403 PORT:9009 DataDir:/app/gaussdb/data/data_cn3
----------------------------------------------------------------------GTS Status----------------------------------------------------------------------
INSTANCE:GTS1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:441 PORT:13000 DataDir:/app/gaussdb/data/data_gts
INSTANCE:GTS2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:442 PORT:13000 DataDir:/app/gaussdb/data/data_gts
---------------------------------------------------------Instances Status in Group (group_1)----------------------------------------------------------
INSTANCE:DB1_1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:1 PORT:15400 DataDir:/app/gaussdb/data/data_dn1
INSTANCE:DB1_2 ROLE:standby STATUS:STOPPED HOST:gaussdb02 ID:2 PORT:15421 DataDir:/app/gaussdb/data/data_dn1
---------------------------------------------------------Instances Status in Group (group_2)----------------------------------------------------------
INSTANCE:DB2_3 ROLE:primary STATUS:ONLINE HOST:gaussdb02 ID:3 PORT:15400 DataDir:/app/gaussdb/data/data_dn2
INSTANCE:DB2_4 ROLE:standby STATUS:ONLINE HOST:gaussdb03 ID:4 PORT:15421 DataDir:/app/gaussdb/data/data_dn2
---------------------------------------------------------Instances Status in Group (group_3)----------------------------------------------------------
INSTANCE:DB3_6 ROLE:standby STATUS:ONLINE HOST:gaussdb01 ID:6 PORT:15421 DataDir:/app/gaussdb/data/data_dn3
INSTANCE:DB3_5 ROLE:primary STATUS:ONLINE HOST:gaussdb03 ID:5 PORT:15400 DataDir:/app/gaussdb/data/data_dn3
-----------------------------------------------------------------------Manage IP----------------------------------------------------------------------
HOST:gaussdb01 IP:192.168.210.123
HOST:gaussdb02 IP:192.168.210.124
HOST:gaussdb03 IP:192.168.210.125
-------------------------------------------------------------------Query Action Info------------------------------------------------------------------
HOSTNAME: gaussdb02 TIME: 2020-03-16 16:06:58.498366
------------------------------------------------------------------------Float Ip------------------------------------------------------------------
HOST:gaussdb01 DB1_1:192.168.210.123 IP:
HOST:gaussdb02 DB2_3:192.168.210.124 IP:
HOST:gaussdb03 DB3_5:192.168.210.125 IP:
[omm@gaussdb02 ~]$
复制
2.手动删除备DN1数据库的数据文件、REDO日志以及archive_log。
说明:不要删除目录结构,只删除目录下的文件。否则重建会失败。
假设故障DN备数据目录是/opt/huawei/gaussdb/data_db/dn1。
● 删除数据文件
rm /opt/huawei/gaussdb/data_db/dn1/data/*
● 删除REDO日志
rm /opt/huawei/gaussdb/redo_log/*
● 删除归档文件
rm /opt/huawei/gaussdb/data_db/dn1/archive_log/*
● 如果数据目录下存在bak_process_file文件,则同时清理该文件。
rm /opt/huawei/gaussdb/data_db/dn1/bak_process_file
3.以nomount方式启动备机,注意需要后台进程方式
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ zengine nomount -D /app/gaussdb/data/data_dn1 &
[1] 67383
[omm@gaussdb02 ~]$ starting instance(nomount)
instance started
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ ps -ef|grep zen
omm 12870 1 85 14:54 ? 01:10:58 /app/gaussdb/app/zengine/bin/zengine open --datanode -D /app/gaussdb/data/data_dn2
omm 13222 1 14 14:54 ? 00:12:02 /app/gaussdb/app/zengine/bin/zengine mount --gtsnode -D /app/gaussdb/data/data_gts
omm 67383 268321 3 16:16 pts/1 00:00:00 zengine nomount -D /app/gaussdb/data/data_dn1
omm 67849 268321 0 16:17 pts/1 00:00:00 grep --color=auto zen
omm 402321 1 7 15:14 pts/1 00:04:46 /app/gaussdb/app/zengine/bin/zengine open --coordinator -D /app/gaussdb/data/data_cn2
root 644330 629618 0 16:13 pts/2 00:00:00 tail -f zengine.rlog
[omm@gaussdb02 ~]$
复制
4.重建备机
[omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ zsql / as sysdba -D /app/gaussdb/data/data_dn1/ -q connected. SQL> build database; Succeed. SQL> SQL> SQL> shutdown immediate; Succeed. SQL> exit [1]+ 完成 zengine nomount -D /app/gaussdb/data/data_dn1 [omm@gaussdb02 ~]$
复制
5.重启数据库。
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ gs_om -t start -h gaussdb02 -I DB1_2
Starting instance
=========================================
Set output to terminal.
2020-03-16 16:29:46+08:00 [info] Start [user:root][host:(192.168.179.21)].
2020-03-16 16:29:46+08:00 [info] Start Instance DB1_2 on host (gaussdb02).
2020-03-16 16:29:54+08:00 [info] start (AZ1/gaussdb02/DB1_2) as role(standby) successfully.
Successfully started instance.
=========================================
End started instance.
[omm@gaussdb02 ~]$
复制
6.重建完成后,查询数据库状态是否正常。
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ gs_om -t status
Set output to terminal.
--------------------------------------------------------------------Cluster Status--------------------------------------------------------------------
az_state : single_az
cluster_state : Normal
balanced : true
----------------------------------------------------------------------AZ Status-----------------------------------------------------------------------
AZ:AZ1 ROLE:primary STATUS:ONLINE
---------------------------------------------------------------------Host Status----------------------------------------------------------------------
HOST:gaussdb01 AZ:AZ1 STATUS:ONLINE IP:192.168.210.123
HOST:gaussdb02 AZ:AZ1 STATUS:ONLINE IP:192.168.210.124
HOST:gaussdb03 AZ:AZ1 STATUS:ONLINE IP:192.168.210.125
----------------------------------------------------------------Cluster Manager Status----------------------------------------------------------------
INSTANCE:CM2 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:602
INSTANCE:CM1 ROLE:slave STATUS:ONLINE HOST:gaussdb03 ID:601
---------------------------------------------------------------------ETCD Status----------------------------------------------------------------------
INSTANCE:ETCD1 ROLE:follower STATUS:ONLINE HOST:gaussdb01 ID:701 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
INSTANCE:ETCD2 ROLE:follower STATUS:ONLINE HOST:gaussdb02 ID:702 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
INSTANCE:ETCD3 ROLE:leader STATUS:ONLINE HOST:gaussdb03 ID:703 PORT:22100 DataDir:/app/gaussdb/data/data_etcd
----------------------------------------------------------------------CN Status-----------------------------------------------------------------------
INSTANCE:cn_401 ROLE:no role STATUS:ONLINE HOST:gaussdb01 ID:401 PORT:9009 DataDir:/app/gaussdb/data/data_cn1
INSTANCE:cn_402 ROLE:no role STATUS:ONLINE HOST:gaussdb02 ID:402 PORT:9009 DataDir:/app/gaussdb/data/data_cn2
INSTANCE:cn_403 ROLE:no role STATUS:ONLINE HOST:gaussdb03 ID:403 PORT:9009 DataDir:/app/gaussdb/data/data_cn3
----------------------------------------------------------------------GTS Status----------------------------------------------------------------------
INSTANCE:GTS1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:441 PORT:13000 DataDir:/app/gaussdb/data/data_gts
INSTANCE:GTS2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:442 PORT:13000 DataDir:/app/gaussdb/data/data_gts
---------------------------------------------------------Instances Status in Group (group_1)----------------------------------------------------------
INSTANCE:DB1_1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:1 PORT:15400 DataDir:/app/gaussdb/data/data_dn1
INSTANCE:DB1_2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:2 PORT:15421 DataDir:/app/gaussdb/data/data_dn1
---------------------------------------------------------Instances Status in Group (group_2)----------------------------------------------------------
INSTANCE:DB2_3 ROLE:primary STATUS:ONLINE HOST:gaussdb02 ID:3 PORT:15400 DataDir:/app/gaussdb/data/data_dn2
INSTANCE:DB2_4 ROLE:standby STATUS:ONLINE HOST:gaussdb03 ID:4 PORT:15421 DataDir:/app/gaussdb/data/data_dn2
---------------------------------------------------------Instances Status in Group (group_3)----------------------------------------------------------
INSTANCE:DB3_6 ROLE:standby STATUS:ONLINE HOST:gaussdb01 ID:6 PORT:15421 DataDir:/app/gaussdb/data/data_dn3
INSTANCE:DB3_5 ROLE:primary STATUS:ONLINE HOST:gaussdb03 ID:5 PORT:15400 DataDir:/app/gaussdb/data/data_dn3
-----------------------------------------------------------------------Manage IP----------------------------------------------------------------------
HOST:gaussdb01 IP:192.168.210.123
HOST:gaussdb02 IP:192.168.210.124
HOST:gaussdb03 IP:192.168.210.125
-------------------------------------------------------------------Query Action Info------------------------------------------------------------------
HOSTNAME: gaussdb02 TIME: 2020-03-16 16:30:05.314843
------------------------------------------------------------------------Float Ip------------------------------------------------------------------
HOST:gaussdb01 DB1_1:192.168.210.123 IP:
HOST:gaussdb02 DB2_3:192.168.210.124 IP:
HOST:gaussdb03 DB3_5:192.168.210.125 IP:
[omm@gaussdb02 ~]$
[omm@gaussdb02 ~]$ zsql / as sysdba -D /app/gaussdb/data/data_dn1/ -q
connected.
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
-------------------- --------------------
DB1_2 OPEN
1 rows fetched.
SQL> select name,status,open_status,database_condition,database_role from v$database;
NAME STATUS OPEN_STATUS DATABASE_CONDITION DATABASE_ROLE
-------------------------------- -------------------- -------------------- ------------------ ------------------------------
GAUSS OPEN READ ONLY NORMAL PHYSICAL_STANDBY
1 rows fetched.
SQL> exit
[omm@gaussdb02 ~]$
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。