数据库主备切换大杂烩

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
oracle的容灾切换过程:
-----------------------------------
以下是 adg的switchover 的切换步骤
主库2号节点
shutdown abort
备库2号节点
shutdown abort
主库1号节点
lsnrctl stop listener(停应用监听)
alter database commit to switchover to physical standby with session shutdown ;(主库状态转换为备库)
shutdown abort;
startup;
alter database recover managed standby database using current logfile disconnect from session;(开启日志应用)
备库1号节点
lsnrctl stop listener(停应用监听)
alter database recover managed standby database cancel;
alter database commit to switchover to primary with session shutdown;
alter database open;
lsnrctl start listener
alter system register;
备库2号节点启库
startup
原主库2号节点
startup
--------------------------------
oracle还有failover这在主节点有故障的时候,无法切换角色到容灾端,强行将容灾端切换成主段,带来的后果就是原主段一般需要重新搭建成容灾端。
以下是 adg的failover的切换步骤:
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.
以上只是简单的步骤,如果还涉及到主段有日志未传到备段,那么需要手工复制过去,并且在备段注册一把,并应用
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

mysql的主从切换


正常的主从切换流程:
从库: 停止 IO_THREAD 线程
从库执行 stop slave io_thread;
激活从库
执行stop slave; 和 reset master;
将原来主库变为从库
change master to master_host='原从库'
以下是 主端异常宕机(主从模式):
确保所有relay log全部更新完毕
在每个从库执行 stop slave io_thread; show processlist;直到看到Has read all relay log;表示从库的更新都执行完毕。
登录选定好的从库例端口3307 执行stop slave; 和 reset master;
进入到选定的从库数据库端口3307文件目录删除master.info relay-log.info,检查授权表,read-only参数
vim /usr/local/mysql/data/3307/my.cnf 开启log-bin = /usr/local/mysql/data/3307/mysql-bin
 另外:如果存在log-slave-updates read-only等参数一定要注释掉,然后重启mysql服务器。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
mongodb的副本集切换:
在复制集的默认设置下。 secondary 是有机会在选举中升职为主节点的。我们可以调节 priority 来使得某个节点成为主节点的可能性更高或者更低又或是禁止其成为主节点。
cfg = rs.conf()
cfg.members[2].priority = 2
rs.reconfig(cfg) 
mongodb的副本集主节点默认的是优先级为1,通过上述操作可以将id号为2的副本集的priority大于主节点,即将id号为2的副本集提升为主节点。
方法二:
rs.stepDown() 让当前的 primary 变为从节点并触发 election。
当然上面提及是手工切换副本集的方法中的其中两种,其实现在mongodb的副本集已经很智能了,当主节点的主机或者网络有问题,都会触发election产生新的主节点。
当时要是由于这些外在因素导致原主节点脱离副本集, 记得不能超过oplog可以存放操作记录的时间。不然再次加入到副本集中需要重新同步数据。


总结,上述只是目前主流数据库的手工主备切换的简单流程,比如说oracle容灾切换,在一些大型企业中都是有域名的,所以在完成这项切换以后,需要我们域名重新指定。
其实现在mysql手工切换几乎是很少了,网上有各种自动切换的方案,而且手工切换效率低下。其实现在容灾冗余上面,各种数据库的自动化程度越来越高。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值