数据库主备切换大杂烩
来源:互联网 发布:illustrator cs6 mac 编辑:程序博客网 时间:2024/05/29 04:22
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
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.
以上只是简单的步骤,如果还涉及到主段有日志未传到备段,那么需要手工复制过去,并且在备段注册一把,并应用
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
从库: 停止 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手工切换几乎是很少了,网上有各种自动切换的方案,而且手工切换效率低下。其实现在容灾冗余上面,各种数据库的自动化程度越来越高。
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 0
- 数据库主备切换大杂烩
- 数据库大杂烩
- DATAGUARD主备数据库切换
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩
- 大杂烩.
- Java代码规范、基本类型和实例演练
- 剑指offer面试题[49]-把字符串转化为整型
- 基于openwrt的SPI TFT触摸屏程序
- Go实现map元素的间接排序操作
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 数据库主备切换大杂烩
- 真因子
- 基础知识笔记小记
- Ubuntu安装网易云音乐
- termux::安装sqlmap
- HashMap和Hashtable的详细区别
- 各种排序
- 【电力项目】s标签实现页面布局
- java(2)