The invention provides a database switching method, system, medium and device, which includes the following steps: database state detection, confirming whether the main library can not provide services to the outside world, and judging whether the standby is normal; preparing before database switching, detecting whether the out-of-band management node of the main library is available, and conducting the main library through the out-of-band management node when the out-of-band management node is available. Shutdown; database switchover, reading control files of the main library from the shared disk group and restoring the main library, registering all data files and archiving logs of the main library in the standby, and switching the standby to a new main library. A database switching method, system, medium and device of the present invention is used to realize automatic detection of the main library failure based on the running script provided by the program, and to realize automatic switching of the database after detecting the main library failure; to achieve the purpose of fast switching of the database; and to restore the main library archive log in the shared disk group, so as to realize data lossless. Switch.
【技术实现步骤摘要】
数据库切换方法、系统、介质和装置
本专利技术涉及数据库切换领域,特别是涉及一种数据库切换方法、系统、介质和装置。
技术介绍
在现有的互联网形态,要求数据可以7*24小时不间断的服务。长时间的停止业务或者数据丢失都会造成资损,这是互联网公司所不愿看到的。而现有技术中采用的切换方式要么需要人工进行切换,要么切换时间超长,要么切换后会有少部分数据丢失。如Oracle数据库自带的switchover进行主从切换,主要缺点如下:数据自带的DG切换方案,利用数据命令进行手工切换。属于计划内的手工操作,无法处理紧急情况。切换时间较长,尤其是大数据库切换需要花费1个小时甚至更久。不能自动进行数据库状态检测,需要过多人工介入处理。如Oracle数据库自带的failover进行强制切换,主要缺点如下:宕机后需要人工进行处理,造成部分数据丢失。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种数据库切换方法、系统、介质和装置,用于解决现有技术中如何自动判断主库是否可用,如何实现自动切换,如何避免人工介入处理;如何避免切换数据库时间长;如何避免切换时造成的数据丢失的问题。为实现上述目的及其他相关目的,本专利技术提供一种数据库切换方法,包括以下步骤:步骤S11,数据库状态检测,确认所述主库是否无法对外提供服务,且判断备库是否正常;步骤S12,数据库切换前准备,检测所述主库的带外管理节点是否可用,当所述带外管理节点可用时通过所述带外管理节点对所述主库进行关机;步骤S13,数据库切换,从共享磁盘组读取所述主库的控制文件和REDO(重做)日志文件并在所述备库进行恢复,在 ...
【技术保护点】
1.一种数据库切换方法,其特征在于,包括以下步骤:步骤S11,数据库状态检测,确认所述主库是否无法对外提供服务,且判断备库是否正常;步骤S12,数据库切换前准备,检测所述主库的带外管理节点是否可用,当所述带外管理节点可用时通过所述带外管理节点对所述主库进行关机;步骤S13,数据库切换,从共享磁盘组读取所述主库的控制文件和REDO日志文件并在所述备库进行恢复,在所述备库注册所述主库的所有数据文件和归档日志,将所述备库切换为新主库。
【技术特征摘要】
1.一种数据库切换方法,其特征在于,包括以下步骤:步骤S11,数据库状态检测,确认所述主库是否无法对外提供服务,且判断备库是否正常;步骤S12,数据库切换前准备,检测所述主库的带外管理节点是否可用,当所述带外管理节点可用时通过所述带外管理节点对所述主库进行关机;步骤S13,数据库切换,从共享磁盘组读取所述主库的控制文件和REDO日志文件并在所述备库进行恢复,在所述备库注册所述主库的所有数据文件和归档日志,将所述备库切换为新主库。2.根据权利要求1所述的数据库切换方法,其特征在于,所述步骤S11,数据库状态检测,确认所述主库是否无法对外提供服务,且判断备库是否正常具体包括以下步骤;步骤S1101,运行确认所述主库是否无法对外提供服务,且判断备库是否正常的脚本;步骤S1102,判断是否正在执行其他切换程序;步骤S1103,当正在执行其他切换程序时,则退出步骤S11的执行;步骤S1104,当没有正在执行其他切换程序时,按照第一预设时间间隔与所述主库创建连接;步骤S1105,判断与所述主库创建连接是否成功;步骤S1106,当与所述主库创建连接不成功时,判断所述备库与所述主库的延迟是否超过第二预设时间间隔且未超过第三预设时间间隔;当所述备库与所述主库的延迟未超过第二预设时间间隔或超过第三预设时间间隔则跳转至步骤S1104;步骤S1107,当与所述主库创建连接成功时,判断所述主库心跳表是否能正常插入数据;当所述主库心跳表能够正常插入数据时则跳转至步骤S1104;步骤S1108,当所述主库心跳表不能正常插入数据,按照第四预设时间间隔共尝试第四预设次数对所述主库心跳表插入数据;当在第四预设时间间隔共尝试第四预设次数内所述主库心跳表能正常插入数据则跳转至步骤S1104;步骤S1109,当所述备库与所述主库的延迟超过第二预设时间间隔且未超过第三预设时间间隔时,检测网关是否可用;当所述网关不可用时跳转至步骤S1104;步骤S1110,当所述网关可用时判断所述主库的IP是否可用;步骤S1111,当所述主库的IP可用时,尝试修复所述主库;当修复所述主库时则跳转至步骤S1104;步骤S1112,当修复所述主库失败时或所述主库的IP不可用时,检测所述备库的状态是否可用;步骤S1113,当所述备库的状态可用时,检测所述备库是否有断档;当所述备库有断档时则跳转至步骤S1104;步骤S1114,当所述备库没有断档时进入数据库切换前准备。3.根据权利要求2所述的数据库切换方法,其特征在于,所述第一预设时间间隔为10秒,所述第二预设时间间隔为1分钟,所述第三预设时间间隔为1小时,所述第四预设时间间隔为10秒,所述第四预设次数为五次。4.根据权利要求1所述的数据库切换方法,其特征在于,步骤S12,数据库切换前准备,检测所述主库的带外管理节点是否可用,当所述带外管理节点可用时通过所述带外管理节点对所述主库进行关机具体包括以下步骤;步骤S1201,检测所述主库的带外管理节点是否可用;步骤S1202,当所述带外管理节点不可用时,按照第五预设时间间隔尝试第五预设次数;步骤S1203,当所述带外管理节点可用时或在第五预设时间间隔尝试第五预设次数内所述带外管理节点可用时,使用所述带外管理节点关闭所述主库;步骤S1204,当所述带外管理节点不能关闭所述主库时,按照第六预设时间间隔尝试第六预设次数;步骤S1205,当按照第五预设时间间隔尝试第五预设次数后所述带外管理节点还是不可用时,或当按照第六预设时间间隔尝试第六预设次数内所述带外管理节点能关闭所述主库时,或当按照第六预设时间间隔尝试第六预设次数后述带外管理节点不能关闭所述主库时,检测所述主库是否被关机;步骤S1206,当所述主库...
【专利技术属性】
技术研发人员:严永峰,马颂华,张小虎,梁宝利,毛震鹏,
申请(专利权)人:天翼电子商务有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。