CN112764967A - 一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法 - Google Patents
一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法 Download PDFInfo
- Publication number
- CN112764967A CN112764967A CN202011593743.6A CN202011593743A CN112764967A CN 112764967 A CN112764967 A CN 112764967A CN 202011593743 A CN202011593743 A CN 202011593743A CN 112764967 A CN112764967 A CN 112764967A
- Authority
- CN
- China
- Prior art keywords
- server
- database
- information
- environment
- control information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004886 process control Methods 0.000 claims abstract description 108
- 238000004891 communication Methods 0.000 claims abstract description 4
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000002360 preparation method Methods 0.000 claims description 9
- 238000013515 script Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000012550 audit Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法,包括源数据库、目标数据库和信息服务器,所述的源数据库为DataGuard环境部署前运行的数据库,用于在数据库切换前提供服务,并向目标数据库传输数据,包括分别运行数据库实例的第一服务器和第二服务器,所述的目标数据库为DataGuard环境部署后运行的数据库,用于在切换前从源数据库接收数据,并在切换后作为新的源数据库,包括分别运行数据库实例的第三服务器和第四服务器,所述的信息服务器分别与源数据库和目标数据库通信连接,用于传送环境配置信息和流程控制信息,与现有技术相比,本发明具有提高效率等优点。
Description
技术领域
本发明涉及ORACLE数据库领域,尤其是涉及一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法。
背景技术
Oracle数据库提供了安全可靠的数据解决方案,包括Oracle RAC和DataGuard功能。其中Oracle RAC实现了多个服务器节点同时访问维护一套数据的功能,实现了高可用和负载均衡,一台节点故障不影响业务的运行。Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从源数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。在DataGuard环境中,源数据库和目标数据库可以进行切换,正常情况下源数据库作为生产数据库,目标数据库作为灾备数据库,当源数据库发生故障时,可以在短时间内将目标数据库切换成生产环境,保障生产系统的运行;使用DataGuard的源数据库与目标数据库的切换功能,可以实现数据库在不同的硬件设备上的迁移。
Oracle DataGuard环境的部署、源数据库和目标数据库的切换,需要对Oracle的深入理解和专业的技术能力,操作比较复杂。目前市场上主要是通过数据库专家手工实施,实施周期长,并且实施过程中有多项参数需要从实施环境中获取,实施命令较多,容易失误导致出错。尤其是在需要大量部署Oracle DataGuard环境和数据库切换的场景下,大部分为重复性工作、效率低下。
中国专利CN201210139205.9公开了一种保持Oracle数据库服务高可用的实现方法,包括:为各数据库节点分配虚拟IP;对数据库节点进行心跳检测,判断数据库主、从节点是否存活,当发现主节点不可访问时,自动将虚拟IP飘移至从节点,并切换从节点的身份为主节点,该发明适用于ORACLE数据库的DATAGUARD特性,可以在不丢失数据的前提下实现数据库的主从切换。但是该方案需要部署一套DataGuard环境,切换过程步骤操作复杂,效率低且容易发生失误导致出错。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种高效率的ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法。
本发明的目的可以通过以下技术方案来实现:
一种ORACLE数据库系统,包括源数据库、目标数据库和信息服务器,所述的源数据库为DataGuard环境部署前运行的数据库,用于在数据库切换前提供服务,并向目标数据库传输数据,包括分别运行数据库实例的第一服务器和第二服务器,所述的目标数据库为DataGuard环境部署后运行的数据库,用于在切换前从源数据库接收数据,并在切换后作为新的源数据库,包括分别运行数据库实例的第三服务器和第四服务器,所述的信息服务器分别与源数据库和目标数据库通信连接,用于传送环境配置信息和流程控制信息。
进一步地,所述的第一服务器和第二服务器在Oracle RAC环境的源数据库环境中各自运行一个数据库实例,共同管理一份数据;
所述的第三服务器和第四服务器在Oracle RAC环境的目标数据库环境中各自运行一个数据库实例,共同管理一份数据。
更进一步地,所述的第一服务器和第二服务器管理同一个数据库,所述的第三服务器和第四服务器管理同一个数据库。
更进一步地,所述的信息服务器用于提供第一服务器、第二服务器、第三服务器和第四服务器之间上传/下载的环境配置信息和流程控制信息;
所述的环境配置信息包括源数据库和目标数据库的环境参数,所述的环境参数包括各服务器的IP地址、主机名、数据库名和端口;
所述的流程控制信息包括第一服务器、第二服务器、第三服务器和第四服务器的执行顺序信息。
一种如所述的ORACLE数据库系统的DataGuard环境部署方法,用于实现源数据库到目标数据库的环境部署和文件同步,包括以下步骤:
S11:所述的第一服务器从信息服务器上获取环境配置信息,初始化运行环境和配置源数据库环境,并在完成后将环境配置信息和流程控制信息上传到信息服务器上;
S12:所述的第三服务器、第四服务器和第二服务器根据流程控制信息按照顺序依次从信息服务器上获取环境配置信息,进行对应数据库的环境配置,并在完成后将流程控制信息上传到信息服务器上;
S13:所述的第三服务器根据流程控制信息发起数据文件同步请求,并在完成后将流程控制信息上传到信息服务器上;
S14:所述的第一服务器根据流程控制信息开启应用日志同步功能,并在完成后将流程控制信息上传到信息服务器上;
S15:所述的第四服务器根据流程控制信息进行Oracle RAC环境配置,并在完成后将流程控制信息上传到信息服务器上;
S16:所述的第三服务器根据流程控制信息进行Oracle RAC环境配置和日志接收。
进一步地,所述的第一服务器初始化运行环境和配置源数据库环境,具体包括:创建备份日志;修改配置文件,在其中加入目标数据库的定义;生成ORACLE数据库的密码文件和参数文件;
所述的第三服务器进行目标数据库环境配置,具体包括:创建ORACLE数据库审计目录;从信息服务器上下载密码文件;修改ORACLE数据库的“init数据库名.ora”文件;注册监听服务;修改配置文件,在其中加入源数据库和目标数据相关定义;获取并修改第一服务器生成的参数文件,生成新的参数文件,并利用新生成的参数文件启动数据库到mount状态;
所述的第四服务器进行目标数据库环境配置,具体包括:创建Oracle数据库审计目录;从信息服务器上下载密码文件;修改ORACLE数据库的“init数据库名.ora”文件;注册监听服务;修改配置文件,在其中加入源数据库和目标数据库的定义;
所述的第二服务器进行源数据库环境配置,具体包括:
从信息服务器上下载密码文件;修改ORACLE数据库的配置文件,在其中加入目标数据库第三服务器和第四服务器的定义。
进一步地,所述的第四服务器进行Oracle RAC环境配置,具体包括:修改ORACLE数据库的“init数据库名.ora”文件;
所述的第三服务器进行Oracle RAC环境配置和日志接收,具体包括:修改Oracle数据库的参数文件;配置RAC功能;注册动态监听;启用日志同步和应用日志;循环检查日志同步情况。
一种如所述的ORACLE数据库系统的数据库切换方法,用于实现源数据库与目标数据库的切换,包括以下步骤:
S21:所述的第四服务器从信息服务器上获取环境配置信息,检查环境和停止数据库实例,并在完成后将流程控制信息上传到信息服务器上;
S22:所述的第二服务器和第一服务器根据流程控制信息,按照顺序依次进行切换准备工作,并在完成后将流程控制信息上传到信息服务器上;
S23:所述的第一服务器或第二服务器根据流程控制信息,进行源数据库备份,并在完成后将流程控制信息上传到信息服务器上;
S24:所述的源数据库根据流程控制信息,切换至备份状态,并在完成后将流程控制信息上传到信息服务器上;
S25:所述的第三服务器根据流程控制信息,切换到源数据库环境,并在完成后将流程控制信息上传到信息服务器上;
S26:所述的第一服务器根据流程控制信息,接收日志并应用日志,并在完成后将流程控制信息上传到信息服务器上;
S27:所述的第二服务器根据流程控制信息,启动源数据库实例,并在完成后将流程控制信息上传到信息服务器上;
S28:所述的第三服务器根据流程控制信息,开启日志同步功能,进行日志同步传输。
进一步地,所述的第四服务器检查环境和停止数据库实例,具体包括:
首先从信息服务器上获取环境配置信息,循环检查目标数据库环境中归档空间设置,判断可用归档空间是否充足,若是,则停止第四服务器运行的数据库实例,否则等待扩容空间;
所述的第二服务器进行切换准备工作,具体包括:
分别检查源数据库的作业和事务是否完成、检查其他应用与第二服务器运行的数据库实例的连接是否断开,若均为是,则锁定用户,生成响应的解锁脚本并将脚本上传到信息服务器上,同时关闭第二服务器运行的数据库实例;
所述的第一服务器进行切换准备工作,具体包括:
停止使用源数据库的其他应用的运行,并将对应的配置文件和配置信息上传到信息服务器上;采集源数据库信息,并将源数据库信息上传到信息服务器上;重启第一服务器运行的数据库实例。
进一步地,所述的第一服务器或第二服务器进行源数据库备份,具体包括:
启动源数据库实例并发起数据备份,通过循环判断数据备份是否完成,若是,则停止数据库实例,否则继续进行数据备份;
所述的第三服务器切换到源数据库环境,具体包括:
从信息服务器获取第二服务器生成的解锁脚本和第一服务器生成的源数据库信息,以及第一服务器生成的其他应用对应的配置文件和配置信息,将目标数据库切换到源数据库环境,并通过将循环采集的目标数据库信息与从信息服务器上获取的源数据库信息进行核对,确定是否切换成功;
所述的第三服务器进行日志同步传输,具体包括:
检查日志同步情况;完成其他应用的部署并开始备份;解锁目标数据库用户;循环检查目标数据库与源数据库日志同步情况。
与现有技术相比,本发明具有以下优点:
1)本发明简化了Oracle DataGuard的部署、切换操作,在部署过程中,需要分别在4台服务器上运行部署命令、数据文件同步命令、日志同步命令,只需要在4台服务器中每一台服务器上运行一条命令后待命令结束就完成了切换,有效提高效率;
2)本发明进行部署过程中,4台服务器总共运行10条命令,命令发布后等待执行完成即可,需要人工参与的时间在5分钟左右,与现有技术方案部署一套DataGuard环境,一个人需要近1个小时左右相比较,效率提高10倍以上;
3)本发明进行数据库切换中,4台服务器最多2分钟就可以开始命令的运行,命令运行过程需要30分钟左右,比较现有技术方案一个人2小时内最多完成4个数据库的切换工作,效率提高了50倍以上,实际环境中采用本方案能够在2小时内切换了42个数据库。
附图说明
图1为本发明系统的数据流图;
图2为本发明DataGuard环境部署方法的流程示意图;
图3为本发明数据库切换方法的流程示意图。
其中,11、第一服务器,12、第二服务器,21、第三服务器,23、第四服务器,3、信息服务器。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
如图1所示,本发明提供一种ORACLE数据库系统,包括源数据库、目标数据库和信息服务器3,源数据库在部署DataGuard环境前运行的数据库,在DataGuard切换前对外提供服务的数据库,并向目标数据库传输数据,完成DataGuard切换后作为数据备份环境,目标数据库为DataGuard环境部署后运行的新部署的环境,DataGuard切换前从源数据库接收数据,作为数据备份环境,在DataGuard后成为新的源数据库。
源数据库环境和目标数据库环境均采用2台服务器部署的Oracle Rac的架构,部署和切换过程中需要分别在四台服务器上进行相应的操作,采用了信息服务器3作为流程控制和相关配置文件的传输。在不同的服务器顺序要求的先后步骤,则前一台服务器执行完成后发送流程控制信息到信息服务器3,后一台服务器从信息服务器3上获取到相应的信息后开始执行。
源数据库包括分别运行数据库实例的第一服务器11和第二服务器12,第一服务器11和第二服务器12在Oracle RAC环境的源数据库环境中各自运行一个数据库实例,分别为实例一和实例二,共同管理一份数据。目标数据库包括分别运行数据库实例的第三服务器21和第四服务器22,第三服务器21和第四服务器22在Oracle RAC环境的目标数据库环境中各自运行一个数据库实例,分别为实例一和实例二,共同管理一份数据。
第一服务器11即源数据库的第一节点:指DataGuard切换前源数据库环境中运行实例一的节点。
第二服务器12即源数据库的第二节点:指DataGuard切换前源数据库环境中运行实例二的节点。
第三服务器21即目标数据库的第一节点:指DataGuard切换前目标数据库环境中运行实例一的节点。
第四服务器22即目标数据库的第二节点:指DataGuard切换前目标数据库环境中运行实例二的节点。
信息服务器3分别与源数据库和目标数据库通信连接,用于传送环境配置信息和流程控制信息,具体提供第一服务器11、第二服务器12、第三服务器21和第四服务器22之间上传/下载的环境配置信息和流程控制信息。
其中,环境配置信息存放源数据库、目标数据库环境参数,如各节点的IP地址、主机名、数据库名、端口等信息;流程控制信息包括第一服务器11、第二服务器12、第三服务器21和第四服务器22的执行顺序信息,在Oracle RAC环境中进行DataGuard部署、数据同步和切换,需要在多台服务器上分别进行操作,并且有先后关系,各个服务器上执行的脚本中通过检索和核对流程控制信息,自动控制每一步的执行。
如图2所示,上述ORACLE数据库系统的DataGuard环境部署方法具体流程如下,实现源数据库到目标数据库的DataGuard环境部署、数据文件同步、日志文件同步等功能:
步骤1:源数据库的第一节点从信息服务器3上获取环境配置信息,初始化运行环境和配置源数据库。
设置Oracle数据库参数force,log_archive_dest,fal_server,standby_file,file_convert等参数,创建standby log日志。修改oracle的配置文件tnsnames.ora,在其中加入目标数据库的相关定义。生成oracle数据库的密码文件,生成oracle数据库的参数文件(pfile文件),并上传到信息服务器3上。完成相关配置后将流程控制信息上传到信息服务器3上
步骤2:目标数据库的第一节点配置数据库环境。
目标数据库的第一节点从信息服务器3上获取环境配置信息,循环获取流程控制信息,判断步骤1是否完成。如果步骤1已完成则循环结束,否则等待若干时间后继续循环。完成目标数据库在该节点上的配置。创建Oracle数据库审计目录,从信息服务器3上下载密码文件,修改Oracle的“init数据库名.ora”文件,注册监听服务,修改oracle的配置文件tnsnames.ora,加入源数据库和目标数据库的相关定义,获取步骤1生成数据库参数文件(pfile文件),并根据环境配置信息修改其内容,生成新的数据库参数文件(pfile文件),使用新生成的数据库参数文件(pfile文件)启动数据库到mount(完成数据库加载控制文件和将数据库实例与数据库相关联)状态。完成配置后将步骤2已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤3:目标数据库的第二节点配置数据库环境。
在目标数据库的第二节点上从信息服务器3上获取环境配置信息,循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤2是否完成。如果步骤2已完成则跳出循环,否则继续循环。完成目标数据库在该节点上的配置。创建Oracle数据库审计目录,从信息服务器3上下载密码文件,修改数据库的“init数据库名.ora”文件,2注册监听服务,修改oracle的配置文件tnsnames.ora,加入源数据库和目标数据库的相关定义。完成配置后将步骤3已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤4:源数据库的第二节点上配置环境。
源数据库的第二节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤3是否完成,如果步骤3已完成则循环结束,否则继续执行循环。从信息服务器3上下载密码文件,修改Oracle的tnsnames文件,在其中加入目标数据库两个节点的相关定义。完成配置后将步骤4已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤5:目标数据库的第一节点同步数据库数据文件。
目标数据库的第一节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤4是否完成,如果步骤4已完成则循环结束,否则继续执行循环。循环验证到源数据库是否可以建立连接,在连接建立正常后循环结束,否则继续循环,在此期间需要排查连接故障。到源数据库连接成功后,目标数据库的第一节点上发起数据文件同步请求。在数据文件同步完成后将步骤5已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤6:源数据库的第一节点上开启日志同步功能。
源数据库的第一节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤5是否完成,如果步骤5已完成则循环结束,否则继续执行循环。在源数据库的第一节点上开启日志同步功能。完成后将步骤6已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤7:目标数据库的第二节点配置Oracle RAC环境。
在目标数据库的第二节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤6是否完成,如果步骤6已完成则循环结束,否则继续执行循环。修改数据库的“init数据库名.ora”文件。完成后将步骤7已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤8:目标数据库的第一节点上配置Oracle RAC环境,并接收和应用日志
在目标数据库的第一节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤7是否完成。如果步骤7已完成则循环结束,否则继续执行循环。修改数据库参数文件(pfile文件),配置RAC功能、注册动态监听、启用日志同步和应用日志。循环检查日志同步情况,如日志同步正常则程序结束,否则继续循环检查。
如图3所示,上述ORACLE数据库系统的数据库切换方法具体流程如下,为源数据库与目标数据库进行切换,切换后将原来的目标数据库将作为新的源数据库对外提供服务,原来的源数据库作为数据备份环境:
步骤1:目标数据库的第二节点检查环境和停止数据库实例。
在目标数据库的第二节点上从信息服务器3上获取环境配置信息,循环检查目标数据库环境中归档空间设置,保证可用归档空间足够(归档空间根据实际情况判断,具体数量存放在环境配置信息中或者写入程序中)。如空间不足则发出提示,等待扩容空间,然后继续执行循环,否则循环结束。停止数据库实例运行。完成后将步骤1已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤2:源数据库的第二节点上完成切换准备工作。
源数据库的第二节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤1是否完成。如果步骤1已完成则循环结束,否则继续循环。循环检查源数据库作业(job)、事务(transaction)是否完成,应用程序或其他软件到源数据库实例2的连接是否断开。如果完成则循环结束,否则继续执行循环。锁定用户,并生成响应的解锁脚本并将脚本上传到信息服务器3上,关闭数据库实例。完成后将步骤2已完成的信息写入流程控制信息并上传到信息服务器3上
步骤3:源数据库的第一节点上完成切换准备工作。
源数据库的第一节点上从信息服务器3上获取上一步上传的信息。循环从信息服务器3上获取流程控制信息,核对其中内容,判断步骤2是否完成。如果步骤2已完成循环结束,否则继续执行循环。停止其他使用源数据库的软件的运行(如shareplex等),并将这些软件相关的配置文件、配置信息上传到信息服务器3上。采集源数据库信息,如数据库对象数目和状态、用于核对数据传输的表的记录等,并将信息上传到信息服务器3上。重启数据库实例。完成后将步骤3已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤4:源数据库备份,本步骤可以在任一个源数据库节点上运行,本实施例以源数据库的第二节点为例。
为保障生产数据的安全,切换前需要备份数据。源数据库的第二节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤3是否完成,如果步骤3已完成则跳出循环,否则继续循环。启动源数据库实例,并发起备份。循环判断数据备份是否完成,已完成则跳出循环,否则继续循环。停止数据库实例,完成后将步骤4已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤5:源数据库切换至stand by备份状态。
源数据库的第一节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤4是否完成,如果步骤4已完成则循环结束,否则继续执行循环。将源数据库切换到stand by状态,完成后将步骤5已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤6:目标数据库的第一节点将数据库切换到primary源数据库环境。
目标数据库的第一节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤5是否完成,如果步骤5已完成则循环结束,否则继续执行循环。从信息服务器3获取步骤2生成的解锁用户脚本,步骤3生成的数据库信息,步骤3生成的其他软件的相关配置文件、配置信息。将目标数据库切换到primary环境,编译对象。循环采集目标数据库信息并与从信息服务器3上获取的信息进行核对,如核对正确则循环结束,否则继续执行循环,期间可以人工排查相关错误项。启动目标数据库的第一节点上的数据库实例。完成后将步骤6已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤7:源数据库的第一节点上接收日志并应用日志。
源数据库的第一节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤6是否完成,如果步骤6已完成则循环结束,否则继续执行循环。应用日志。完成后将步骤7已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤8:源数据库的第二节点上启动数据库实例。
源数据库的第二节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤7是否完成,如果步骤7已完成则循环结束,否则继续执行循环。启动源数据库实例。完成后将步骤8已完成的信息写入流程控制信息并上传到信息服务器3上。
步骤9:目标数据库的第一节点上开启日志同步传输。
目标数据库的第一节点上循环从信息服务器3上获取上一步上传的流程控制信息,核对其中内容,判断步骤8是否完成,如果步骤8已完成则循环结束,否则继续执行循环。检查日志同步情况。完成其他软件的部署,开始备份,备份完成后,解锁目标数据库用户。循环检查目标数据库与源数据库日志同步情况。如日志同步正常则程序循环结束,否则继续执行循环。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种ORACLE数据库系统,其特征在于,包括源数据库、目标数据库和信息服务器(3),所述的源数据库为DataGuard环境部署前运行的数据库,用于在数据库切换前提供服务,并向目标数据库传输数据,包括分别运行数据库实例的第一服务器(11)和第二服务器(12),所述的目标数据库为DataGuard环境部署后运行的数据库,用于在切换前从源数据库接收数据,并在切换后作为新的源数据库,包括分别运行数据库实例的第三服务器(21)和第四服务器(22),所述的信息服务器(3)分别与源数据库和目标数据库通信连接,用于传送环境配置信息和流程控制信息。
2.根据权利要求1所述的一种ORACLE数据库系统,其特征在于,所述的第一服务器(11)和第二服务器(12)在Oracle RAC环境的源数据库环境中各自运行一个数据库实例,共同管理一份数据;
所述的第三服务器(21)和第四服务器(22)在Oracle RAC环境的目标数据库环境中各自运行一个数据库实例,共同管理一份数据。
3.根据权利要求2所述的一种ORACLE数据库系统,其特征在于,所述的第一服务器(11)和第二服务器(12)管理同一个数据库,所述的第三服务器(21)和第四服务器(22)管理同一个数据库。
4.根据权利要求3所述的一种ORACLE数据库系统,其特征在于,所述的信息服务器(3)用于提供第一服务器(11)、第二服务器(12)、第三服务器(21)和第四服务器(22)之间上传/下载的环境配置信息和流程控制信息;
所述的环境配置信息包括源数据库和目标数据库的环境参数,所述的环境参数包括各服务器的IP地址、主机名、数据库名和端口;
所述的流程控制信息包括第一服务器(11)、第二服务器(12)、第三服务器(21)和第四服务器(22)的执行顺序信息。
5.一种如权利要求1-4任一项所述的ORACLE数据库系统的DataGuard环境部署方法,用于实现源数据库到目标数据库的环境部署和文件同步,其特征在于,包括以下步骤:
S11:所述的第一服务器(11)从信息服务器(3)上获取环境配置信息,初始化运行环境和配置源数据库环境,并在完成后将环境配置信息和流程控制信息上传到信息服务器(3)上;
S12:所述的第三服务器(21)、第四服务器(22)和第二服务器(12)根据流程控制信息按照顺序依次从信息服务器(3)上获取环境配置信息,进行对应数据库的环境配置,并在完成后将流程控制信息上传到信息服务器(3)上;
S13:所述的第三服务器(21)根据流程控制信息发起数据文件同步请求,并在完成后将流程控制信息上传到信息服务器(3)上;
S14:所述的第一服务器(11)根据流程控制信息开启应用日志同步功能,并在完成后将流程控制信息上传到信息服务器(3)上;
S15:所述的第四服务器(22)根据流程控制信息进行Oracle RAC环境配置,并在完成后将流程控制信息上传到信息服务器(3)上;
S16:所述的第三服务器(21)根据流程控制信息进行Oracle RAC环境配置和日志接收。
6.根据权利要求5所述的一种ORACLE数据库系统的DataGuard环境部署方法,其特征在于,所述的第一服务器(11)初始化运行环境和配置源数据库环境,具体包括:创建备份日志;修改配置文件,在其中加入目标数据库的定义;生成ORACLE数据库的密码文件和参数文件;
所述的第三服务器(21)进行目标数据库环境配置,具体包括:创建ORACLE数据库审计目录;从信息服务器(3)上下载密码文件;修改ORACLE数据库的“init数据库名.ora”文件;注册监听服务;修改配置文件,在其中加入源数据库和目标数据相关定义;获取并修改第一服务器(11)生成的参数文件,生成新的参数文件,并利用新生成的参数文件启动数据库到mount状态;
所述的第四服务器(22)进行目标数据库环境配置,具体包括:创建Oracle数据库审计目录;从信息服务器(3)上下载密码文件;修改ORACLE数据库的“init数据库名.ora”文件;注册监听服务;修改配置文件,在其中加入源数据库和目标数据库的定义;
所述的第二服务器(12)进行源数据库环境配置,具体包括:
从信息服务器(3)上下载密码文件;修改ORACLE数据库的配置文件,在其中加入目标数据库第三服务器(21)和第四服务器(22)的定义。
7.根据权利要求6所述的一种ORACLE数据库系统的DataGuard环境部署方法,其特征在于,所述的第四服务器(22)进行Oracle RAC环境配置,具体包括:修改ORACLE数据库的“init数据库名.ora”文件;
所述的第三服务器(21)进行Oracle RAC环境配置和日志接收,具体包括:修改Oracle数据库的参数文件;配置RAC功能;注册动态监听;启用日志同步和应用日志;循环检查日志同步情况。
8.一种如权利要求1-4任一项所述的ORACLE数据库系统的数据库切换方法,用于实现源数据库与目标数据库的切换,其特征在于,包括以下步骤:
S21:所述的第四服务器(22)从信息服务器(3)上获取环境配置信息,检查环境和停止数据库实例,并在完成后将流程控制信息上传到信息服务器(3)上;
S22:所述的第二服务器(12)和第一服务器(11)根据流程控制信息,按照顺序依次进行切换准备工作,并在完成后将流程控制信息上传到信息服务器(3)上;
S23:所述的第一服务器(11)或第二服务器(12)根据流程控制信息,进行源数据库备份,并在完成后将流程控制信息上传到信息服务器(3)上;
S24:所述的源数据库根据流程控制信息,切换至备份状态,并在完成后将流程控制信息上传到信息服务器(3)上;
S25:所述的第三服务器(21)根据流程控制信息,切换到源数据库环境,并在完成后将流程控制信息上传到信息服务器(3)上;
S26:所述的第一服务器(11)根据流程控制信息,接收日志并应用日志,并在完成后将流程控制信息上传到信息服务器(3)上;
S27:所述的第二服务器(12)根据流程控制信息,启动源数据库实例,并在完成后将流程控制信息上传到信息服务器(3)上;
S28:所述的第三服务器(21)根据流程控制信息,开启日志同步功能,进行日志同步传输。
9.根据权利要求8所述的一种ORACLE数据库系统的数据库切换方法,其特征在于,所述的第四服务器(22)检查环境和停止数据库实例,具体包括:
首先从信息服务器(3)上获取环境配置信息,循环检查目标数据库环境中归档空间设置,判断可用归档空间是否充足,若是,则停止第四服务器(22)运行的数据库实例,否则等待扩容空间;
所述的第二服务器(12)进行切换准备工作,具体包括:
分别检查源数据库的作业和事务是否完成、检查其他应用与第二服务器(12)运行的数据库实例的连接是否断开,若均为是,则锁定用户,生成响应的解锁脚本并将脚本上传到信息服务器(3)上,同时关闭第二服务器(12)运行的数据库实例;
所述的第一服务器(11)进行切换准备工作,具体包括:
停止使用源数据库的其他应用的运行,并将对应的配置文件和配置信息上传到信息服务器(3)上;采集源数据库信息,并将源数据库信息上传到信息服务器(3)上;重启第一服务器(11)运行的数据库实例。
10.根据权利要求9所述的一种ORACLE数据库系统的数据库切换方法,其特征在于,所述的第一服务器(11)或第二服务器(12)进行源数据库备份,具体包括:
启动源数据库实例并发起数据备份,通过循环判断数据备份是否完成,若是,则停止数据库实例,否则继续进行数据备份;
所述的第三服务器(21)切换到源数据库环境,具体包括:
从信息服务器(3)获取第二服务器(12)生成的解锁脚本和第一服务器(11)生成的源数据库信息,以及第一服务器(11)生成的其他应用对应的配置文件和配置信息,将目标数据库切换到源数据库环境,并通过将循环采集的目标数据库信息与从信息服务器(3)上获取的源数据库信息进行核对,确定是否切换成功;
所述的第三服务器(21)进行日志同步传输,具体包括:
检查日志同步情况;完成其他应用的部署并开始备份;解锁目标数据库用户;循环检查目标数据库与源数据库日志同步情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011593743.6A CN112764967B (zh) | 2020-12-29 | 2020-12-29 | 一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011593743.6A CN112764967B (zh) | 2020-12-29 | 2020-12-29 | 一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112764967A true CN112764967A (zh) | 2021-05-07 |
CN112764967B CN112764967B (zh) | 2023-11-14 |
Family
ID=75696101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011593743.6A Active CN112764967B (zh) | 2020-12-29 | 2020-12-29 | 一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764967B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307166A1 (en) * | 2008-06-05 | 2009-12-10 | International Business Machines Corporation | Method and system for automated integrated server-network-storage disaster recovery planning |
CN102968310A (zh) * | 2012-12-05 | 2013-03-13 | 武汉烽火普天信息技术有限公司 | 一种一体化高性能应用软件架构及构建方法 |
CN105068886A (zh) * | 2015-07-30 | 2015-11-18 | 上海新炬网络信息技术有限公司 | 基于GoldenGate的灾备智能切控制方法 |
CN105786564A (zh) * | 2016-02-22 | 2016-07-20 | 上海新炬网络信息技术有限公司 | 一种Oracle的自动化定制安装部署方法 |
CN107766502A (zh) * | 2017-10-20 | 2018-03-06 | 上海新炬网络信息技术股份有限公司 | 一种Oracle RAC数据库容灾切换演练方法 |
-
2020
- 2020-12-29 CN CN202011593743.6A patent/CN112764967B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307166A1 (en) * | 2008-06-05 | 2009-12-10 | International Business Machines Corporation | Method and system for automated integrated server-network-storage disaster recovery planning |
CN102968310A (zh) * | 2012-12-05 | 2013-03-13 | 武汉烽火普天信息技术有限公司 | 一种一体化高性能应用软件架构及构建方法 |
CN105068886A (zh) * | 2015-07-30 | 2015-11-18 | 上海新炬网络信息技术有限公司 | 基于GoldenGate的灾备智能切控制方法 |
CN105786564A (zh) * | 2016-02-22 | 2016-07-20 | 上海新炬网络信息技术有限公司 | 一种Oracle的自动化定制安装部署方法 |
CN107766502A (zh) * | 2017-10-20 | 2018-03-06 | 上海新炬网络信息技术股份有限公司 | 一种Oracle RAC数据库容灾切换演练方法 |
Non-Patent Citations (4)
Title |
---|
JB51: "[Oracle] Data Guard 之 Redo传输详解", HTTPS://WWW.JB51.NET/ARTICLE/39727.HTM * |
MIR SAYEED HASSAN: "How to configure the 2 Node RAC Dataguard in Oracle 11gR2(11.2.0.4)", HTTPS://WWW.MIRSAYEEDHASSAN.COM/HOW-TO-CONFIGURE-THE-2-NODE-RAC-DATAGUARD-IN-ORACLE-11GR211-2-0-4/ * |
ORACLE 生涯日誌: "Oracle 11g - 建立RAC + DataGuard", HTTP://SHINGDONG.BLOGSPOT.COM/2016/05/ORACLE-11G-RAC-DATAGUARD.HTML * |
京智运维: "银行业Oracle RAC数据库迁移经验分享", HTTPS://WWW.MODB.PRO/DB/141022, pages 1 - 9 * |
Also Published As
Publication number | Publication date |
---|---|
CN112764967B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
US11449330B2 (en) | System and method for supporting patching in a multitenant application server environment | |
CN109639794B (zh) | 一种有状态集群恢复方法、装置、设备及可读存储介质 | |
US10895996B2 (en) | Data synchronization method, system, and apparatus using a work log for synchronizing data greater than a threshold value | |
US10394550B2 (en) | System and method for supporting patching in a multitenant application server environment | |
US9454439B2 (en) | Disaster recovery validation | |
KR101970839B1 (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
CN112491606A (zh) | 一种基于ansible的自动化部署业务系统高可用集群的方法 | |
CN106657167B (zh) | 管理服务器、服务器集群、以及管理方法 | |
CN109032838B (zh) | 虚拟机备份恢复数据一致性的自动校验方法 | |
CN112579354B (zh) | 一种边云协同软件备份恢复的方法 | |
US20160321296A1 (en) | Transactional Replicator | |
US8612799B2 (en) | Method and apparatus of backing up subversion repository | |
CN110209525B (zh) | 操作系统还原方法及装置 | |
US20030177206A1 (en) | High availability enhancement for servers using structured query language (SQL) | |
JP2005004721A (ja) | エンタープライズアプケーション用データレプリケーション方式 | |
CN112764967B (zh) | 一种ORACLE数据库系统以及DataGuard环境部署方法和数据库切换方法 | |
TWI801730B (zh) | 具系統設定資料同步功能的伺服器 | |
CN116719546A (zh) | 一种远程服务器代码更新系统及方法 | |
CN116700884A (zh) | 快照回滚数据一致性测试方法、装置、设备及介质 | |
CN111240700A (zh) | 一种跨网段服务器os部署系统及方法 | |
CN115297129B (zh) | 数据通信网络建立方法及装置 | |
CN113688143B (zh) | 具系统设定数据同步功能的服务器 | |
CN116383090B (zh) | 一种用于麒麟系统迁移工具的自动化测试方法及平台 | |
CN110535725B (zh) | 一种企业网络测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |