用于数据库管理系统间的可插拔数据库传输的方法及系统技术方案

技术编号:14657074 阅读:236 留言:0更新日期:2017-02-16 22:34
可插拔数据库以最小化可插拔数据库的停机时间的方式在源DBMS和目的地DBMS之间被传输。当在目的地DBMS处进行可插拔数据库的拷贝时,在源DBMS处事务继续针对可插拔数据库执行并且这些事务改变可插拔数据库。最终,事务终止或停止执行。为事务生成的重做记录在源DBMS处被应用到可插拔数据库的拷贝。为事务中的至少一些事务生成的撤销记录可以被存储在分开的撤销日志中并且被传输到目的地DBMS。被传输的可插拔数据库在目的地DBMS处被同步到“可插入就绪状态”,在“可插入就绪状态”中被传输的可插拔数据库可以被插入到目的地容器DBMS中。

【技术实现步骤摘要】
【国外来华专利技术】对相关申请的交叉引用本申请涉及JaebockLee等人于2012年9月28日提交的申请号为13,631,815的美国专利申请、AndreKruglikov等人于2013年3月15日提交的申请号为13/841,272的美国专利申请、J.WilliamLee等人于2013年3月14日提交的申请号为13/830,349的美国专利申请以及VasanthRajamani等人于2013年7月24日提交的申请号为13/950,207的美国专利申请。本段中列出的美国专利申请在此通过引用被并入。
本专利技术涉及数据库系统整合,并且特别地,涉及在数据库系统之间传输数据库。
技术介绍
本部分描述的方法是可以被实行的方法,但不一定是以前已经被构思或实行的方法。因此,除非另外指示,否则不应当假设本部分所描述的方法中的任何方法仅仅由于它们包含在本部分中而被认定为现有技术。数据库整合包括在多个数据库之间分配和共享硬件平台的计算机资源。数据库整合的重要目标之一是可传输性。可传输性是在主机间高效地移动数据库的能力。可传输性便于在被整合的数据库之间分配计算机资源。本文描述的是用于提高可传输性的技术。附图说明在附图中:图1A是描绘了根据本专利技术的实施例的容器DBMS的示意图。图1B是描绘了根据本专利技术的实施例的容器DBMS的示意图。图2是示出了根据本专利技术的实施例的为了传输可插拔数据库而执行的操作的流程图。图3是示出了根据本专利技术的实施例的为了传输可插拔数据库而执行的操作的流程图。图4是描绘了在本专利技术的实施例中可以被使用的计算机系统的示意图。具体实施方式在下面的描述中,出于解释的目的,阐述了许多具体细节以便于提供对本专利技术的深入理解。然而,明显可以在没有这些具体细节的情况下实践本专利技术。在其他实例中,结构和设备以框图形式被示出以避免不必要地使本专利技术模糊。总体概述本文描述的是用于在容器数据库管理系统(“容器DBMS”)之间传输数据库的方法。容器DBMS管理容器数据库。容器数据库可以包含多个分开的隔离的数据库,它们在本文中被称为可插拔数据库。每个可插拔数据库由其自身的分开的数据库字典定义并且在某种程度上与容器数据库内的其他可插拔数据库隔离。可插拔数据库以最小化可插拔数据库的停机时间的方式在源DBMS和目的地DBMS之间被传输。当在目的地DBMS处进行可插拔数据库的拷贝时,在源DBMS处事务继续针对可插拔数据库执行并且这些事务改变可插拔数据库。最终,事务终止或停止执行。为事务生成的重做(redo)记录在源DBMS处被应用到可插拔数据库的拷贝。为事务中的至少一些事务生成的撤销(undo)记录可以被存储在分开的撤销日志中并且被传输到目的地DBMS。被传输的可插拔数据库在目的地DBMS处被同步到“可插入就绪状态”,在“可插入就绪状态”中被传输的可插拔数据库可以被插入到目的地容器DBMS中。容器数据库管理系统图1A描绘了在其上可以实现实施例的示例DBMS。参照图1A,它描绘了容器DBMS100,容器DBMS100包括数据库服务器102和容器数据库104,容器数据库104包含多个可插拔数据库。数据库服务器102管理容器数据库104以及包含在容器数据库104中的可插拔数据库。数据库服务器102表示在管理容器数据库104的一个或多个计算机系统上的软件和资源的组合。下文在数据库系统概述部分中描述了数据库服务器以及数据库服务器可以运行在其上的计算机系统的示例,然而本专利技术的实施例不限于此。虽然图1A仅描绘了特定数量的各个元件,但是实施例可以具有更多的图1A中示出的元件中的每个元件。图1B描绘了根据本专利技术的实施例的容器数据库104的更详细的视图。容器数据库104包含由数据库服务器102托管(host)和管理的多个数据库。数据库包括PluggableDatabase(可插拔数据库)PDB120、可插拔数据库PDB130、可插拔数据库PDB140和根数据库110。根数据库110是由数据库服务器102使用以全局地管理容器数据库104以及存储元数据的数据库,所述元数据定义可插拔数据库和/或定义对于多个可插拔数据库的用户可访问的“公共数据库对象”。每个可插拔数据库包括其自身的数据库字典。可插拔数据库PDB120包括数据库字典121,可插拔数据库PDB130包括数据库字典131,而可插拔数据库PDB140包括数据库字典141。类似于可插拔数据库,根数据库110包括数据库字典111。数据库字典111包含定义管理(administer)容器数据库104以及包含在其中的可插拔数据库所需要的容器数据库104的各个方面的元数据,所述元数据包括定义可插拔数据库PDB120、可插拔数据库PDB130和可插拔数据库PDB140的元数据。重做和撤销记录容器数据库104包含重做日志150和全局撤销日志152。重做日志150存储由容器DBMS100执行的事务生成的重做记录,而全局撤销日志152存储由事务生成的撤销记录。重做记录记录足够的信息以使得可以对数据库重做数据库改变,而撤销记录记录关于数据库改变的足够的信息以使得数据库中的改变可以被撤销。根据实施例,重做日志150为容器数据库104内的多个数据库保存重做记录。这些数据库包括可插拔数据库PDB120、可插拔数据库PDB130和可插拔数据库PDB140,以及根数据库110。DBMS生成许多重做记录。重做日志具有有限的大小,并且仅可以被用于有限的时间段以在DBMS生成重做记录时存储新的重做记录。通常,当重做日志达到阈值大小时,重做日志不再被用于存储重做记录。作为替代,当重做记录被生成时,新的重做记录被存储在另一个重做日志中。当新的重做记录被生成时在其中存储该新的重做记录的重做日志在此被称为当前重做日志。一旦重做日志不再被用于存储新的重做日志,则该重做日志被称为归档的重做日志。撤销记录可以被用于各种目的,诸如回滚(rollback)事务、恢复数据库、提供读一致性等。全局撤销日志152具有有限的大小。不同于重做记录,撤销记录不可以被保留在归档日志中。当事务执行时数据库服务器102可以覆写(overwrite)撤销记录以节省存储空间。当覆写撤销记录时,“最小撤销可用性”被维持。最小撤销可用性确保至少只要相应的事务是活动的情况下撤销记录的可用性,从而保证回滚中止(abort)的事务所需要的撤销记录是可用的。数据库服务器102还可以保留撤销记录至超出比为了最小撤销可用性所需要的更长的时间,从而为更长的运行的查询提供读一致性。根据实施例,全局撤销日志152为容器数据库104内的多个数据库保存撤销记录。这些数据库包括可插拔数据库PDB120、可插拔数据库PDB130和可插拔数据库PDB140,以及根数据库110。在快速可插拔数据库传输的方法中,为正在传输的可插拔数据库生成的撤销记录不是存储在全局撤销日志152中,而是作为替代被分开地存储在被称为相对于可插拔数据库的本地撤销日志的撤销日志中。如将以更多细节解释的,在快速可插拔数据库传输的方法的某一阶段期间,本地撤销日志142保存用于对可插拔数据库PDB140做出的改变的、由数据库服务器102生成的撤销记录,但是不保存用于对容器DBMS100中的其他可插拔数据库做出的改变的撤销记录。重做记录和撤销记录记录除数本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580020638.html" title="用于数据库管理系统间的可插拔数据库传输的方法及系统原文来自X技术">用于数据库管理系统间的可插拔数据库传输的方法及系统</a>

【技术保护点】
一种方法,包括以下步骤:在目的地DBMS处生成在源DBMS上托管的可插拔数据库的拷贝;在生成所述拷贝时:执行针对所述可插拔数据库发起的第一事务,生成记录所述第一事务对所述可插拔数据库做出的改变的第一重做记录,以及阻止针对所述可插拔数据库的第二事务的启动;所述目的地DBMS将所述第一重做记录应用到所述拷贝;在将所述第一重做记录应用到所述拷贝并且所述第一事务终止后:将所述拷贝插入到所述目的地DBMS中,在插入所述拷贝之后,所述目的地DBMS允许针对所述拷贝的事务的启动。

【技术特征摘要】
【国外来华专利技术】2014.03.10 US 14/202,0911.一种方法,包括以下步骤:在目的地DBMS处生成在源DBMS上托管的可插拔数据库的拷贝;在生成所述拷贝时:执行针对所述可插拔数据库发起的第一事务,生成记录所述第一事务对所述可插拔数据库做出的改变的第一重做记录,以及阻止针对所述可插拔数据库的第二事务的启动;所述目的地DBMS将所述第一重做记录应用到所述拷贝;在将所述第一重做记录应用到所述拷贝并且所述第一事务终止后:将所述拷贝插入到所述目的地DBMS中,在插入所述拷贝之后,所述目的地DBMS允许针对所述拷贝的事务的启动。2.如权利要求1所述的方法,其中所述步骤还包括所述源DBMS在所述生成所述拷贝时将所述第一重做记录的至少一部分传送到所述目的地DBMS。3.如权利要求1所述的方法,其中所述可插拔数据库属于由所述源DBMS托管的容器数据库,所述容器数据库包括一个或多个其他可插拔数据库。4.如权利要求3所述的方法,其中所述步骤还包括在所述阻止针对所述可插拔数据库的第二事务的启动时,允许针对所述一个或多个其他可插拔数据库的其他事务的启动。5.一种方法,包括:在目的地DBMS处生成在源DBMS上托管的可插拔数据库的拷贝;在生成所述拷贝时:执行针对所述可插拔数据库发起的第一事务,生成记录所述第一事务对所述可插拔数据库做出的改变的第一重做记录,以及将用于所述第一事务的撤销记录存储在第一撤销日志中,所述第一撤销日志存储为由所述源DBMS托管的一个或多个其他可插拔数据库生成的撤销...

【专利技术属性】
技术研发人员:李运睿K·拉加玛尼G·兰维帕缇高明志J·李S·翟因李宗炫
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

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

1