数据库切换方法、系统、介质和装置制造方法及图纸

技术编号:21343368 阅读:16 留言:0更新日期:2019-06-13 22:25
本发明专利技术提供一种数据库切换方法、系统、介质和装置,包括以下步骤:数据库状态检测,确认主库是否无法对外提供服务,且判断备库是否正常;数据库切换前准备,检测主库的带外管理节点是否可用,当所述带外管理节点可用时通过所述带外管理节点对主库进行关机;数据库切换,从共享磁盘组读取主库的控制文件并在所述备库进行恢复,在备库注册所述主库的所有数据文件和归档日志,将所述备库切换为新主库。本发明专利技术的一种数据库切换方法、系统、介质和装置,用于基于程序自带的运行脚本实现主库是否发生故障的自动检测,并在检测到主库发生故障后实现数据库的自动切换;达到数据库快速切换的目的;并利用共享磁盘组中主库的归档日志进行恢复,实现了数据无损切换。

Database switching methods, systems, media and devices

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(重做)日志文件并在所述备库进行恢复,在所述备库注册所述主库的所有数据文件和归档日志,将所述备库切换为新主库。于本专利技术的一实施例中,所述步骤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,当所述备库没有断档时进入数据库切换前准备。于本专利技术的一实施例中,所述第一预设时间间隔为10秒,所述第二预设时间间隔为1分钟,所述第三预设时间间隔为1小时,所述第四预设时间间隔为10秒,所述第四预设次数为五次。于本专利技术的一实施例中,步骤S12,数据库切换前准备,检测所述主库的带外管理节点是否可用,当所述带外管理节点可用时通过所述带外管理节点对所述主库进行关机具体包括以下步骤;步骤S1201,检测所述主库的带外管理节点是否可用;步骤S1202,当所述带外管理节点不可用时,按照第五预设时间间隔尝试第五预设次数;步骤S1203,当所述带外管理节点可用时或在第五预设时间间隔尝试第五预设次数内所述带外管理节点可用时,使用所述带外管理节点关闭所述主库;步骤S1204,当所述带外管理节点不能关闭所述主库时,按照第六预设时间间隔尝试第六预设次数;步骤S1205,当按照第五预设时间间隔尝试第五预设次数后所述带外管理节点还是不可用时,或当按照第六预设时间间隔尝试第六预设次数内所述带外管理节点能关闭所述主库时,或当按照第六预设时间间隔尝试第六预设次数后述带外管理节点不能关闭所述主库时,检测所述主库是否被关机;步骤S1206,当所述主库未被关机时,则所述主库无法关闭不能完成所述主库与备库的切换;步骤S1207,当所述主库被关机时,则执行切换脚本。于本专利技术的一实施例中,所述第五预设时间间隔为5秒,所述第五预设次数为4次;所述第六预设时间间隔为10秒,所述第六预设次数为9次。于本专利技术的一实施例中,所述步骤S13,数据库切换,从共享磁盘组读取所述主库的控制文件与REDO日志并在所述备库进行恢复,在所述备库注册所述主库的所有数据文件和归档日志,将所述备库切换为新主库具体包括以下步骤;步骤S1301,检查所述备库切换为主库过程中必要的参数是否正常;步骤S1302,关闭所述备库正在进行的会话;步骤S1303,登录所述备库,创建所述备库的数据库连接;步骤S1304,处理共享磁盘组;步骤S1305,在备库检测共享磁盘组状态是否为mount状态;步骤S1306,当所述共享磁盘组为nomount状态时,启动所述共享磁盘组到mount状态;步骤S1307,当所述共享磁盘组为mount状态时,检测所述备库的控制文件状态;步骤S1308,启动所述共享磁盘组到mount状态失败时,按照第七预设时间间隔尝试第七预设次数;若成功启动所述共享磁盘组到mount状态则跳转至步骤S1307;步骤S1309,若启动所述共享磁盘组到mount状态失败则切换失败;步骤S1310,返回失败的原因;步骤S1311,当所述备库的控制文件状态可用时,检测所述备库的角色;步骤S1312,当所述备库的角色已经为主库时,则无需切换所述备库的角色;步骤S1313,当所述备库的角色还为备库时,备份所述备库的控制文件至所述共享磁盘组;步骤S1314,关闭所述备库的数据库;步骤S1315,启动所述备库到nomount状态;若不成功则跳转至步骤S1309;步骤S1316,从所述共享磁盘组读取所述主库的控制文件与REDO日志并在所述备库进行恢复;若不成功则跳转至步骤S1309;步骤S1317,启动所述备库到mount状态;若不成功则跳转至步骤S1309;步骤S1318,注册所述备库的所有数据文件和归档日志;若不成功则跳转至步骤S1309;步骤S1319,将所述备库正式切换为新主库;若不成功则跳转至步骤S1309;步骤S1320,启动所述新主库的数据库;若不成功则跳转至步骤S1309;步骤S1321,处理所述新主库的临时表空间和归档日志;若不成功则跳转至步骤S1309;步骤本文档来自技高网...

【技术保护点】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1