CN105393250A - 动态迁移脚本的管理 - Google Patents
动态迁移脚本的管理 Download PDFInfo
- Publication number
- CN105393250A CN105393250A CN201480039083.3A CN201480039083A CN105393250A CN 105393250 A CN105393250 A CN 105393250A CN 201480039083 A CN201480039083 A CN 201480039083A CN 105393250 A CN105393250 A CN 105393250A
- Authority
- CN
- China
- Prior art keywords
- migration
- server system
- script
- migration script
- target server
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于管理服务器系统之间的迁移的各种实施例被呈现。可以接收在数据库系统从源服务器系统到目标服务器系统的迁移期间要执行的多个迁移脚本的指示。可以基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以及所述多个迁移脚本的特性,确定针对所述多个迁移脚本的执行顺序。可以根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移脚本的执行。第一迁移脚本可以引起所述多个数据库对象中的一数据库对象从所述源服务器系统到所述目标服务器系统的复制。
Description
对相关申请的交叉引用
本申请与以下共同待决、共同受让的美国专利申请相关:由Higginson同步提交的、名称为“METHODANDSYSTEMFORREDUCINGINSTABILITYWHENUPGRADINGSOFTWARE”的美国专利申请No.13/937,977(代理结构案号88325-860490(135800US));由Davis同步提交的、名称为“CONSOLIDATIONPLANNINGSERVICEFORSYSTEMSMIGRATION”的美国专利申请No.13/938,061(代理结构案号88325-870368(137700US));由Davis同步提交的、名称为“MIGRATIONSERVICESFORSYSTEMS”的美国专利申请No.13/938,066(代理结构案号88325-870369(137800US));由Higginson同步提交的、名称为“DATABASEMODELINGANDANALYSIS”的美国专利申请No.13/937,885(代理结构案号88325-870374(137900US));由Higginson同步提交的、名称为“AUTOMATEDDATABASEMIGRATIONARCHITECTURE”的美国专利申请No.13/937,868(代理结构案号88325-870373(138000US));由Raghunathan等同步提交的、名称为“CLOUDSERVICESLOADTESTINGANDANALYSIS”的美国专利申请No.13/937,344(代理结构案号88325-870381(138100US));由Raghunathan等同步提交的、名称为“CLOUDSERVICESPERFORMANCETUNINGANDBENCHMARKING”的美国专利申请No.13/937,483(代理结构案号88325-870383(138200US));由Buehne等同步提交的、名称为“SOLUTIONTOGENERATEASCRIPTSETFORANAUTOMATEDDATABASEMIGRATION”的美国专利申请No.13/937,988(代理结构案号88325-870382(138300US));由Buehne等同步提交的、名称为“ONLINEDATABASEMIGRATION”的美国专利申请No.13/937,545(代理结构案号88325-870410(138400US));以及由Masterson等同步提交的、名称为“ADVANCEDCUSTOMERSUPPORTSERVICES–ADVANCEDSUPPORTCLOUDPORTAL”的美国专利申请No.13/937,970(代理结构案号88325-870401(138600US))。这些申请中的每个申请以引用的方式并入本申请。
背景技术
对复杂的数据库系统进行迁移可能是艰巨的任务。公司、政府和其他大型的实体(统称为客户)通常维持复杂的数据库系统,并且这些客户容忍数据库系统离线的能力有限。因此,当对任务关键的数据库系统要从第一服务器系统迁移到第二服务器系统(可能较新并且较高级)时,客户可能期望高效和适时的迁移。常规地,数据库迁移是人员高度密集的,需要某个人(或一个团队)识别并且使用他们的判断找出执行迁移的战略方法。通常,这样的人为判断可能是耗时的,并且导致实施不是时间上最优的迁移方案。
发明内容
用于管理服务器系统之间的迁移的各种布置被呈现。在一些实施例中,用于管理服务器系统之间的迁移的方法被呈现。所述方法可以包括,由调度器计算机系统接收在数据库系统从源服务器系统到目标服务器系统的迁移期间要被执行的多个迁移脚本的指示。所述方法可以包括,基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以及所述多个迁移脚本的特性,由调度器计算机系统确定所述多个迁移脚本的执行顺序。所述方法可以包括,由调度器计算机系统根据所确定的执行顺序,启动对所述多个迁移脚本当中的第一迁移脚本的执行。第一迁移脚本可以引起,将多个数据库对象中的数据库对象从源服务器系统复制到目标服务器系统。
这样的方法的各种实施例可以包括以下特征中的一个或多个:所述方法可以包括,在第一迁移脚本被执行时,由调度器计算机系统接收被许可并行执行的迁移脚本的最大数量的指示。所述方法可以包括,基于所确定的执行顺序和被许可并行执行的迁移脚本的最大数量,在第一迁移脚本被执行时,由调度器计算机系统启动对多个迁移脚本中的第二迁移脚本的执行。所述方法可以包括,在多个迁移脚本中的迁移脚本的子集被执行时,并且在第一迁移脚本已经完成之后,由调度器计算机系统确定目标服务器系统的可用资源的量超过第一阈值量。所述方法可以包括,响应于确定目标服务器系统的可用资源的量超过第一阈值量,由调度器计算机系统针对基于第一迁移脚本被复制到目标服务器系统的数据库对象,启动索引创建。索引创建可以由目标服务器系统执行。对多个迁移脚本的执行顺序的确定可以基于多个迁移脚本中的迁移脚本对多个迁移脚本中的一个或多个其他迁移脚本的执行依赖性。
附加地或替代地,这样的方法的实施例可以包括以下特征中的一个或多个:所述方法可以包括,在多个迁移脚本中的迁移脚本的子集被执行时,并且在第一迁移脚本已经完成之后,由调度器计算机系统确定目标服务器系统的可用资源的量超过第一阈值量。所述方法可以包括,基于所确定的执行顺序、对第一迁移脚本的执行已经完成、以及目标服务器系统的可用资源的量超过第一阈值量,由调度器计算机系统启动对验证脚本的执行,此执行使得目标服务器系统对被复制到目标服务器系统的第一数据库对象中的若干记录进行计数。根据所确定的执行顺序启动对多个迁移脚本中的第一迁移脚本的执行可以包括,由调度器计算机系统引起与由源服务器系统存储的数据库对象的结构相比较,对被复制到目标服务器系统的数据库对象的结构进行修改。对结构的修改可以包括,被复制到目标服务器系统的数据库对象被压缩。对多个迁移脚本的执行顺序的确定可以基于要被迁移的多个数据库对象的特性,可以包括由调度器计算机系统评估多个数据库对象中单独的数据库对象的存储大小;以及基于所评估得到的多个数据库对象的存储大小,由于数据库对象具有比多个数据库对象中的一个或多个其他的数据库对象更大的存储大小,因此由调度器计算机系统在所确定的执行顺序中针对此数据库对象优先分配第一迁移脚本。
附加地或替代地,这样的方法的实施例可以包括以下特征中的一个或多个:所述方法可以包括,在多个迁移脚本中的迁移脚本的子集被执行时,并且在第一迁移脚本已经完成之后,由调度器计算机系统确定目标服务器系统的可用资源的量超过第一阈值量,但不超过第二阈值量,其中第二阈值量大于第一阈值量。所述方法可以包括,响应于确定目标服务器系统的可用资源的量超过第一阈值量但不超过第二阈值量,由调度器计算机系统针对基于第一迁移脚本被复制到目标服务器系统的数据库对象启动索引创建,而不是针对基于第二迁移脚本被复制到目标服务器系统的第二数据库对象启动索引创建。针对第二数据库对象的索引创建可以比针对第一数据库对象的索引创建更资源密集。所确定的执行顺序可以指示,针对第二数据库对象的索引创建在针对第一数据库对象的索引创建之前执行。索引创建可以由目标服务器系统执行。调度器计算机系统可以从包括以下系统的组中被选择出:目标服务器系统;以及源服务器系统。
在一些实施例中,用于管理服务器系统之间的迁移的系统被呈现。这样的系统可以包括源服务器系统、目标服务器系统以及调度器计算机系统。调度器计算机系统可以包括一个或多个处理器,以及与所述一个或多个服务器通信耦接并且所述一个或多个服务器可读取的存储器,并且所述存储器具有存储在其中的处理器可读的指令。当由一个或多个处理器执行时,处理器可读的指令可以使得所述一个或多个处理器接收要在数据库系统从源服务器系统到目标服务器系统的迁移期间执行的多个迁移脚本的指示。
处理器可读的指令可以使得所述一个或多个处理器基于使用多个迁移脚本要迁移的多个数据库对象的特性以及多个迁移脚本的特性,确定多个迁移脚本的执行顺序。处理器可读的指令可以使得一个或多个处理器根据所确定的执行顺序,启动对多个迁移脚本中的第一迁移脚本的执行。第一迁移脚本可以引起将多个数据库对象中的数据库对象从源服务器系统复制到目标服务器系统。
这样的系统的实施例可以包括以下的特征中的一个或多个:处理器可读的指令可以使得一个或多个处理器,在第一迁移脚本被执行时,接收被许可并行执行的迁移脚本的最大数量的指示。处理器可读的指令可以使得一个或多个处理器,基于所确定的执行顺序和被许可并行执行的迁移脚本的最大数量,在第一迁移脚本执行时,启动对多个迁移脚本中的第二迁移脚本的执行。处理器可读的指令在被执行时还使得调度器计算机系统的一个或多个处理器,在多个迁移脚本中的迁移脚本的子集被执行时并且在第一迁移脚本已经完成之后,确定目标服务器系统的可用资源的量超过第一阈值量。处理器可读的指令可以使得一个或多个处理器,响应于确定目标服务器系统的可用资源的量超过第一阈值量,针对基于第一迁移脚本被复制到目标服务器系统的数据库对象,启动索引创建。索引创建可以由目标服务器系统执行。用于确定多个迁移脚本的执行顺序的处理器可读指令可以基于多个迁移脚本中的迁移脚本对多个迁移脚本中的一个或多个其他迁移脚本的执行依赖性。
附加地或替代地,这样的系统的实施例可以包括以下特征中的一个或多个:处理器可读的指令可以使得一个或多个处理器,在多个迁移脚本中的迁移脚本的子集被执行时,并且在第一迁移脚本已经完成之后,确定目标服务器系统的可用资源的量超过第一阈值量。处理器可读的指令可以使得一个或多个处理器,基于所确定的执行顺序、对第一迁移脚本的执行已经完成、以及目标服务器系统的可用资源的量超过第一阈值量,启动对验证脚本的执行,此执行使得目标服务器系统对被复制到目标服务器系统的第一数据库对象中的若干记录进行计数。用于根据所确定的执行顺序启动对多个迁移脚本中的第一迁移脚本的执行的处理器可读指令可以包括,当被执行时使得调度器计算机系统的一个或多个处理器引起以下操作的处理器可读指令:与由源服务器系统存储的数据库对象的结构相比较,对被复制到目标服务器系统的数据库对象的结构进行修改。
附加地或替代地,这样的系统的实施例可以包括以下特征中的一个或多个:用于基于要迁移的多个数据库对象的特性确定多个迁移脚本的执行顺序的处理器可读指令可以包括,当被执行时使得调度器计算机系统的一个或多个处理器执行以下操作的处理器可读指令:评估多个数据库对象中单独的数据库对象的存储大小;以及基于所评估得到的多个数据库对象的存储大小,由于数据库对象具有比多个数据库对象中的一个或多个其他的数据库对象更大的存储大小,因此在所确定的执行顺序中针对此数据库对象优先分配第一迁移脚本。处理器可读指令可以使得一个或多个处理器,在多个迁移脚本中的迁移脚本的子集被执行时,并且在第一迁移脚本已经完成之后,确定目标服务器系统的可用资源的量超过第一阈值量,但不超过第二阈值量,其中第二阈值量大于第一阈值量。处理器可读指令可以使得一个或多个处理器,响应于确定目标服务器系统的可用资源的量超过第一阈值量但不超过第二阈值量,针对基于第一迁移脚本被复制到目标服务器系统的数据库对象启动索引创建,而不是针对基于第二迁移脚本被复制到目标服务器系统的第二数据库对象启动索引创建。针对第二数据库对象的索引创建可以比针对第一数据库对象的索引创建更资源密集。所确定的执行顺序指示,针对第二数据库对象的索引创建可以在针对第一数据库对象的索引创建之前执行。索引创建可以由目标服务器系统执行。调度器计算机系统可以从包括以下系统的组中选择出:目标服务器系统;以及源服务器系统。
在一些实施例中,用于管理服务器系统之间的迁移的非暂态处理器可读存储介质被呈现。非暂态处理器可读存储介质可以包括处理器可读指令,其被配置为使得一个或多个处理器接收要在数据库系统从源服务器系统到目标服务器系统的迁移期间执行的多个迁移脚本的指示。处理器可读指令还可以使得一个或多个处理器,基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以及所述多个迁移脚本的特性,确定所述多个迁移脚本的执行顺序。处理器可读指令还可以使得一个或多个处理器,根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移脚本的执行。第一迁移脚本可以引起将多个数据库对象中的数据库对象从源服务器系统复制到目标服务器系统。
附图说明
可以参考以下的附图实现对各种实施例的性质和优点的进一步的理解。在所附的附图中,类似的组件或特征可以具有相同的附图标记。另外,可以通过在附图标记后跟随破折号和区分类似组件的第二引用标记来区分相同类型的各种组件。如果在说明书中仅仅使用第一附图标记,则此说明书适用于具有相同的第一附图标记的类似组件中的任何一个组件,而不考虑第二附图标记。
图1说明被配置为管理和执行服务器系统之间的迁移的系统的实施例;
图2说明支持云平台的实施例;
图3说明被配置为管理服务器系统之间的迁移的系统的实施例;
图4说明由调度器计算机系统启动的同时的迁移脚本调度的视觉表示的实施例;
图5说明用于管理服务器系统之间的迁移的方法的实施例;
图6说明用于管理服务器系统之间的迁移的方法的另一个实施例;
图7说明计算机系统的实施例。
具体实施方式
可以更高效的是(例如,可以在更短的时间段中执行迁移),使迁移至少部分地被调度器系统管理,其中调度器系统被配置为动态地控制数据库安装从源计算机系统到目标计算机系统的迁移,而不是使现场的(或远程的)管理员确定用于将数据库安装从源服务器系统迁移到目标服务器系统的最优流程。
“源服务器系统”可以指存储和执行数据库安装的一个或多个计算机系统的分组。源服务器系统可以完成检索、更新以及其他形式的数据库查询。“迁移”可以指将数据库安装从源服务器系统移动或复制到目标服务器系统。因此,在迁移之前,数据库安装仅仅在源服务器系统上可用。在迁移之后,数据库安装可以存在于目标服务器系统,并且可能仍然存在于源服务器系统。“目标服务器系统”可以指在迁移之后存储数据库安装的一个或多个计算机系统的分组。在迁移之后,目标服务器系统可以执行数据库安装并且完成检索、更新以及其他形式的数据库查询。
迁移可以涉及多种类型的步骤。首先,“数据库对象”(诸如表等)可能需要从源服务器系统被复制到目标服务器系统。这样的数据库以及相关联的数据存储布置可以具有从小到巨大(例如,数百个千兆字节,几个太字节等)的范围。在源应用离线(因此,没有创建、删除和/或更新数据库条目的应用请求)时,可以执行从源服务器系统到目标服务器系统对数据库对象的复制。在一些实施例中,复制可以在源服务器系统在线(因而,正在处理请求和/或更新数据库条目)的同时发生。因此,对数据库对象的修改可以被记录,以使得被复制到目标服务器系统的数据库和相关联的数据存储布置可以被更新。
其次,在数据库已经从源服务器系统被复制到目标服务器系统之后,针对被复制到目标服务器系统的数据库,可能需要生成一个或多个依赖于表的对象。这样的索引可以允许对目标服务器系统上的数据库的更快和/或更高效的查询。
第三,在数据库被复制到目标服务器系统之后,客户可能期望对目标服务器系统上的数据库执行至少某种级别的验证,以确保复制被正确地和/或完全地执行。在一些情况下,对由目标服务器系统存储的复制后数据库的行计数与由源服务器系统存储的数据库的行计数进行比较。如果这两个行计数匹配,则至少可以向客户保证在迁移期间没有记录丢失。
因此在迁移期间,可以执行至少三个主要功能:复制功能、依赖对象生成功能以及验证功能。但是,应当理解的是,在一些实施例中,可以省略某功能,诸如验证功能。虽然这些功能中的一些功能依赖于其他功能,但是一些功能可以并行地执行。作为依赖功能的示例,仅仅在一旦在迁移进程期间复制的表从源服务器系统到目标服务器系统的复制被完成时,可以执行要由目标服务器系统执行的、表的索引生成。但是,对第一表的复制和索引生成的执行可以独立于对第二表的复制和索引生成。因此,至少一些要在迁移期间执行的功能可以并行地执行。
调度器系统可以被配置为管理从源服务器到目标服务器系统的迁移。调度器系统可以被配置为识别复制数据库对象的顺序。由调度器系统识别的执行顺序可以基于诸如要被迁移的数据库对象的大小、数据库对象的依赖性、对象数据类型、和/或应用类型之类的因素。调度器系统可以分析源服务器系统和/或目标服务器系统的可用系统资源以便调度功能(例如,索引生成和/或验证功能)。调度器系统必须可配置以符合源系统和目标系统的当前配置(例如,通过使用NFS或复制方法使导出转储文件在目标系统上可用的方式)。另外,调度器系统能够从可以在迁移之前或迁移期间提供不同偏好的管理员处取得输入。例如,管理员能够经由调度器系统在迁移期间动态地改变被许可由源服务器系统和目标服务器系统并行执行的迁移功能的数量,以便以高效的方式加载可用的迁移资源(例如,存储器资源、处理资源、网络带宽资源)。另外,调度器系统可以同时地调度各种类型的功能。例如,当源服务器系统和目标服务器系统之间的复制功能被执行时,更多可用的处理资源可以在目标服务器系统处可用。如果调度器系统确定足够量的处理资源可用,则调度器系统可以针对已经被复制到目标服务器系统的表,调度由目标服务器系统并行地执行索引生成。
图1说明被配置为管理和执行服务器系统之间的迁移的系统100的实施例。系统100可以包括源服务器系统110、目标服务器系统120、调度器计算机系统130、网络140以及远程管理员计算机系统150。
源服务器系统110可以代表一个或多个计算机系统。源服务器系统110可以存储和执行数据库安装。源服务器系统110可以完成检索、更新以及其它形式的数据库查询和功能。在迁移之前,数据库安装可以在源服务器系统上可用而在目标服务器系统上不可用。源服务器系统110可以包括处理资源112和存储资源114。处理资源112可以包括一个或多个被配置为同时执行多个进程的处理器。例如,处理资源112被说明为同时地执行两个迁移脚本:迁移脚本113-1和迁移脚本113-2。由处理资源112执行的迁移脚本113可以是被配置为将数据库或其它存储布置从源服务器系统110复制到目标服务器系统120的复制脚本。对迁移脚本113的执行可以由经由网络140可访问的另一个系统启动。
源服务器系统110可以具有存储资源114,存储资源114可以代表存储数据库、索引和/或其它形式的数据库对象的一个或多个(非暂态)计算机可读存储介质(例如,硬盘驱动器、固态驱动器)。一些数据库对象可以被复制到目标服务器系统120作为数据库迁移的一部分。通常地,在源服务器系统110处的数据库安装可以包括可以消耗大量存储资源的大量(例如,几百、几千、几百万)的数据库对象。因此,一些数据库对象从源服务器系统110到目标服务器系统120的复制可能花费相当大量的时间来执行。
在所说明的源服务器系统10的实施例中,由源服务器系统110执行两个迁移脚本。每个迁移脚本113可以使得特定数据库对象从存储资源114被复制到目标服务器系统120。这种数据库对象的迁移由虚线的迁移箭头表示。由源服务器系统110执行的迁移脚本113可以并行地被执行。
目标服务器系统120可以代表一个或多个计算机系统。在迁移完成后,目标服务器系统120可以存储和执行数据库安装。通常地,目标服务器系统120可以是与源服务器系统110相比,较快、较新的一个或多个计算机系统的分组(这可能是执行迁移的原因)。在迁移之后,源服务器系统110可以意图完成检索、更新和其它形式的数据库查询。在迁移之前,数据库安装可以在源服务器系统上可用但在目标服务器系统120上不可用。迁移之后,数据库安装可以在目标服务器系统120上可用。目标服务器系统120可以包括处理资源122和存储资源124。处理资源122可以包括一个或多个被配置为同时地执行多个进程的处理器。例如,处理资源122被说明为同时地执行三个迁移脚本:迁移脚本123-1、迁移脚本123-2以及123-3。由处理资源122执行的迁移脚本123可以是复制脚本,复制脚本被配置为从源服务器系统110接收数据库或其它存储布置以用于由目标服务器系统120进行存储。因此,当迁移脚本123-1用作接收和创建在目标服务器系统120处对应的数据库对象时,迁移脚本113-1可以使得数据库对象能够从源服务器系统110被复制。
基于调度器系统和/或迁移脚本的配置,被复制到目标服务器系统的一个或多个数据库对象与由源服务器系统存储的相同的数据库对象相比可以被修改。例如,在目标服务器系统处被创建的数据库对象可以是压缩的,而由源服务器系统110存储的对应的数据库对象是未压缩的。在一些实施例中,由目标服务器系统120存储的一个或多个数据库对象可以具有与由源服务器系统110存储的对应的数据库对象相比不同的结构。
目标服务器系统120的处理资源122可以执行引起索引生成的迁移脚本。索引可以允许由目标服务器系统120存储的数据库能够更有效地被访问(例如,在时间和/或处理资源的使用的基础上)。一旦将表从源服务器系统110被复制到目标服务器系统120,就可以针对这个表创建索引。因此,仅仅是数据库表对象可以从源服务器系统110被复制到目标服务器系统120,诸如数据库。诸如数据库索引、主键、引用约束、和/或视图之类的其它形式的数据库对象可以由目标服务器系统120创建,而不是从源服务器系统110复制而来。在所说明的系统100的实施例中,目标服务器系统120执行迁移脚本123-3,迁移脚本123-3针对由存储资源124存储的表创建索引文件。
存储资源124可以代表目标服务器系统120的一个或多个(非暂态)计算机可读存储介质,诸如硬盘驱动器和固态驱动器。存储资源124可以存储从源服务器系统110的存储资源114复制而来的数据库和其它数据库对象。存储资源124可以附加地存储由目标服务器系统120创建的数据库对象,诸如数据库索引。
另外,处理资源122可以执行确认由目标服务器系统120存储的被复制的数据库对象与由源服务器系统110存储的源数据库对象匹配的迁移脚本。这样的验证迁移脚本可以涉及对两个数据库对象均执行的行计数以确定两个计数是否匹配(可能不执行单独数据元素的比较)。由目标服务器系统120执行的迁移脚本123可以被并行地执行。
网络140可以包括可以被用于源服务器系统110和目标服务器系统120之间的通信的一个或多个网络。网络140可以包括诸如因特网之类的一个或多个公共网络,和/或诸如公司内网之类的一个或多个私有网络。在一些实施例中,直接连接可以存在于源服务器系统110和目标服务器系统120之间,以便促进更快的数据传送。网络140还可以许可源服务器系统110、目标服务器系统120、调度器计算机系统130以及远程管理员计算机系统150之间的通信。
调度器计算机系统130可以代表与源服务器系统110和目标服务器系统120分离的计算机系统。替代地,调度器计算机系统130的功能可以由或源服务器系统110或目标服务器系统120执行。例如,在一些实施例中,调度器可以由目标服务器系统120执行。调度器计算机系统130可以被配置为控制何时由源服务器系统110和目标服务器系统120执行迁移脚本。给定要被执行的一系列迁移脚本,调度器计算机系统130可以被配置为确定执行顺序以优化从源服务器系统110到目标服务器系统120的迁移。调度器计算机系统130可以被配置为查询源服务器系统110和/或目标服务器系统120以确定在每个服务器系统处可用的处理资源的量。基于对可用的处理资源的评估,由源服务器系统110和/或目标服务器系统120执行哪些迁移脚本和/或执行的迁移脚本的数量可以改变。
在一些实施例中,管理迁移的管理员可以直接地向调度器计算机系统130提供输入。这样的输入可以在迁移期间发生;因此,管理员能够在迁移进行时修改迁移进程的特性。管理员可以被许可定义控制调度器计算机系统130的特定参数。例如,管理员可以定义可以由源服务器系统110和/或目标服务器系统120同时地执行的迁移脚本的最大数量。在其它实施例中,管理员可以使用远程管理员计算机系统150向调度器计算机系统130提供输入,而不是管理员直接地向调度器计算机系统130提供输入。因此,管理员能够在基于云的布置中执行迁移。调度器计算机系统130和/或远程管理员计算机系统150可以位于远离源服务器系统110和/或目标服务器系统120的位置。因此,诸如来自生产数据库软件的公司、以合同为基础被雇佣的管理员,能够对数据库安装执行从源服务器系统110到目标服务器系统120的基于云的迁移。
图2说明支持云平台200的实施例。平台可以被用于实施诸如从客户的源服务器系统到客户的目标服务器系统的迁移之类的服务。所述服务可以通过使用平台而被设计、可用于部署、被部署给客户、并且被监测。客户数据中心202可以包括一个或多个目标系统212、214(其中一个可以是客户的源服务器系统,另一个是客户的目标服务器系统),目标系统212、214可以是由平台提供的服务的目标。目标系统可以是服务器、计算机、机架系统等,其运行或执行由客户使用的数据库和/或其它数据库软件。目标系统可以是可以具有被传送的服务的硬件或软件实体,并且目标系统可以是主机、数据库、网络逻辑服务等。在客户数据中心202中,目标系统212、214可以由客户数据中心202本地的管理员管理。管理员可以对目标系统212、214进行物理访问。支持云平台200可以经由在远程位置的远程接口提供对目标系统的管理和其它服务。因此,支持云平台200可以用作使得图1的远程管理员计算机系统150与从源服务器系统110到目标服务器系统120的迁移进行交互的平台。位于客户数据中心202上的网关210,提供对客户数据中心202和一个或多个目标系统212、214的远程访问。网关210可以是安装在客户数据中心处的硬件或虚拟软件装置。网关210经由使用通信模块206通过网络232(其可以代表图1中的网络140)的安全连接,而连接到服务提供者的生产云204。网关210可以可选地具有允许对网关210与服务提供者的生产云204的交互进行控制的接口模块208。
可以使用平台的公共服务开发框架生成和开发服务。公共服务开发框架可以包括服务设计模块230、传送工程模块228以及工程基础结构模块226。公共服务开发框架可以利用贯穿传送进程可以使用(手动地和/或自动地)的公共组件,并且可以实现对服务的高效的设计、开发、测试和发布。平台的公共服务开发框架实现服务开发的至少部分的自动化。
平台使得传送工程师能够使他们正在开发和实施的服务自动化。在一些实施例中,通过使用可重复使用的组件可以使得服务开发自动化或简单化。例如,在服务中使用的相同的部署、执行和错误处理功能中的许多可以被设计为可重复使用的组件。组件可以在许多服务中重复使用,这允许对服务的设计和编码能够集中于服务的新的核心功能。使用这样的平台,可以在一个或多个中心位置中设计和实施服务。使用可重复使用的组件和模块,集中式的服务设计和开发平台实现分层和结构化的服务设计。由于服务的组件中的大部分可以从已有的可重复使用的组件装配而成,因此对服务的开发可以被至少部分自动化。
在服务被设计、开发和测试之后,服务可以被存储在生产云204处。例如,服务可以包括图1中的修改复制器116,其可以在在线迁移之前被安装在客户的源服务器系统处。类似地,图1中的调度器计算机系统130的功能可以被实施为从生产云204部署的服务。生产云204可以包括服务库222和内容库224。服务和内容可以从生产云204被部署到客户数据中心202处的一个或多个目标系统212、214。可以用生产云204处的门户218和商务模块220与客户数据中心202处的网关210和接口模块208经由通信模块206、216进行的交互,布置对服务的部署、监测等。对服务的设计、部署和监测可以在远离生产云的位置处执行,而不需要客户数据中心202处的管理员或工程师。平台的门户218可以提供对服务的远程控制和管理、对部署的控制以及对结果的分析。
图2中的平台可以用于开发、部署和管理针对客户数据中心292和目标系统212、214的服务。网关210能够访问目标系统212、214。采用软件、脚本、功能等形式的服务可以从生产云204中下载。生产云204的商务模块220和门户提供接口、选择工具、监测工具以用于选择服务以及监测要在客户数据中心202中部署的服务。在客户数据中心202处的管理员可以通过使用门户218和商务模块220查看、选择和监测服务。客户可以使用客户数据中心202处的接口模块208访问门户218和商务模块220。接口模块可以经由通信模块206直接地或间接地访问门户218和商务模块220。例如,通过使用支持云平台200,可以使用商务模块220选择服务。可以使用接口模块208访问商务模块220。一旦针对目标系统212、214选择并且配置了某个服务,此服务可以从生产云204经由网关210被部署到客户数据中心202。网关可以将服务部署到目标系统。网关210可以用于收集数据统计值、监测服务、以及接收与客户数据中心和目标系统相关的系统信息。数据可以被处理、分析和传送到生产云。数据可以用于通过使用门户218向客户建议或部署服务,呈现客户的目标服务器的统计值或度量。因此,在管理员无需到客户的位置亲自访问源服务器系统和目标服务器系统的情况下,管理员能够执行从源服务器系统到目标服务器系统的迁移。
图3说明被配置为管理两个(或更多个)服务器系统之间的迁移的调度器计算机系统300的实施例。调度器计算机系统300可以代表图1中的调度器计算机系统130。调度器计算机系统300还可以在除了图1的系统100的布置之外的系统中实施。调度器计算机系统300可以通过使用图7的计算机系统700的一个或多个实例而被实施。调度器计算机系统300可以包括:迁移脚本分析引擎310、迁移脚本存储布置320、执行顺序存储布置330、调度引擎340、资源查询引擎350和/或管理员输入接口360。这些组件中的每一个组件可以通过使用(非暂时性)计算机可读存储介质和/或处理器而被实施。由这些组件执行的功能可以通过使用硬件、固件、和/或由一个或多个计算机系统执行的软件而被实施。因此,多个组件的功能可以由单个处理器执行。替代地,组件的功能可以由多个处理器执行。
迁移脚本存储布置320可以存储针对诸如图1所示的从源服务器系统到目标服务器系统的迁移而创建的迁移脚本。虽然图3说明了由调度器计算机系统300所存储的迁移脚本存储布置320,但在其他实施例中,迁移脚本存储布置320可以诸如由目标服务器系统、源服务器系统、和/或某其他计算机系统远程地存储。在最低限度上,调度器计算机系统300可以访问迁移脚本存储布置320(其可以位于其他位置)。对迁移脚本存储布置320中的所有迁移脚本的执行对于执行从源服务器系统到目标服务器系统的迁移来说是必要的。迁移脚本存储布置320可以包含执行复制功能、索引生成功能、和/或验证功能的迁移脚本。另外其他功能是可能的。
迁移脚本分析引擎310可以分析迁移脚本存储布置320中存储的迁移脚本和/或迁移脚本引用的数据库对象。迁移脚本分析引擎310可以确定执行迁移脚本的更优化的顺序以最小化执行迁移所需要的时间量。迁移(例如,复制和创建依赖对象)数据库对象(即数据库表和它的依赖对象(例如,索引、约束定义))所需要的时间,依赖于数据库对象的大小和所使用的数据类型。依赖于所使用的数据类型,不同的迁移方法可以用于最小化针对特定表的迁移时间。迁移脚本分析引擎310可以分析要被传送的数据库对象的大小。在至少一些实施例中,在接近迁移开始时传送大的数据库(或其他数据库对象)可以是高效的,从而防止由于等待传送大的数据库(然后执行依赖于数据库的传送的功能)而使得迁移进程的结束被延迟。另外,仅仅可以在一旦数据库被传送时执行数据库的验证。因此,迁移脚本分析引擎310可以确定哪些数据库和/或其他数据库对象最大,并且优先进行它们从源服务器系统到目标服务器系统的迁移,以使得在迁移期间对它们的传送较早发生。
迁移脚本分析引擎310还可以分析迁移脚本之间的依赖性。迁移脚本分析引擎310可以确保需要另一个迁移脚本首先被执行的迁移脚本以可接受的顺序被启动。例如,迁移脚本分析引擎310可以确保在执行针对数据库的索引生成功能和/或验证功能之前执行针对数据库的复制功能。
迁移脚本分析引擎310可以施行在调度器计算机系统300中已经预定义的各种其他规则。例如,已经执行许多迁移的管理员可以配置在确定迁移脚本的执行顺序时迁移脚本引擎310遵循的各种规则。例如,基于特定表使用的对象大小和数据类型,管理员可以确定针对此表要使用的迁移方法。基于所选择的迁移方法,分析软件将自动地确定执行的顺序。针对表,可以应用以下规则中的一个或多个规则:1)将表数据复制到目标系统。2)如果数据泵(datapump)(或其他形式的基于服务器的批量数据移动基础结构)或输出功能被使用,则需要使得转储文件在目标上可用。因此,可能需要复制进程。3)如果数据泵被使用,并且表压缩是活动的,则必须在目标服务器系统上执行SQL脚本,以便在来自源服务器系统的输入开始之前创建压缩表。4)一旦表被加载,就可以开始进行在源服务器系统上的行计数验证。5)与规则4并行地,可以在目标服务器系统上针对此表开始索引/PK(主键)约束创建。6)一旦在目标服务器系统处第一索引被创建,就可以在目标服务器系统上并行地开始行计数验证。7)一旦针对表的所有索引已经被创建,针对此表,来自源系统的表/索引统计数据可以被输入。8)一旦所有表被加载到目标服务器系统,就可以在目标服务器系统处创建任何未完成的外部键定义。
针对迁移脚本所确定的执行顺序可以被存储在执行顺序存储布置330中。执行顺序存储布置330可以指示,迁移脚本分析引擎310已经确定为用于快速执行迁移的优选的顺序。执行顺序存储布置330还可以存储指示关于哪些迁移脚本可以和/或不可以在其他迁移脚本已经完成之前执行的依赖性的数据。虽然执行顺序存储布置330存储用于执行迁移脚本的优选顺序,但是脚本的实际执行顺序可以由调度器计算机系统300基于在迁移期间被确定的状况动态地修改。另外,管理员可以在迁移期间(例如,在迁移脚本正被执行时)对迁移脚本的执行的启动重新排序。
资源查询引擎350可以定期地或偶发地确定在源服务器系统和/或目标服务器系统处可用的处理资源的量。基于可用资源的量,迁移脚本的执行顺序可以被改变得与先前确定的执行顺序不同。例如,如果目标服务器系统具有相当大量的可用处理资源,而源服务器系统具有较少的可用处理资源,和/或源服务器系统与目标服务器系统之间的带宽已经接近容量,则消耗目标服务器系统(而不是源服务器系统)的大量处理资源的迁移脚本可以被启动。例如,针对在目标服务器系统处的表的索引生成迁移脚本的执行可以被启动。生成哪个索引可以取决于可用处理资源的量和/或对期望处理资源保持可用的时间量的估计。例如,如果较小量的处理资源可用,则可以生成针对较小表的索引。如果较大量的处理资源可用,则可以生成针对较大表的索引。针对这样要被启动的迁移脚本需要可用的处理资源的量可以取决于由调度器计算机系统300存储的预定义的阈值。在一些实施例中,资源查询引擎350可以定期地轮询源服务器系统和/或目标服务器系统。在其他实施例中,源服务器系统和/或目标服务器系统可以根据调度引擎340的请求而被轮询。
调度引擎340可以被配置为确定来自迁移脚本存储布置320的迁移脚本要被启动的时机。当被启动时,迁移脚本可以由源服务器系统和/或目标服务器系统执行。调度引擎340可以基于先前由迁移脚本分析引擎310确定的执行顺序、在目标服务器系统和/或源服务器系统处可用的资源的量(由资源查询引擎350确定)、和/或由管理员定义的诸如被许可由源服务器系统和/或目标服务器系统同时执行的迁移脚本的最大数量之类的参数,确定迁移脚本的执行的启动的时机。因此,虽然调度引擎340可以在确定启动迁移脚本的顺序中使用执行顺序,但是其他因素可能影响迁移脚本的启动的实际排序。
管理员输入接口360可以许可管理员向调度器计算机系统300提供输入和/或接收与迁移的执行有关的反馈。管理员输入接口360可以允许管理员在本地与调度器计算机系统300进行交互,和/或诸如经由基于云的网关和门户远程地与调度器计算机系统300进行交互。管理员输入接口360可以许可管理员在调度器计算机系统创建执行顺序和调度器计算机系统300启动用于源服务器系统和/或目标服务器系统执行的迁移脚本之前,定义针对调度器计算机系统300的参数。管理员输入接口360还可以许可管理员在调度引擎340正在确定应当由源服务器系统和/或目标服务器系统执行哪个迁移脚本时,动态地修改调度器计算机系统。例如,当迁移正在进行时,管理员可以修改被许可由源服务器系统并行地执行的迁移脚本的最大数量。响应于经由管理员输入接口360提供的这样的输入,调度器计算机系统300可以不调度多于要由源服务器系统同时执行的迁移脚本的最大数量的迁移脚本。
图4说明由调度器计算机系统启动的并行的迁移脚本调度的视觉表示的实施例400。例如,调度实施例400的迁移脚本的调度器计算机系统可以是图3中的调度器计算机系统300和/或图1中的调度器计算机系统130。实施例400说明在部分重叠的时间段期间执行的迁移复制脚本410、迁移索引生成脚本420、以及迁移验证脚本430。
可以由源服务器系统和目标服务器系统执行迁移复制脚本410。例如,可以由源服务器系统执行迁移复制脚本410中的迁移复制脚本以检索特定的数据库对象并且将特定的数据库对象传送到目标服务器系统。可以由目标服务器系统执行迁移复制脚本410中的迁移复制脚本以接收和存储数据库对象。在给定的时间,可以由源服务器系统和/或目标服务器系统同时地执行多个迁移复制脚本410。
可以由目标服务器系统执行迁移索引生成脚本420以生成针对所接收的表的索引。例如,迁移复制脚本410中的迁移复制脚本410-1可以被目标服务器系统执行以检索、传送和存储特定的数据库对象。由于索引生成可以依赖于已经被复制的关联的表,因此迁移索引生成脚本420-1可以在迁移复制脚本410-1完成之后的某个时间在目标服务器系统处被启动。在给定的时间,针对不同表的多个迁移索引生成脚本420可以由目标服务器系统同时地执行。另外,迁移索引生成脚本420可以与一些被执行的迁移复制脚本410同时地被执行,被执行的一些迁移复制脚本410诸如指向与迁移索引生成脚本不同的表的迁移复制脚本。通常地,迁移索引生成脚本420可以在至少一个表已经被迁移到目标服务器系统之后开始。
迁移验证脚本430可以由源服务器系统执行(对原始数据库中的计数行)和由目标服务器系统执行(对被复制、被迁移的数据库中的计数行)以用于比较。迁移验证脚本430可以依赖于已经被迁移到目标服务器系统的表,因此诸如针对迁移验证脚本430-1的迁移复制脚本410-1之类的对应的迁移复制脚本可能需要被执行。迁移验证脚本430可以与一些被执行的迁移复制脚本410和/或迁移索引生成脚本420同时地被执行。例如,指向与迁移验证脚本430-1不同的表的迁移复制脚本可以同时地被执行。
如先前针对图3详细描述的那样,虽然由迁移脚本分析引擎确定的执行顺序可以定义用于启动迁移脚本的优化的执行顺序,但是这个执行顺序可能在迁移期间由调度引擎动态地重新排序,以便更好地利用可用的资源(例如,处理资源)并且允许以高效的(例如,适时的)方式完成迁移。再参考图4,迁移索引生成脚本420-2被说明为在迁移索引生成脚本420-3之前被启动以用于执行。但是,执行顺序可以已经指定迁移索引生成脚本420-3在迁移索引生成脚本420-2之前被调度以供执行。根据在目标服务器系统处的可用处理资源的量,调度器计算机系统可以已经对这两个迁移脚本的启动重新排序,如迁移索引生成脚本420-2和迁移索引生成脚本420-3之间的箭头所指示。例如,基于由调度器计算机系统估计的、执行迁移脚本所需要的处理资源的量,关于足够的处理资源是否可用可以做出决定。例如,为了执行迁移索引生成脚本420-3,第一阈值量的处理资源可以需要在目标服务器系统处可用。为了执行迁移索引生成脚本420-2,第二(较小)阈值量的处理资源可以需要在目标服务器系统处可用。因此,如果第二阈值量的处理资源可用但第一阈值量的处理资源不可用,则调度器计算机系统可以对执行顺序动态地重新排序,以使得迁移索引生成脚本420-2在迁移索引生成脚本420-3之前被执行。
虽然以上的示例集中于对迁移索引生成脚本420中的两个迁移索引生成脚本的重新排序,但是应当理解的是,针对迁移复制脚本和/或迁移验证脚本,对执行顺序的类似的重新排序可以被执行。另外,不同类型的迁移脚本也可以被重新排序(例如,迁移验证脚本可以在迁移索引生成脚本之前被执行,尽管执行顺序初始指定了相反的顺序)。
虽然图4说明了若干特定的迁移脚本,但是应当理解的是,这可以是出于说明目的的简化。在被实施的实施例中,可能存在几千个迁移脚本。另外,附加的或更少类型的迁移脚本可以被执行。
图5说明用于管理服务器系统之间的迁移的方法500的实施例。方法500可以由图1中的系统100或一些被配置为执行服务器系统之间的迁移的其他系统执行。诸如图3中的调度器计算机系统300之类的调度器计算机系统,可以是分离的计算机系统、源服务器系统的一部分、或目标服务器系统的一部分,其可以执行方法500的步骤。因此,为了在一个或多个计算机系统上执行方法500的步骤,图7中的计算机系统700可以被使用。用于执行方法500中的每个步骤的装置可以包括针对图3中的调度器计算机系统300和/或图7中的计算机系统700所讨论的组件中的一个或多个实例。
在步骤510处,可以接收多个迁移脚本的指示。这些迁移脚本中的每一个可以用于执行从源计算机系统到目标计算机系统的迁移。可以已经由除了调度器计算机系统之外的组件生成迁移脚本。调度器计算机系统可以接收每个迁移脚本的指示。例如,调度器计算机系统可以被指向迁移脚本被存储其中的文件存储布置。迁移脚本自身可以被提供给调度器计算机系统,或在一些实施例中,迁移脚本的列表(例如,表)可以被提供给调度器计算机系统。不论是位于调度器计算机系统本地还是远离调度器计算机系统的管理员,可以使得调度器计算机系统接收将被执行以引起数据库系统从源计算机系统到目标服务器系统的迁移的多个迁移脚本的指示。
在步骤520处,调度器计算机系统可以确定在步骤510处指示的迁移脚本将被启动以供执行的执行顺序。实际对迁移脚本的执行可以由源服务器系统和/或目标服务器系统执行。由调度器计算机系统确定的执行顺序可以基于各种因素。第一因素可以是迁移脚本的依赖性。针对要被迁移的特定数据库,可以存在需要按顺序被执行的至少三个迁移脚本。例如,迁移复制脚本可能需要在针对相同的数据库的迁移索引生成脚本和/或迁移验证脚本被执行之前被执行。
在步骤530处,对迁移脚本中的一个或多个迁移脚本的执行可以被启动。这可以涉及一个或多个迁移脚本由目标服务器系统和/或源服务器系统并行地执行。对迁移脚本的启动可以至少部分地基于在步骤520处确定的执行顺序。由可以位于调度器计算机系统本地或远离调度器计算机系统的管理员定义的属性,也可以对哪些迁移脚本以及多少迁移脚本被启动以供并行执行造成影响。
在步骤540处,在源服务器系统和/或目标服务器系统处可用的可用资源的量可以被监测。被监测的资源可以包括处理资源,和/或源服务器系统和目标服务器系统之间的通信带宽。如果在迁移期间源服务器系统在线,则可用资源的量可能受到进入的数据库请求的影响。在许多实例中,目标服务器系统将具有比源服务器系统更多的可用处理资源,这可能是由于目标服务器系统是更高级的系统,和/或目标服务器系统不在线以完成数据库请求。
在步骤550处,多个迁移脚本的执行顺序可以基于在源服务器系统和/或目标服务器系统处的可用资源的量而被修改。例如,如果目标服务器系统具有足够量的可用处理资源,则附加的迁移脚本可以与其他迁移脚本并行地被执行。例如,迁移复制脚本可以涉及目标服务器系统对处理资源少量的使用。因此,迁移索引生成脚本可以与迁移复制脚本一起由目标服务器系统并行地执行,对迁移索引生成脚本的执行将使用可用处理资源中的一些或全部处理资源。调度器计算机系统可以被配置为估计执行特定的迁移脚本所需要的处理资源的量和/或持续时间。这种估计可以用于确定是否应当执行迁移脚本(以及执行哪个迁移脚本)。除了基于处理资源的可用量修改执行顺序之外,管理员可以被许可定义被许可并行执行的迁移脚本的最大数量。因此,在迁移被执行时管理员可以增加或减少此最大数量。因此,如果管理员减少被许可由源服务器系统和/或目标服务器系统并行执行的迁移脚本的数量,则对一个或多个迁移脚本的执行可以被暂停并且在之后的时间继续,或被终止并且在之后的时间重新开始。如果管理员增大被许可由源服务器系统和/或目标服务器系统并行地执行的迁移脚本的数量,则调度器计算机系统可以启动由源服务器系统和/或目标服务器系统对一个或多个附加迁移脚本的执行。
在步骤560处,可以确定是否要执行附加迁移脚本。这样的确定可以基于存在于执行顺序中的任何迁移脚本是否还没有被启动。如果所有的迁移脚本都已经被启动,则对当前执行的迁移脚本的执行可以被许可完成,并且然后迁移可以在步骤570处被识别为完成。如果附加迁移脚本要被执行,则方法500可以返回到步骤530,以使得基于现在被修改的执行顺序,可以启动一个或多个附加迁移脚本。应当理解的是,还可以通过检查在步骤520处确定的执行顺序并且以与执行顺序不同的顺序启动迁移脚本,来执行对执行顺序的修改。步骤530到步骤560可以重复直到完成迁移。在这个时间期间,管理员可以定义属性,所述属性定义调度器系统如何管理从源服务器系统到目标服务器系统的迁移。
图6说明用于管理服务器系统之间的迁移的方法的另一个实施例。可以由图1中的系统100或一些被配置为执行服务器系统之间的迁移的其他系统执行方法600。诸如图3中的调度器计算机系统之类的调度器计算机系统,可以是分离的计算机系统、源服务器系统或目标服务器系统,其可以执行方法600的步骤。因此,为了执行方法600的步骤,诸如图7中的计算机系统700之类的一个或多个计算机系统可以被使用。用于执行方法600的每个步骤的装置可以包括针对图3中的调度器计算机系统300和/或图7中的计算机系统700所讨论的组件中的一个或多个实例。方法600可以表示图5中的方法500的更详细的实施例。
在步骤605处,可以接收多个迁移脚本的指示。这些迁移脚本中的每一个可以用于执行作为从源计算机系统到目标计算机系统的迁移的一部分。迁移脚本可以由除调度器计算机系统之外的组件生成。例如,由Buehne等同步提交的、名称为“SOLUTIONTOGENERATEASCRIPTSETFORANAUTOMATEDDATABASEMIGRATION”的美国专利申请No.13/937,988(代理结构案号88325-870382(138300US))先前以引用方式被并入本申请,其详细地描述了如何可以生成迁移脚本。调度器计算机系统可以接收每个迁移脚本的指示。例如,调度器计算机系统可以指向迁移脚本被存储在其中的文件存储布置。迁移脚本本身可以被提供给调度器计算机系统,或在一些实施例中,迁移脚本的列表(例如,表)可以被提供给调度器计算机系统。不论是在调度器计算机系统本地或远离调度器计算机系统的管理员,可以使得调度器计算机系统接收多个迁移脚本的指示,所述多个迁移脚本将被执行以引起数据库系统从源计算机系统到目标服务器系统的迁移。
在步骤610处,要从源服务器系统被复制到目标服务器系统的一些或所有数据库对象的存储大小可以被确定。存储大小可以用于估计这些数据库对象中的每一个的传送将花费的时间量。这种信息可以在确定迁移脚本的执行顺序中被使用。确定每个迁移脚本的大小可以基于,调度器计算机系统向源服务器系统提供被执行并且被用于确定将被传送的每个数据库对象的文件大小的脚本。在一些实施例中,由源服务器系统存储的一个或多个索引数据库对象可以被分析。由源服务器系统存储的索引的大小和/或其他特性可以用于估计目标服务器系统生成对应索引将花费的时间量。
在步骤615处,调度器计算机系统可以确定在步骤605处指示的迁移脚本将被启动以供执行的执行顺序。实际对迁移脚本的执行可以由源服务器系统和/或目标服务器系统执行。由调度器计算机系统确定的执行顺序可以基于各种因素。第一因素可以是迁移脚本的依赖性。针对要被迁移的特定数据库,可以存在需要按顺序执行的至少三个迁移脚本。例如,迁移复制脚本可能需要在针对相同的数据库的迁移索引生成脚本和/或迁移验证脚本被执行之前被执行。
在步骤620处,对迁移脚本中的一个或多个迁移脚本的执行可以被启动。这可以涉及一个或多个迁移脚本由目标服务器系统和/或源服务器系统并行地执行。对迁移脚本的启动可以至少部分地基于在步骤615处确定的执行顺序。由可以位于调度器计算机系统本地或远离调度器计算机系统的管理员定义的属性,也可以对哪些迁移脚本以及多少迁移脚本被启动造成影响。初始地,迁移脚本中的至少一些迁移脚本可以被指向将数据库对象从源服务器系统复制(或以其他方式传送)到目标服务器系统。
在步骤625处,对从源服务器系统被复制到目标服务器系统的数据库对象的传送可以被配置,以使得被复制的数据库对象的结构不同于在源服务器系统处对应的数据库对象的结构。在一些实施例中,结构的不同可以是对表或索引对象的压缩(以减小存储大小)。在一些实施例中,结构的不同可以涉及在数据库对象内的元素以不同的方式被组织。例如,将数据类型“LONG”或“LONGRAW”更新为优选的数据类型“CLOB”或“BLOB”是可能的。这些数据类型使用新的数据类型“SecureFile(安全文件)”,此种数据类型本身可以使用两种不同的方法:“BasicType(基本类型)”和“SecureFile(安全文件)”。基于参数设置,使用在前的数据类型“LONG”或“LONGRAW”的表在目标服务器系统处通过用数据类型“CLOB”或“BLOB”分别被创建。另外,BLOB或CLOB字段的内容可以被压缩。在源服务器系统上未分区的表可以在它在目标服务器系统上被创建时被分区。分区可以要么由客户定制,要么可以使用某种形式的自动分区,诸如,自动分区(AutomatedPartitioning)。作为表分区的一部分,针对此表的索引也可以被分区。因此,在前的未分区的索引可以在本地被分区。
在传送进程期间要被实施到数据库对象的改变可以由管理员经由调度器计算机系统进行配置,或可以在使得数据库对象从源服务器系统传送到目标服务器系统的迁移脚本内被指示。数据库对象的结构的这样的变化可以被执行到一个或多个数据库对象,作为从源服务器系统到目标服务器系统的传送的一部分。
在步骤630处,管理员可以被许可定义被许可并行执行的迁移脚本的最大数量。因此,在迁移被执行时管理员可以增加或减少此最大数量。因此,如果管理员减少被许可由源服务器系统和/或目标服务器系统并行地执行的迁移脚本的数量,则对一个或多个迁移脚本的执行可以被暂停并且在之后的时间继续,或被终止并且在之后的时间重新开始。如果管理员增大被许可由源服务器系统和/或目标服务器系统并行地执行的迁移脚本的数量,则调度器计算机系统可以在步骤635处启动由源服务器系统和/或目标服务器系统对一个或多个附加迁移脚本的执行。在迁移脚本已经开始被启动之前,来自管理员的定义可以由源服务器系统和/或目标服务器系统并行执行的迁移脚本的最大数量的输入还可以被接收。例如,管理员可以通过许可源服务器系统和目标服务器系统中的每一个并行地执行较小数量的迁移脚本(例如,由源服务器系统执行三个,由目标服务器系统执行五个)而开始迁移,并且在管理员监测系统时可以增加由系统中的一个或两个系统许可的数量。
也可以或通过限制被允许执行的脚本的最大数量或通过限制用于特定作业类型的脚本的数量,减少并行执行的脚本的数量。限制可以应用于源服务器系统和/或目标服务器系统。如果被许可并行地运行的脚本的数量减小,则调度器引擎将不会开始新的脚本,直到并行执行的脚本的数量低于新的阈值。
在步骤640处,在源服务器系统和/或目标服务器系统处可用的可用资源的量可以被监测。被监测的资源可以包括处理资源和/或源服务器系统和目标服务器系统之间的通信带宽。如果在迁移期间源服务器系统在线,则可用资源的量可能受到进入的数据库请求的影响。在许多实例中,目标服务器系统将具有比源服务器系统更多的可用处理资源,这可能是由于目标服务器系统是更高级的系统,和/或目标服务器系统不在线以完成数据库请求。对于关于如何监测源服务器系统和/或目标服务器系统处可用的资源的更多细节,由Raghunathan等同步提交的、名称为“CLOUDSERVICESLOADTESTINGANDANALYSIS”的美国专利申请No.13/937,344(代理结构案号88325-870381(138100US))先前以引用的方式被并入本申请,其详细描述了各种负载测试布置。
在步骤645处,多个迁移脚本的执行顺序可以基于在源服务器系统和/或目标服务器系统处的可用资源的量而被修改。这样的修改可以涉及确定是否打乱迁移脚本的执行顺序(以与执行顺序所指定的顺序不同的顺序)。这样的修改可以替代地涉及修改执行顺序,以使得指示执行顺序的表或其他类型的数据存储布置被修改。
作为执行顺序可以何时被修改的示例,如果目标服务器系统具有比第一阈值的处理资源高但比第二阈值的处理资源低的可用的处理资源,则迁移脚本可以以与执行顺序所指示的顺序不同的顺序被执行。以不同于执行顺序所指示的顺序执行的迁移脚本可以仅仅需要多于第一阈值的可用处理资源,而由执行顺序指示的、接着要执行的迁移脚本可以需要至少第二阈值的处理资源可用。以不同于执行顺序所指示的顺序执行的迁移脚本可以是被估计仅仅需要一定量的可用的处理资源、在执行顺序中的下一个迁移脚本。在步骤640处对处理资源的监测可以在确定迁移脚本是否应当以不同于执行顺序所指示的顺序执行以及然后应当执行哪个迁移脚本中被使用。执行顺序可以被逐步地解析直到被许可执行并且估计系统要执行迁移脚本存在足够的可用处理资源的迁移脚本被识别(例如,由于依赖性)。
在步骤650处,确定是否有还没有被执行的附加迁移脚本。这样的确定可以基于存在于执行顺序中的任何迁移脚本是否还没有被启动。如果所有的迁移脚本都已经被启动,则执行可以被许可完成,并且迁移可以在步骤655处被识别为完成。如果附加迁移脚本要被执行,则方法600可以返回到步骤620,以使得可以基于执行顺序或修改的执行顺序,启动一个或多个附加迁移脚本。应当理解的是,还可以通过检查在步骤615处确定的执行顺序并且以与执行顺序不同的顺序(由步骤645确定)启动迁移脚本,来执行对执行顺序的修改。步骤620到步骤650可以重复直到完成迁移。在这个时间期间,管理员可以定义或重新定义指示调度器系统如何管理从源服务器系统到目标服务器系统的迁移的属性。
图7说明计算机系统的实施例。如图7所说明的实施例可以被包含作为先前所描述的计算机化的设备的一部分,先前所描述的计算机化的设备诸如源服务器系统、目标服务器系统、调度器计算机系统、以及远程管理员计算机系统。图7提供可以执行各种实施例所提供的方法的各步骤的计算机系统700的一个实施例的示意性说明。应当注意的是,图7仅仅意图提供不同组件的概括说明,不同组件中的任何一个或全部可以视情况而被利用。因此,图7广泛地说明了各个系统元件如何可以以相对分离或相对更集成的方式被实施。
计算机系统700被示出为包括可以经由总线705电气耦接(或可以以其他方式进行通信,视情况而定)的硬件元件。硬件元件可以包括一个或多个处理器710,包括但不限于一个或多个通用的处理器和/或一个或多个专用的处理器(诸如数字信号处理芯片、图形加速处理器、视频解码器、和/或类似装置);一个或多个输入设备715,其可以包括但不限于鼠标、键盘、遥控器、和/或类似装置;以及一个或多个输出设备720,其可以包括但不限于显示设备、打印机、和/或类似装置。
计算机系统700还可以包括(和/或与其进行通信)一个或多个非暂态存储设备725,其可以包括但不限于本地和/或网络可访问的存储器、和/或可以包括但不限于硬盘驱动器、驱动器阵列、光学存储设备、固态存储设备,诸如随机存取存储器(“RAM”)、和/或只读存储器(“ROM”),其可以是可编程的、闪速可更新的等。这样的存储设备可以被配置为实施任何合适的数据存储,包括但不限于各种文件系统、数据库结构等。
计算机系统700还可以包括通信子系统730,其可以包括但不限于调制解调器、网卡(无线或有线)、红外通信设备、无线通信设备、和/或芯片组(诸如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备等)等。通信子系统730可以许可数据与网络(诸如下面所描述的网络,作为一个示例)、其他计算机系统、和/或本文所描述的任何其他设备进行交换。在许多实施例中,计算机系统700还将包括工作存储器735,其可以包括RAM或ROM设备,如上所述。
计算机系统700还可以包括软件元件,其被示出当前位于工作存储器735内,包括操作系统740、设备驱动器、可执行库、和/或其他代码,诸如一个或多个应用程序745,其可以包括由各种实施例提供的计算机程序,和/或可以被设计用于实施由本文所描述的其他实施例提供的方法、和/或用于配置由本文所描述的其他实施例提供的系统。仅仅以示例的方式,针对上面所讨论的方法描述的一个或多个流程可以被实施为由计算机(和/或计算机内的处理器)可执行的代码和/或指令;在一个方面,这样的代码和/或指令然后可以用于配置和/或适配通用的计算机(或其他设备)以执行根据所描述的方法的一个或多个操作。
这些指令和/或代码的集合可以被存储在非暂态计算机可读的存储介质上,诸如上面所述的非暂态存储设备725。在一些情况下,存储介质可以被包含在诸如计算机系统700之类的计算机系统内。在其他实施例中,存储介质可以与计算机系统分开(例如,可移除的介质,诸如光盘),和/或在安装包中被提供,以使得存储介质可以用于用其上存储的指令/代码来编程、配置、和/或适配通用计算机。这些指令可以采用计算机系统700可执行的可执行代码的形式,和/或可以采用源和/或可安装代码的形式,当在计算机系统700上编译和/或安装时(例如,使用各种通常可用的编译器、安装程序、压缩/解压缩装置等中的任一个),则源和/或可安装代码采用可执行代码的形式。
对本领域技术人员来说清晰的是,可以根据特定的要求做出大量变化。例如,定制的硬件也可以被使用,和/或特定元件可以在硬件、软件(包括可移植软件,诸如小程序)或两者中实施。另外,与诸如网络输入/输出设备之类的其他计算设备的连接可以被使用。
如上所示,在一个方面,一些实施例可以利用计算机系统(诸如计算机系统700)以执行根据本发明的各种实施例的方法。根据一组实施例,响应于处理器710执行包含在工作存储器735中的一个或多个指令(其可以包含在操作系统740和/或诸如应用程序745之类的其他代码中)的一个或多个序列,由计算机系统700执行这样的方法的流程中的一些或全部。这样的指令可以从诸如非暂态存储设备725中的一个或多个之类的另一个计算机可读介质被读入工作存储器735中。仅仅以示例的方式,对包含在工作存储器735中的指令的序列的执行可以使得处理器710能够执行本文所描述的方法中的一个或多个流程。
本文所使用的术语“机器可读介质”“计算机可读存储介质”和“计算机可读介质”指参与提供使得机器能够以特定的方式操作的数据的任何介质。这些介质可以是非暂态的。在使用计算机系统700实施的实施例中,各种计算机可读介质可以涉及向处理器710提供指令/代码以供执行,和/或可以被用于存储和/或携带这样的指令/代码。在许多实施方式中,计算机可读介质是物理的和/或有形的存储介质。这样的介质可以采用非易失性介质或易失性介质的形式。非易失性介质包括例如光卡和/或磁卡,诸如非暂态存储设备725。易失性介质包括但不限于诸如工作存储器735之类的动态存储器。
物理和/或有形的计算机可读介质的常用形式包括例如,软盘、柔性盘、硬盘、磁带、或任何其他磁性介质、CD-ROM、任何其他光学介质、具有标记图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储芯片或盒、或计算机可以从其中读取指令和/或代码的任何其他介质。
各种形式的计算机可读介质可以涉及将一个或多个指令中的一个或多个序列携带到处理器710以供执行。仅仅以示例的方式,指令可以初始被携带在远程计算机的磁盘和/或光盘上。远程计算机可以将这些指令加载到它的动态存储器并且通过传输介质将指令作为信号发送出去,以被计算机系统700接收和/或执行。
通信子系统730(和/或其中的组件)通常会接收信号,总线705然后可以将信号(和/或由信号携带的数据、指令等)携带到工作存储器735,处理器710从工作存储器735中检索和执行指令。由工作存储器735接收的指令可以在处理器710进行执行之前或之后可选地被存储在非暂态存储设备725上。
还应当理解的是,计算机系统700的组件可以分布在网络中。例如,可以使用第一处理器在一个位置中执行某处理,而可以由远离第一处理器的另一个处理器执行其他处理。计算机系统700的其他组件可以类似地分布。因此,计算机系统700可以被解释为在多个位置中执行处理的分布式的计算系统。在一些实例中,计算机系统700可以依赖于上下文被解释为单个计算设备,诸如独立的膝上型计算机、桌面型计算机等。
上面所讨论的方法、系统和设备是示例。各种配置可以视情况而省略、替代或添加各种流程或组件。例如,在替代的配置中,可以以与所描述的顺序不同的顺序执行方法,和/或可以添加、省略和/或组合各种阶段。另外,针对某些配置描述的特征可以被组合到各种其他配置中。配置的不同方面和元件可以以类似的方式组合。另外,技术在发展,因此许多元件是示例,并不限制公开或权利要求的范围。
在描述中给出了特定细节以提供对示例配置(包括实施方式)的深入理解。但是,在没有这些特定细节的情况下,可以实施这些配置。例如,在没有不必要的细节的情况下,熟知的电路、进程、算法、结构和技术已经被示出,以避免使配置难以理解。此描述仅仅提供示例配置,并且不限制权利要求的范围、适用性或配置。相反,以上对配置的描述将向本领域技术人员提供使得能够实施所描述的技术的描述。在不背离公开的精神或范围的情况下,在功能和元件的布置中可以做出各种改变。
另外,配置可以被描述为被描绘为流程图或框图的进程。虽然流程图或框图中的每一个可以将操作描述为顺序的进程,但是可以并行或同时地执行许多操作。另外,操作的顺序可以被重新布置。进程可以具有不被包括在附图中的附加步骤。另外,方法的示例可以由硬件、软件、固件、中间件、微代码、硬件描述语言、或它们的任何组合实施。当在软件、固件、中间件、或微代码中实施时,用于执行必要任务的程序代码或代码分段可以被存储在诸如存储介质之类的非暂时性计算机可读介质中。处理器可以执行所描述的任务。
已经描述了若干示例配置,但在不背离本公开的精神的情况下,可以使用各种修改、替代构造以及等效物。例如,以上元件可以是较大的系统的组件,在较大的系统中其他规则可以占优或以其它方式修改本发明的应用。另外,可以在以上元件被考虑之前、期间或之后,进行若干步骤。
Claims (20)
1.一种用于管理服务器系统之间的迁移的方法,所述方法包括:
由调度器计算机系统接收在数据库系统从源服务器系统到目标服务器系统的迁移期间要被执行的多个迁移脚本的指示;
由所述调度器计算机系统基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以及所述多个迁移脚本的特性,确定所述多个迁移脚本的执行顺序;以及
由所述调度器计算机系统根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移脚本的执行,其中
所述第一迁移脚本引起所述多个数据库对象中的一数据库对象从源服务器系统到目标服务器系统的复制。
2.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,所述方法还包括:
在所述第一迁移脚本被执行时,由所述调度器计算机系统接收对被许可并行执行的迁移脚本的最大数量的指示;以及
基于所确定的执行顺序和所述被许可并行执行的迁移脚本的最大数量,在所述第一迁移脚本在执行时,由所述调度器计算机系统启动对所述多个迁移脚本中的第二迁移脚本的执行。
3.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,所述方法还包括:
在所述多个迁移脚本中的迁移脚本的子集被执行时,并且在所述第一迁移脚本已经完成之后,由所述调度器计算机系统确定所述目标服务器系统的可用资源的量超过第一阈值量;以及
响应于确定所述目标服务器系统的可用资源的量超过所述第一阈值量,由所述调度器计算机系统启动针对基于所述第一迁移脚本被复制到所述目标服务器系统的数据库对象的索引创建,其中
由所述目标服务器系统执行所述索引创建。
4.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,其中对所述多个迁移脚本的执行顺序的确定基于所述多个迁移脚本中的迁移脚本对所述多个迁移脚本中的一个或多个其他迁移脚本的执行依赖性。
5.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,所述方法还包括:
在所述多个迁移脚本中的迁移脚本的子集被执行时,并且在所述第一迁移脚本已经完成之后,由所述调度器计算机系统确定所述目标服务器系统的可用资源的量超过所述第一阈值量;以及
基于所确定的执行顺序、对所述第一迁移脚本的执行已经完成、以及所述目标服务器系统的可用资源的量超过所述第一阈值量,由所述调度器计算机系统启动对验证脚本的执行,所述对验证脚本的执行使得所述目标服务器系统对被复制到所述目标服务器系统的第一数据库对象中的多个记录进行计数。
6.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,其中根据所确定的执行顺序启动对所述多个迁移脚本中的所述第一迁移脚本的执行包括:
由所述调度器计算机系统引起,与由源服务器系统存储的数据库对象的结构相比,对被复制到所述目标服务器系统的数据库对象的结构的修改。
7.根据权利要求6所述的用于管理服务器系统之间的迁移的方法,其中所述对结构的修改包括被复制到所述目标服务器系统的数据库对象被压缩。
8.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,其中基于要被迁移的所述多个数据库对象的特性确定所述多个迁移脚本的执行顺序包括:
由所述调度器计算机系统评估所述多个数据库对象中各个数据库对象的存储大小;以及
基于所述评估的所述多个数据库对象的存储大小,由于所述数据库对象具有比所述多个数据库对象中的一个或多个其他数据库对象更大的存储大小,由所述调度器计算机系统在所确定的执行顺序中针对所述数据库对象优先分配所述第一迁移脚本。
9.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,所述方法还包括:
在所述多个迁移脚本中的迁移脚本的子集被执行时,并且在所述第一迁移脚本已经完成之后,由所述调度器计算机系统确定所述目标服务器系统的可用资源的量超过第一阈值量但不超过第二阈值量,其中所述第二阈值量大于所述第一阈值量;以及
响应于确定所述目标服务器系统的可用资源的量超过所述第一阈值量但不超过所述第二阈值量,由所述调度器计算机系统针对基于所述第一迁移脚本被复制到所述目标服务器系统的数据库对象启动索引创建,而不是针对基于所述第二迁移脚本被复制到所述目标服务器系统的第二数据库对象启动索引创建,其中
针对所述第二数据库对象的索引生成比针对第一数据库对象的索引生成更资源密集;
所确定的执行顺序指示,针对所述第二数据库对象的索引生成要在针对所述第一数据库对象的索引生成之前执行;以及
由所述调度器计算机系统执行所述索引创建。
10.根据权利要求1所述的用于管理服务器系统之间的迁移的方法,其中所述调度器计算机系统从包括以下项的组中选择:
所述目标服务器系统;以及
所述源服务器系统。
11.一种用于管理服务器系统之间的迁移的系统,所述系统包括:
源服务器系统;
目标服务器系统;以及
调度器计算机系统,其包括:
一个或多个处理器;以及
与所述一个或多个服务器通信耦接并且能由所述一个或多个服务器读取的存储器,所述存储器具有存储在其中的处理器可读指令,所述处理器可读指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
接收要在数据库系统从所述源服务器系统到所述目标服务器系统的迁移期间执行的多个迁移脚本的指示;
基于使用所述多个迁移脚本要执行的多个数据库对象的特性以及所述多个迁移脚本的特性,确定所述多个迁移脚本的执行顺序;以及
根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移脚本的执行,其中
所述第一迁移脚本引起所述多个数据库对象中的一数据库对象从所述源服务器系统到所述目标服务器系统的复制。
12.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中所述处理器可读指令在被执行时,还使得所述调度器计算机系统的所述一个或多个处理器执行以下操作:
在所述第一迁移脚本被执行时,接收被许可并行执行的迁移脚本的最大数量的指示;以及
基于所确定的执行顺序和所述被许可并行执行的迁移脚本的最大数量,在所述第一迁移脚本在执行时,启动对所述多个迁移脚本中的第二迁移脚本的执行。
13.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中所述处理器可读指令在被执行时,还使得所述调度器计算机系统的所述一个或多个处理器执行以下操作:
在所述多个迁移脚本中的迁移脚本的子集被执行时,并且在所述第一迁移脚本已经完成之后,确定所述目标服务器系统的可用资源的量超过第一阈值量;以及
响应于确定所述目标服务器系统的可用资源的量超过所述第一阈值量,针对基于所述第一迁移脚本被复制到所述目标服务器系统的数据库对象,启动索引创建,其中
由所述目标服务器系统执行所述索引创建。
14.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中用于确定所述多个迁移脚本的执行顺序的处理器可读指令基于所述多个迁移脚本中的迁移脚本对所述多个迁移脚本中的一个或多个其他迁移脚本的执行依赖性。
15.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中所述处理器可读的指令在被执行时,还使得所述调度器计算机系统的所述一个或多个处理器执行以下操作:
在所述多个迁移脚本中的迁移脚本的子集被执行时,并且在所述第一迁移脚本已经完成之后,确定所述目标服务器系统的可用资源的量超过第一阈值量;以及
基于所确定的执行顺序、对所述第一迁移脚本的执行已经完成、以及所述目标服务器系统的可用资源的量超过所述第一阈值量,启动对验证脚本的执行,所述对验证脚本的执行使得所述目标服务器系统对被复制到所述目标服务器系统的第一数据库对象中的多个记录进行计数。
16.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中用于根据所确定的执行顺序启动对所述多个迁移脚本中的第一迁移脚本的执行的所述处理器可读指令包括,当被执行时使得所述调度器计算机系统的所述一个或多个处理器进行以下操作的处理器可读指令:
引起与由所述源服务器系统存储的数据库对象的结构相比,对被复制到所述目标服务器系统的数据库对象的结构的修改。
17.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中用于基于要迁移的多个数据库对象的特性确定所述多个迁移脚本的执行顺序的处理器可读指令包括,当被执行时使得所述调度器计算机系统的所述一个或多个处理器执行以下操作的处理器可读指令:
评估所述多个数据库对象中各个数据库对象的存储大小;以及
基于评估的所述多个数据库对象的存储大小,由于所述数据库对象具有比所述多个数据库对象中的一个或多个其他数据库对象更大的存储大小,在所述被确定的执行顺序中针对所述数据库对象优先分配所述第一迁移脚本。
18.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中所述处理器可读指令在被执行时还使得所述调度器计算机系统的所述一个或多个处理器执行以下操作:
在所述多个迁移脚本中的迁移脚本的子集被执行时,并且在所述第一迁移脚本已经完成之后,确定所述目标服务器系统的可用资源的量超过第一阈值量但不超过第二阈值量,其中所述第二阈值量大于所述第一阈值量;以及
响应于确定所述目标服务器系统的可用资源的量超过所述第一阈值量但不超过所述第二阈值量,针对基于所述第一迁移脚本被复制到所述目标服务器系统的数据库对象启动索引创建,而不是针对基于第二迁移脚本被复制到所述目标服务器系统的第二数据库对象启动索引创建,其中
针对所述第二数据库对象的索引生成比针对第一数据库对象的索引生成更资源密集;
所确定的执行顺序指示,针对所述第二数据库对象的索引生成要在针对所述第一数据库对象的索引生成之前执行;以及
由所述目标服务器系统执行所述索引创建。
19.根据权利要求11所述的用于管理服务器系统之间的迁移的系统,其中所述调度器计算机系统从包括以下项的组中被选择:
所述目标服务器系统;以及
所述源服务器系统。
20.一种用于管理服务器系统之间的迁移的非暂态处理器可读介质,其包括被配置为使得一个或多个处理器执行以下操作的处理器可读指令:
接收要在数据库系统从源服务器系统到目标服务器系统的迁移期间执行的多个迁移脚本的指示;
基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以及所述多个迁移脚本的特性,确定所述多个迁移脚本的执行顺序;以及
根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移脚本的执行,其中
所述第一迁移脚本引起所述多个数据库对象中的一数据库对象从所述源服务器系统到所述目标服务器系统的复制。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/937,486 US9805070B2 (en) | 2013-07-09 | 2013-07-09 | Dynamic migration script management |
US13/937,486 | 2013-07-09 | ||
PCT/US2014/040692 WO2015005994A1 (en) | 2013-07-09 | 2014-06-03 | Dynamic migration script management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105393250A true CN105393250A (zh) | 2016-03-09 |
CN105393250B CN105393250B (zh) | 2019-07-26 |
Family
ID=51134309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480039083.3A Active CN105393250B (zh) | 2013-07-09 | 2014-06-03 | 动态迁移脚本的管理 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9805070B2 (zh) |
EP (2) | EP3418921B1 (zh) |
CN (1) | CN105393250B (zh) |
WO (1) | WO2015005994A1 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9491072B2 (en) | 2013-07-09 | 2016-11-08 | Oracle International Corporation | Cloud services load testing and analysis |
CN106453844A (zh) * | 2016-09-14 | 2017-02-22 | 青岛海信电器股份有限公司 | 设备操控方法和装置 |
US9747311B2 (en) | 2013-07-09 | 2017-08-29 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US9762461B2 (en) | 2013-07-09 | 2017-09-12 | Oracle International Corporation | Cloud services performance tuning and benchmarking |
US9792321B2 (en) | 2013-07-09 | 2017-10-17 | Oracle International Corporation | Online database migration |
US9805070B2 (en) | 2013-07-09 | 2017-10-31 | Oracle International Corporation | Dynamic migration script management |
CN107423436A (zh) * | 2017-08-04 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种用于不同类型数据库间在线数据迁移的方法 |
CN107515933A (zh) * | 2017-08-29 | 2017-12-26 | 平安科技(深圳)有限公司 | 修改源数据库表结构的方法、服务器、系统及存储介质 |
CN107992512A (zh) * | 2017-10-20 | 2018-05-04 | 中国建设银行股份有限公司上海市分行 | 一种数据迁移的方法、系统及计算机可读存储介质 |
US9967154B2 (en) | 2013-07-09 | 2018-05-08 | Oracle International Corporation | Advanced customer support services—advanced support cloud portal |
US9996562B2 (en) | 2013-07-09 | 2018-06-12 | Oracle International Corporation | Automated database migration architecture |
CN110799960A (zh) * | 2017-06-27 | 2020-02-14 | 易享信息技术有限公司 | 数据库租户迁移的系统和方法 |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
CN112699098A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种索引数据迁移方法、装置及设备 |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
CN114546995A (zh) * | 2022-04-25 | 2022-05-27 | 孔智科技(徐州)有限公司 | 一种基于图数据库的动态数据迁移方法和系统 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098364B2 (en) | 2013-07-09 | 2015-08-04 | Oracle International Corporation | Migration services for systems |
US20150032961A1 (en) * | 2013-07-23 | 2015-01-29 | Lexmark International Technologies S.A. | System and Methods of Data Migration Between Storage Devices |
US11288346B1 (en) * | 2014-03-03 | 2022-03-29 | Charles Schwab & Co., Inc. | System and method for authenticating users using weak authentication techniques, with differences for different features |
US9710365B2 (en) * | 2014-04-25 | 2017-07-18 | Wal-Mart Stores, Inc. | System and method for generating synthetic data for software testing purposes |
US9733866B2 (en) | 2015-01-28 | 2017-08-15 | International Business Machines Corporation | Dynamic drive selection for migration of files based on file size for a data storage system |
US10216744B2 (en) * | 2015-05-01 | 2019-02-26 | Microsoft Technology Licensing, Llc | Data migration to a cloud computing system |
US20160321319A1 (en) * | 2015-05-02 | 2016-11-03 | Kcura Llc | Methods and apparatus for upgrading a plurality of databases |
US20170034031A1 (en) * | 2015-07-31 | 2017-02-02 | Dell Products L.P. | Automatic determination of optimal time window for migration, backup or other processes |
US9535934B1 (en) * | 2015-11-17 | 2017-01-03 | International Business Machines Corporation | Schema lifecycle manager |
US20170288941A1 (en) * | 2016-03-29 | 2017-10-05 | Wipro Limited | Method and system for managing servers across plurality of data centres of an enterprise |
US10268633B2 (en) * | 2016-03-29 | 2019-04-23 | Wipro Limited | System and method for database migration with target platform scalability |
US10037298B2 (en) * | 2016-06-29 | 2018-07-31 | Amazon Technologies, Inc. | Network-accessible data volume modification |
US10469405B2 (en) | 2016-06-29 | 2019-11-05 | Amazon Technologies, Inc. | Network-accessible data volume modification |
CN107766132B (zh) * | 2017-06-25 | 2019-03-15 | 平安科技(深圳)有限公司 | 多任务调度方法、应用服务器及计算机可读存储介质 |
US10642801B2 (en) | 2017-08-29 | 2020-05-05 | Bank Of America Corporation | System for determining the impact to databases, tables and views by batch processing |
US11012297B2 (en) | 2018-04-16 | 2021-05-18 | Vmware, Inc. | Methods and apparatus to migrate physical server hosts between virtual standard switches and virtual distributed switches in a network |
US11385792B2 (en) * | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US11243777B2 (en) * | 2018-05-18 | 2022-02-08 | Nuxeo Corporation | Process stream replication for content management system synchronization |
WO2020031184A1 (en) * | 2018-08-06 | 2020-02-13 | Accelario Software Ltd. | Data migration methods and system |
US11847103B2 (en) | 2018-09-28 | 2023-12-19 | Oracle International Corporation | Data migration using customizable database consolidation rules |
US11392561B2 (en) | 2018-09-28 | 2022-07-19 | Oracle International Corporation | Data migration using source classification and mapping |
EP3648430B1 (de) * | 2018-11-05 | 2021-06-02 | Wincor Nixdorf International GmbH | Hardware-sicherheitsmodul |
CN110209652B (zh) * | 2019-05-20 | 2024-02-02 | 平安科技(深圳)有限公司 | 数据表迁移方法、装置、计算机设备和存储介质 |
JP2021096722A (ja) * | 2019-12-18 | 2021-06-24 | 株式会社日立製作所 | 計算機システム及びデータのアクセス制御方法 |
US11650833B1 (en) | 2020-01-15 | 2023-05-16 | State Farm Mutual Automobile Insurance Company | Systems and methods for automatically generating guided user interfaces (GUIs) for tracking and migrating legacy networked resources within an enterprise during a technical migration |
US11436216B2 (en) * | 2020-01-30 | 2022-09-06 | Dell Products L.P. | Unified database transition tool |
CN112579569A (zh) * | 2020-12-15 | 2021-03-30 | 中国建设银行股份有限公司 | 一种数据迁移方法和装置 |
US20230047056A1 (en) * | 2021-08-10 | 2023-02-16 | Palantir Technologies Inc. | Framework for live data migration |
US11797393B2 (en) | 2022-03-23 | 2023-10-24 | Bank Of America Corporation | Table prioritization for data copy in a multi-environment setup |
US11656955B1 (en) | 2022-03-23 | 2023-05-23 | Bank Of America Corporation | Database table valuation |
CN117149915B (zh) * | 2023-10-31 | 2024-03-29 | 湖南三湘银行股份有限公司 | 用于云端数据库迁移到开源数据库的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185625B1 (en) * | 1996-12-20 | 2001-02-06 | Intel Corporation | Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object |
US20020002578A1 (en) * | 2000-06-22 | 2002-01-03 | Fujitsu Limited | Scheduling apparatus performing job scheduling of a parallel computer system |
US20040167840A1 (en) * | 2003-10-22 | 2004-08-26 | Tully Michael James | System and method for the automated brokerage of financial instruments |
CN101266606A (zh) * | 2007-03-15 | 2008-09-17 | 阿里巴巴公司 | 一种基于Oracle数据库的在线数据迁移方法 |
GB2468742A (en) * | 2009-12-22 | 2010-09-22 | Celona Technologies Ltd | Database migration or synchronization with ordering of data replication instructions based upon dependencies between data to prevent errors |
US8271757B1 (en) * | 2007-04-17 | 2012-09-18 | American Megatrends, Inc. | Container space management in a data storage system |
US20120265726A1 (en) * | 2011-04-18 | 2012-10-18 | Infosys Limited | Automated data warehouse migration |
US20130173547A1 (en) * | 2011-12-30 | 2013-07-04 | Bmc Software, Inc. | Systems and methods for migrating database data |
Family Cites Families (162)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016394A (en) | 1997-09-17 | 2000-01-18 | Tenfold Corporation | Method and system for database application software creation requiring minimal programming |
US6151608A (en) * | 1998-04-07 | 2000-11-21 | Crystallize, Inc. | Method and system for migrating data |
ES1041642Y (es) | 1998-05-25 | 1999-12-01 | Pivot Publicidad S A | Soporte publicitario para microfonos. |
US6356898B2 (en) | 1998-08-31 | 2002-03-12 | International Business Machines Corporation | Method and system for summarizing topics of documents browsed by a user |
US7020697B1 (en) | 1999-10-01 | 2006-03-28 | Accenture Llp | Architectures for netcentric computing systems |
US6477483B1 (en) | 2000-01-17 | 2002-11-05 | Mercury Interactive Corporation | Service for load testing a transactional server over the internet |
US6615220B1 (en) | 2000-03-14 | 2003-09-02 | Oracle International Corporation | Method and mechanism for data consolidation |
US6973489B1 (en) | 2000-03-21 | 2005-12-06 | Mercury Interactive Corporation | Server monitoring virtual points of presence |
US6738811B1 (en) | 2000-03-31 | 2004-05-18 | Supermicro Computer, Inc. | Method and architecture for monitoring the health of servers across data networks |
JP2001297026A (ja) | 2000-04-11 | 2001-10-26 | Hitachi Ltd | 複数のデータベースマネージメントシステムを有する計算機システム |
US6898564B1 (en) | 2000-05-23 | 2005-05-24 | Microsoft Corporation | Load simulation tool for server resource capacity planning |
JP2001337790A (ja) | 2000-05-24 | 2001-12-07 | Hitachi Ltd | 記憶システム及びその階層管理制御方法 |
SG93868A1 (en) | 2000-06-07 | 2003-01-21 | Kent Ridge Digital Labs | Method and system for user-configurable clustering of information |
AU2002242036B2 (en) | 2001-02-02 | 2008-01-24 | Opentv, Inc. | Service platform suite management system |
US7548898B1 (en) | 2001-02-28 | 2009-06-16 | Teradata Us, Inc. | Parallel migration of data between systems |
US7177866B2 (en) | 2001-03-16 | 2007-02-13 | Gravic, Inc. | Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only |
US20020194329A1 (en) | 2001-05-02 | 2002-12-19 | Shipley Company, L.L.C. | Method and system for facilitating multi-enterprise benchmarking activities and performance analysis |
US7197559B2 (en) | 2001-05-09 | 2007-03-27 | Mercury Interactive Corporation | Transaction breakdown feature to facilitate analysis of end user performance of a server system |
FR2824929B1 (fr) | 2001-05-18 | 2003-08-08 | Gemplus Card Int | Deploiement d'application depuis une carte a puce |
US7580862B1 (en) | 2001-05-31 | 2009-08-25 | The Servicemaster Company | Method and system to select, schedule and purchase home services |
US7134122B1 (en) | 2001-05-31 | 2006-11-07 | Oracle International Corporation | One click deployment |
AU2002354789B2 (en) | 2001-07-06 | 2007-09-20 | Computer Associates Think, Inc. | Business process policy object |
US20030037034A1 (en) | 2001-08-16 | 2003-02-20 | Tim Daniels | System and method for lubricants supply chain management |
US6978441B2 (en) | 2001-10-03 | 2005-12-20 | Sun Microsystems, Inc. | Rating apparatus and method for evaluating bugs |
US7065541B2 (en) | 2001-10-10 | 2006-06-20 | International Business Machines Corporation | Database migration |
US20030192028A1 (en) | 2002-04-04 | 2003-10-09 | International Business Machines Corporation | System and method for determining software object migration sequences |
US8121978B2 (en) | 2002-11-15 | 2012-02-21 | Sybase, Inc. | Database system providing improved methods for data replication |
US20040153358A1 (en) | 2003-01-31 | 2004-08-05 | Lienhart Deborah A. | Method and system for prioritizing user feedback |
US20040181790A1 (en) | 2003-03-12 | 2004-09-16 | Herrick Joseph W. | System and method for maintaining installed software compliance with build standards |
EP1611524A4 (en) | 2003-03-19 | 2008-10-29 | Unisys Corp | SERVER CONSOLIDATION ANALYSIS |
US20060173875A1 (en) | 2003-03-19 | 2006-08-03 | Unisys Corporation | Server Consolidation Data Mdel |
US20060179431A1 (en) | 2003-03-19 | 2006-08-10 | Unisys Corporation | Rules-based deployment of computing components |
EP1671200A4 (en) | 2003-04-24 | 2007-10-17 | Secureinfo Corp | AUTOMATIC ELECTRONIC SOFTWARE DISTRIBUTION AND ADMINISTRATIVE PROCEDURES AND SYSTEM |
CA2472887A1 (en) | 2003-06-30 | 2004-12-30 | Gravic, Inc. | Methods for ensuring referential integrity in multithreaded replication engines |
US7552171B2 (en) | 2003-08-14 | 2009-06-23 | Oracle International Corporation | Incremental run-time session balancing in a multi-node system |
JP2005222108A (ja) | 2004-02-03 | 2005-08-18 | Matsushita Electric Ind Co Ltd | バグ分析方法および装置 |
WO2006007460A2 (en) | 2004-06-21 | 2006-01-19 | Spirent Communications Of Rockville, Inc. | Service-centric computer network services diagnostic conclusions |
US7707007B2 (en) | 2004-07-30 | 2010-04-27 | International Business Machines Corporation | Autonomic client migration system for service engagements |
US7290003B1 (en) | 2004-08-19 | 2007-10-30 | Sun Microsystems, Inc. | Migrating data using an intermediate self-describing format |
US7523286B2 (en) | 2004-11-19 | 2009-04-21 | Network Appliance, Inc. | System and method for real-time balancing of user workload across multiple storage systems with shared back end storage |
US20090126022A1 (en) | 2004-11-25 | 2009-05-14 | Nec Corporation | Method and System for Generating Data for Security Assessment |
US7343467B2 (en) | 2004-12-20 | 2008-03-11 | Emc Corporation | Method to perform parallel data migration in a clustered storage environment |
US20060235899A1 (en) | 2005-03-25 | 2006-10-19 | Frontline Systems, Inc. | Method of migrating legacy database systems |
US7656810B2 (en) | 2005-03-25 | 2010-02-02 | Microsoft Corporation | System and method for monitoring and reacting to peer-to-peer network metrics |
JP5093990B2 (ja) | 2005-03-28 | 2012-12-12 | Necエンジニアリング株式会社 | バグ管理システム |
US7693983B1 (en) | 2005-05-27 | 2010-04-06 | Symantec Operating Corporation | System and method providing application redeployment mappings using filtered resource usage data |
US7836452B2 (en) | 2005-06-10 | 2010-11-16 | International Business Machines Corporation | System, method and program for estimating a requisite amount of server resources |
US8429630B2 (en) | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US8438643B2 (en) | 2005-09-22 | 2013-05-07 | Alcatel Lucent | Information system service-level security risk analysis |
US7707552B2 (en) | 2005-10-17 | 2010-04-27 | International Business Machines Corporation | Method and system for autonomically prioritizing software defects |
US20070106710A1 (en) | 2005-10-26 | 2007-05-10 | Nils Haustein | Apparatus, system, and method for data migration |
KR100551454B1 (ko) | 2005-11-29 | 2006-02-14 | (주)그리드원 | 서버의 응용프로그램 성능을 시험하기 위한 그리드 컴퓨팅제어방법 및 그 서비스방법 |
US7480643B2 (en) | 2005-12-22 | 2009-01-20 | International Business Machines Corporation | System and method for migrating databases |
US7853945B2 (en) | 2006-02-22 | 2010-12-14 | Michael Kramer | Integrated computer server imaging |
US7676492B2 (en) | 2006-04-07 | 2010-03-09 | International Business Machines Corporation | Migration of database using serialized objects |
US8606894B1 (en) | 2006-04-27 | 2013-12-10 | Hewlett-Packard Development Company, L.P. | Server consolidation |
JP2007328692A (ja) | 2006-06-09 | 2007-12-20 | Canon Inc | 代数演算方法及びその装置、プログラム |
US7865584B2 (en) | 2006-06-20 | 2011-01-04 | Alcatel Lucent | Network service performance monitoring apparatus and methods |
US8060931B2 (en) | 2006-09-08 | 2011-11-15 | Microsoft Corporation | Security authorization queries |
US8239520B2 (en) | 2007-04-05 | 2012-08-07 | Alcatel Lucent | Network service operational status monitoring |
US8006223B2 (en) | 2007-06-13 | 2011-08-23 | International Business Machines Corporation | Method and system for estimating project plans for packaged software applications |
US8494832B2 (en) | 2007-06-20 | 2013-07-23 | Sanjeev Krishnan | Method and apparatus for software simulation |
US7886028B2 (en) | 2007-07-05 | 2011-02-08 | International Business Machines Corporation | Method and system for system migration |
US8407686B2 (en) | 2007-09-07 | 2013-03-26 | Ebay Inc. | Method and system for problem notification and processing |
US8356287B2 (en) | 2007-10-24 | 2013-01-15 | International Business Machines Corporation | Device, system and method of debugging computer programs |
US8949393B2 (en) | 2007-11-21 | 2015-02-03 | Alcatel Lucent | Self-service application for a service management system and method of operation thereof |
US20090187413A1 (en) | 2008-01-18 | 2009-07-23 | Timothy Abels | Service delivery platform for automated and remote information technology management |
US8495564B2 (en) | 2008-02-19 | 2013-07-23 | International Business Machines Corporation | Automated merging in a software development environment |
US7856499B2 (en) | 2008-03-20 | 2010-12-21 | Sap Ag | Autonomic provisioning of hosted applications with level of isolation terms |
US7962458B2 (en) | 2008-06-12 | 2011-06-14 | Gravic, Inc. | Method for replicating explicit locks in a data replication engine |
US8301593B2 (en) | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US8433680B2 (en) | 2008-07-01 | 2013-04-30 | Oracle International Corporation | Capturing and restoring database session state |
US8266254B2 (en) | 2008-08-19 | 2012-09-11 | International Business Machines Corporation | Allocating resources in a distributed computing environment |
JP4923008B2 (ja) | 2008-08-22 | 2012-04-25 | 株式会社日立製作所 | ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム |
US9367257B2 (en) | 2008-09-11 | 2016-06-14 | Microsoft Technology Licensing, Llc | Techniques for resource location and migration across data centers |
US8275748B2 (en) * | 2008-09-30 | 2012-09-25 | Emc Corporation | Semantic data migration |
WO2010040210A1 (en) | 2008-10-07 | 2010-04-15 | Research In Motion Limited | Resonator system for a speaker of an electronic device |
US8286177B2 (en) | 2009-01-29 | 2012-10-09 | Microsoft Corporation | Technique for conserving software application resources |
US8117613B2 (en) | 2009-04-08 | 2012-02-14 | Microsoft Corporation | Optimized virtual machine migration mechanism |
US8495725B2 (en) | 2009-08-28 | 2013-07-23 | Great Wall Systems | Methods, systems, and computer readable media for adaptive packet filtering |
US8161077B2 (en) | 2009-10-21 | 2012-04-17 | Delphix Corp. | Datacenter workflow automation scenarios using virtual databases |
US8074107B2 (en) | 2009-10-26 | 2011-12-06 | Amazon Technologies, Inc. | Failover and recovery for replicated data instances |
US8850423B2 (en) | 2009-10-29 | 2014-09-30 | International Business Machines Corporation | Assisting server migration |
GB2488742B (en) | 2009-12-14 | 2014-09-17 | Bosch Tool Corp | Jigsaw |
US8615741B2 (en) | 2009-12-24 | 2013-12-24 | International Business Machines Corporation | Software defect tracking |
US8589555B2 (en) | 2010-01-11 | 2013-11-19 | Nec Laboratories America, Inc. | Virtualization and consolidation analysis engine for enterprise data centers |
WO2011126902A2 (en) | 2010-03-30 | 2011-10-13 | Exoprise Systems Inc. | Systems and methods for selecting an alternative computing infrastructure and facilitating the migration and adoption thereto |
US8341462B2 (en) | 2010-07-19 | 2012-12-25 | Soasta, Inc. | System and method for provisioning and running a cross-cloud test grid |
US8356010B2 (en) | 2010-08-11 | 2013-01-15 | Sap Ag | Online data migration |
EP2625614B1 (en) | 2010-10-04 | 2019-04-17 | Avocent Huntsville, LLC | System and method for monitoring and managing data center resources in real time incorporating manageability subsystem |
US8635624B2 (en) | 2010-10-21 | 2014-01-21 | HCL America, Inc. | Resource management using environments |
US8626587B2 (en) | 2010-12-10 | 2014-01-07 | Verizon Patent And Licensing Inc. | Artificial intelligence-based recommender and self-provisioner |
US8984269B2 (en) | 2011-02-28 | 2015-03-17 | Red Hat, Inc. | Migrating data among cloud-based storage networks via a data distribution service |
US8667020B2 (en) | 2011-04-01 | 2014-03-04 | Microsoft Corporation | Placement goal-based database instance dynamic consolidation |
US20120284360A1 (en) * | 2011-04-11 | 2012-11-08 | Ebay Inc. | Job planner and execution engine for automated, self-service data movement |
US8589336B1 (en) | 2011-04-25 | 2013-11-19 | Netapp, Inc. | Framework for automated storage processes and flexible workflow |
US20120297059A1 (en) | 2011-05-20 | 2012-11-22 | Silverspore Llc | Automated creation of monitoring configuration templates for cloud server images |
US9223632B2 (en) | 2011-05-20 | 2015-12-29 | Microsoft Technology Licensing, Llc | Cross-cloud management and troubleshooting |
US9344484B2 (en) | 2011-05-27 | 2016-05-17 | Red Hat, Inc. | Determining consistencies in staged replication data to improve data migration efficiency in cloud based networks |
US8782215B2 (en) | 2011-05-31 | 2014-07-15 | Red Hat, Inc. | Performance testing in a cloud environment |
US8639989B1 (en) | 2011-06-30 | 2014-01-28 | Amazon Technologies, Inc. | Methods and apparatus for remote gateway monitoring and diagnostics |
US8769340B2 (en) | 2011-09-08 | 2014-07-01 | Microsoft Corporation | Automatically allocating clients for software program testing |
TWI630493B (zh) | 2011-09-19 | 2018-07-21 | 塔塔顧問服務有限公司 | 用於提供促進感測器驅動式應用的開發及部署之運算平台的系統及方法 |
WO2012149789A1 (zh) | 2011-09-30 | 2012-11-08 | 华为技术有限公司 | Vpc迁移中的资源匹配方法及装置 |
US9298713B2 (en) | 2011-09-30 | 2016-03-29 | Oracle International Corporation | Executor for software configuration automation |
US9075811B2 (en) | 2011-09-30 | 2015-07-07 | Symantec Corporation | Cloud information migration systems and methods |
US8943032B1 (en) * | 2011-09-30 | 2015-01-27 | Emc Corporation | System and method for data migration using hybrid modes |
US8880477B2 (en) | 2011-10-04 | 2014-11-04 | Nec Laboratories America, Inc. | Latency-aware live migration for multitenant database platforms |
US8924353B1 (en) | 2011-11-08 | 2014-12-30 | Symantec Corporation | Systems and methods for copying database files |
US20130311968A1 (en) | 2011-11-09 | 2013-11-21 | Manoj Sharma | Methods And Apparatus For Providing Predictive Analytics For Software Development |
US9262250B2 (en) | 2011-12-12 | 2016-02-16 | Crashlytics, Inc. | System and method for data collection and analysis of information relating to mobile applications |
CN103176988A (zh) | 2011-12-21 | 2013-06-26 | 上海博腾信息科技有限公司 | 基于SaaS的数据迁移系统 |
US8818949B2 (en) | 2011-12-30 | 2014-08-26 | Bmc Software, Inc. | Systems and methods for migrating database data |
US8909734B2 (en) | 2012-02-07 | 2014-12-09 | International Business Machines Corporation | Migrating data between networked computing environments |
US9477936B2 (en) | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
US9401904B1 (en) | 2012-03-15 | 2016-07-26 | Motio, Inc. | Security migration in a business intelligence environment |
US8856339B2 (en) | 2012-04-04 | 2014-10-07 | Cisco Technology, Inc. | Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment |
US8880934B2 (en) | 2012-04-04 | 2014-11-04 | Symantec Corporation | Method and system for co-existence of live migration protocols and cluster server failover protocols |
US9201704B2 (en) | 2012-04-05 | 2015-12-01 | Cisco Technology, Inc. | System and method for migrating application virtual machines in a network environment |
US9203784B2 (en) | 2012-04-24 | 2015-12-01 | Cisco Technology, Inc. | Distributed virtual switch architecture for a hybrid cloud |
US9769085B2 (en) | 2012-05-04 | 2017-09-19 | Citrix Systems, Inc. | Systems and methods for adaptive application provisioning |
US9626710B1 (en) | 2012-05-23 | 2017-04-18 | Amazon Technologies, Inc. | Best practice analysis, optimized resource use |
US9342370B2 (en) | 2012-05-30 | 2016-05-17 | International Business Machines Corporation | Server migration |
US20150058467A1 (en) | 2012-06-15 | 2015-02-26 | Digital River, Inc. | Fast provisioning of platform-as-a-service system and method |
US9081610B2 (en) | 2012-06-18 | 2015-07-14 | Hitachi, Ltd. | Method and apparatus to maximize return on investment in hybrid cloud environment |
CN103530290B (zh) | 2012-07-03 | 2017-12-12 | 深圳市腾讯计算机系统有限公司 | 数据库间的数据迁移方法和系统 |
TW201404135A (zh) | 2012-07-09 | 2014-01-16 | Av Tech Corp | 網路電子裝置安裝設定系統、網路電子裝置及其安裝設定方法 |
US9043787B2 (en) | 2012-07-13 | 2015-05-26 | Ca, Inc. | System and method for automated assignment of virtual machines and physical machines to hosts |
US9122527B2 (en) | 2012-08-21 | 2015-09-01 | International Business Machines Corporation | Resource allocation for migration within a multi-tiered system |
WO2014032262A1 (zh) | 2012-08-30 | 2014-03-06 | 华为技术有限公司 | 一种平台间迁移应用的实现方法及系统 |
US9467355B2 (en) | 2012-09-07 | 2016-10-11 | Oracle International Corporation | Service association model |
US9619540B2 (en) | 2012-09-07 | 2017-04-11 | Oracle International Corporation | Subscription order generation for cloud services |
US9363154B2 (en) | 2012-09-26 | 2016-06-07 | International Business Machines Corporaion | Prediction-based provisioning planning for cloud environments |
US9535818B2 (en) | 2012-10-16 | 2017-01-03 | Microsoft Technology Licensing, Llc | Identifying high impact bugs |
CN102982085B (zh) | 2012-10-31 | 2017-05-31 | 北京奇虎科技有限公司 | 数据迁移系统和方法 |
US9058219B2 (en) | 2012-11-02 | 2015-06-16 | Amazon Technologies, Inc. | Custom resources in a resource stack |
US9430506B2 (en) * | 2012-12-19 | 2016-08-30 | Accenture Global Services Limited | Enterprise migration planning information repository |
US9075529B2 (en) | 2013-01-04 | 2015-07-07 | International Business Machines Corporation | Cloud based data migration and replication |
US9436712B2 (en) | 2013-03-14 | 2016-09-06 | Microsoft Technology Licensing, Llc | Data migration framework |
US9438648B2 (en) | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US9491063B2 (en) | 2013-05-15 | 2016-11-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for providing network services orchestration |
US9317311B2 (en) | 2013-06-17 | 2016-04-19 | International Business Machines Corporation | Generating a deployment pattern for reuse in a networked computing environment |
US9098364B2 (en) | 2013-07-09 | 2015-08-04 | Oracle International Corporation | Migration services for systems |
US9967154B2 (en) | 2013-07-09 | 2018-05-08 | Oracle International Corporation | Advanced customer support services—advanced support cloud portal |
US9805070B2 (en) | 2013-07-09 | 2017-10-31 | Oracle International Corporation | Dynamic migration script management |
US9792321B2 (en) | 2013-07-09 | 2017-10-17 | Oracle International Corporation | Online database migration |
US9996562B2 (en) | 2013-07-09 | 2018-06-12 | Oracle International Corporation | Automated database migration architecture |
EP3019961B1 (en) | 2013-07-09 | 2018-03-21 | Oracle International Corporation | Cloud services load testing and analysis |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US9491072B2 (en) | 2013-07-09 | 2016-11-08 | Oracle International Corporation | Cloud services load testing and analysis |
US9762461B2 (en) | 2013-07-09 | 2017-09-12 | Oracle International Corporation | Cloud services performance tuning and benchmarking |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US9747311B2 (en) | 2013-07-09 | 2017-08-29 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US9405583B2 (en) | 2013-10-14 | 2016-08-02 | Emc Corporation | Resource provisioning based on logical profiles and piecewise objective functions |
US9729623B2 (en) | 2014-03-15 | 2017-08-08 | International Business Machines Corporation | Specification-guided migration |
US9386079B2 (en) | 2014-06-10 | 2016-07-05 | American Megatrends, Inc. | Method and system of virtual desktop infrastructure deployment studio |
EP3155576B1 (en) | 2014-06-11 | 2021-05-05 | Oracle International Corporation | Providing a subscription for a service using an existing subscription |
US10007701B2 (en) | 2014-07-16 | 2018-06-26 | Oracle International Corporation | Database consolidation advisor |
US9817690B2 (en) | 2015-09-11 | 2017-11-14 | International Business Machines Corporation | Predictively provisioning cloud computing resources for virtual machines |
US10015197B2 (en) | 2015-10-22 | 2018-07-03 | International Business Machines Corporation | Determining network security policies during data center migration and detecting security violation |
US11074254B2 (en) | 2016-03-23 | 2021-07-27 | International Business Machines Corporation | Performance management using thresholds for queries of a service for a database as a service |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
-
2013
- 2013-07-09 US US13/937,486 patent/US9805070B2/en active Active
-
2014
- 2014-06-03 WO PCT/US2014/040692 patent/WO2015005994A1/en active Application Filing
- 2014-06-03 CN CN201480039083.3A patent/CN105393250B/zh active Active
- 2014-06-03 EP EP18187354.8A patent/EP3418921B1/en active Active
- 2014-06-03 EP EP14736122.4A patent/EP3019976B1/en active Active
-
2017
- 2017-10-20 US US15/789,049 patent/US10248671B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185625B1 (en) * | 1996-12-20 | 2001-02-06 | Intel Corporation | Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object |
US20020002578A1 (en) * | 2000-06-22 | 2002-01-03 | Fujitsu Limited | Scheduling apparatus performing job scheduling of a parallel computer system |
US20040167840A1 (en) * | 2003-10-22 | 2004-08-26 | Tully Michael James | System and method for the automated brokerage of financial instruments |
CN101266606A (zh) * | 2007-03-15 | 2008-09-17 | 阿里巴巴公司 | 一种基于Oracle数据库的在线数据迁移方法 |
US8271757B1 (en) * | 2007-04-17 | 2012-09-18 | American Megatrends, Inc. | Container space management in a data storage system |
GB2468742A (en) * | 2009-12-22 | 2010-09-22 | Celona Technologies Ltd | Database migration or synchronization with ordering of data replication instructions based upon dependencies between data to prevent errors |
US20120265726A1 (en) * | 2011-04-18 | 2012-10-18 | Infosys Limited | Automated data warehouse migration |
US20130173547A1 (en) * | 2011-12-30 | 2013-07-04 | Bmc Software, Inc. | Systems and methods for migrating database data |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996562B2 (en) | 2013-07-09 | 2018-06-12 | Oracle International Corporation | Automated database migration architecture |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US9491072B2 (en) | 2013-07-09 | 2016-11-08 | Oracle International Corporation | Cloud services load testing and analysis |
US9762461B2 (en) | 2013-07-09 | 2017-09-12 | Oracle International Corporation | Cloud services performance tuning and benchmarking |
US9792321B2 (en) | 2013-07-09 | 2017-10-17 | Oracle International Corporation | Online database migration |
US9805070B2 (en) | 2013-07-09 | 2017-10-31 | Oracle International Corporation | Dynamic migration script management |
US10198255B2 (en) | 2013-07-09 | 2019-02-05 | Oracle International Corporation | Method and system for reducing instability when upgrading software |
US10691654B2 (en) | 2013-07-09 | 2020-06-23 | Oracle International Corporation | Automated database migration architecture |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US10248671B2 (en) | 2013-07-09 | 2019-04-02 | Oracle International Corporation | Dynamic migration script management |
US9747311B2 (en) | 2013-07-09 | 2017-08-29 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US10540335B2 (en) | 2013-07-09 | 2020-01-21 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US9967154B2 (en) | 2013-07-09 | 2018-05-08 | Oracle International Corporation | Advanced customer support services—advanced support cloud portal |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
CN106453844A (zh) * | 2016-09-14 | 2017-02-22 | 青岛海信电器股份有限公司 | 设备操控方法和装置 |
CN110799960B (zh) * | 2017-06-27 | 2023-12-08 | 硕动力公司 | 数据库租户迁移的系统和方法 |
CN110799960A (zh) * | 2017-06-27 | 2020-02-14 | 易享信息技术有限公司 | 数据库租户迁移的系统和方法 |
CN107423436A (zh) * | 2017-08-04 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种用于不同类型数据库间在线数据迁移的方法 |
CN107515933A (zh) * | 2017-08-29 | 2017-12-26 | 平安科技(深圳)有限公司 | 修改源数据库表结构的方法、服务器、系统及存储介质 |
CN107992512A (zh) * | 2017-10-20 | 2018-05-04 | 中国建设银行股份有限公司上海市分行 | 一种数据迁移的方法、系统及计算机可读存储介质 |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
CN112699098A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种索引数据迁移方法、装置及设备 |
CN114546995A (zh) * | 2022-04-25 | 2022-05-27 | 孔智科技(徐州)有限公司 | 一种基于图数据库的动态数据迁移方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015005994A1 (en) | 2015-01-15 |
EP3019976A1 (en) | 2016-05-18 |
US20180060313A1 (en) | 2018-03-01 |
EP3418921A1 (en) | 2018-12-26 |
US9805070B2 (en) | 2017-10-31 |
US20150019478A1 (en) | 2015-01-15 |
US10248671B2 (en) | 2019-04-02 |
EP3418921B1 (en) | 2019-10-23 |
EP3019976B1 (en) | 2018-09-12 |
CN105393250B (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105393250A (zh) | 动态迁移脚本的管理 | |
US10691654B2 (en) | Automated database migration architecture | |
US11586428B1 (en) | Constraint-based upgrade and deployment | |
CN105324769B (zh) | 用于产生用于自动数据库迁移的脚本集的解决方案 | |
CN105359147B (zh) | 在线数据库迁移 | |
US9135071B2 (en) | Selecting processing techniques for a data flow task | |
JP6286345B2 (ja) | システム設計支援装置およびシステム設計支援方法 | |
CN116508019A (zh) | 用于数据库管理系统的基于学习的工作负载资源优化 | |
US9323512B2 (en) | Tools and methods for copying applications | |
WO2020205150A1 (en) | Validation of operating plans and schedules using machine learning | |
KR101826827B1 (ko) | 데이터베이스 간의 실시간 통합 복제 시스템 | |
JP2020038421A (ja) | ボリューム配置管理装置、ボリューム配置管理方法、及びボリューム配置管理プログラム | |
US10204106B2 (en) | Management method, management device, and management system | |
KR101919816B1 (ko) | 데이터베이스 샤딩 환경에서의 정합성 검사 | |
Ren et al. | Application Massive Data Processing Platform for Smart Manufacturing Based on Optimization of Data Storage | |
US20240193123A1 (en) | Data archival recommendation systems using artificial intelligence techniques | |
US20210357196A1 (en) | Automated Deployment of Analytic Models | |
US20160309006A1 (en) | Non-transitory computer-readable recording medium and distributed processing method | |
CN116126995A (zh) | 一种索引信息的生成方法、装置及计算机可读存储介质 | |
CN117667102A (zh) | 一种依赖分析方法、设备、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |