动态迁移脚本的管理.pdf

上传人:54 文档编号:6202562 上传时间:2019-05-20 格式:PDF 页数:31 大小:2.50MB
返回 下载 相关 举报
摘要
申请专利号:

CN201480039083.3

申请日:

2014.06.03

公开号:

CN105393250A

公开日:

2016.03.09

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20140603|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

甲骨文国际公司

发明人:

S·比内; E·施皮格尔贝尔格

地址:

美国加利福尼亚

优先权:

13/937,486 2013.07.09 US

专利代理机构:

中国国际贸易促进委员会专利商标事务所11038

代理人:

李晓芳

PDF下载: PDF下载
内容摘要

用于管理服务器系统之间的迁移的各种实施例被呈现。可以接收在数据库系统从源服务器系统到目标服务器系统的迁移期间要执行的多个迁移脚本的指示。可以基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以及所述多个迁移脚本的特性,确定针对所述多个迁移脚本的执行顺序。可以根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移脚本的执行。第一迁移脚本可以引起所述多个数据库对象中的一数据库对象从所述源服务器系统到所述目标服务器系统的复制。

权利要求书

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.一种用于管理服务器系统之间的迁移的非暂态处理器可读介
质,其包括被配置为使得一个或多个处理器执行以下操作的处理器可
读指令:
接收要在数据库系统从源服务器系统到目标服务器系统的迁移
期间执行的多个迁移脚本的指示;
基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以
及所述多个迁移脚本的特性,确定所述多个迁移脚本的执行顺序;以

根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移
脚本的执行,其中
所述第一迁移脚本引起所述多个数据库对象中的一数据库
对象从所述源服务器系统到所述目标服务器系统的复制。

说明书

动态迁移脚本的管理

对相关申请的交叉引用

本申请与以下共同待决、共同受让的美国专利申请相关:由
Higginson同步提交的、名称为“METHODANDSYSTEMFOR
REDUCINGINSTABILITYWHENUPGRADINGSOFTWARE”的
美国专利申请No.13/937,977(代理结构案号88325-860490
(135800US));由Davis同步提交的、名称为“CONSOLIDATION
PLANNINGSERVICEFORSYSTEMSMIGRATION”的美国专利申
请No.13/938,061(代理结构案号88325-870368(137700US));由Davis
同步提交的、名称为“MIGRATIONSERVICESFORSYSTEMS”的美
国专利申请No.13/938,066(代理结构案号88325-870369(137800US));
由Higginson同步提交的、名称为“DATABASEMODELINGAND
ANALYSIS”的美国专利申请No.13/937,885(代理结构案号
88325-870374(137900US));由Higginson同步提交的、名称为
“AUTOMATEDDATABASEMIGRATIONARCHITECTURE”的美
国专利申请No.13/937,868(代理结构案号88325-870373
(138000US));由Raghunathan等同步提交的、名称为“CLOUD
SERVICESLOADTESTINGANDANALYSIS”的美国专利申请No.
13/937,344(代理结构案号88325-870381(138100US));由Raghunathan
等同步提交的、名称为“CLOUDSERVICESPERFORMANCE
TUNINGANDBENCHMARKING”的美国专利申请No.13/937,483
(代理结构案号88325-870383(138200US));由Buehne等同步提交的、
名称为“SOLUTIONTOGENERATEASCRIPTSETFORAN
AUTOMATEDDATABASEMIGRATION”的美国专利申请No.
13/937,988(代理结构案号88325-870382(138300US));由Buehne等同
步提交的、名称为“ONLINEDATABASEMIGRATION”的美国专利
申请No.13/937,545(代理结构案号88325-870410(138400US));以及
由Masterson等同步提交的、名称为“ADVANCEDCUSTOMER
SUPPORTSERVICES–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等同步提交的、名称为“SOLUTIONTOGENERATEA
SCRIPTSETFORANAUTOMATEDDATABASEMIGRATION”的
美国专利申请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等同步
提交的、名称为“CLOUDSERVICESLOADTESTINGAND
ANALYSIS”的美国专利申请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可以
依赖于上下文被解释为单个计算设备,诸如独立的膝上型计算机、桌
面型计算机等。

上面所讨论的方法、系统和设备是示例。各种配置可以视情况而
省略、替代或添加各种流程或组件。例如,在替代的配置中,可以以
与所描述的顺序不同的顺序执行方法,和/或可以添加、省略和/或组
合各种阶段。另外,针对某些配置描述的特征可以被组合到各种其他
配置中。配置的不同方面和元件可以以类似的方式组合。另外,技术
在发展,因此许多元件是示例,并不限制公开或权利要求的范围。

在描述中给出了特定细节以提供对示例配置(包括实施方式)的
深入理解。但是,在没有这些特定细节的情况下,可以实施这些配置。
例如,在没有不必要的细节的情况下,熟知的电路、进程、算法、结
构和技术已经被示出,以避免使配置难以理解。此描述仅仅提供示例
配置,并且不限制权利要求的范围、适用性或配置。相反,以上对配
置的描述将向本领域技术人员提供使得能够实施所描述的技术的描
述。在不背离公开的精神或范围的情况下,在功能和元件的布置中可
以做出各种改变。

另外,配置可以被描述为被描绘为流程图或框图的进程。虽然流
程图或框图中的每一个可以将操作描述为顺序的进程,但是可以并行
或同时地执行许多操作。另外,操作的顺序可以被重新布置。进程可
以具有不被包括在附图中的附加步骤。另外,方法的示例可以由硬件、
软件、固件、中间件、微代码、硬件描述语言、或它们的任何组合实
施。当在软件、固件、中间件、或微代码中实施时,用于执行必要任
务的程序代码或代码分段可以被存储在诸如存储介质之类的非暂时性
计算机可读介质中。处理器可以执行所描述的任务。

已经描述了若干示例配置,但在不背离本公开的精神的情况下,
可以使用各种修改、替代构造以及等效物。例如,以上元件可以是较
大的系统的组件,在较大的系统中其他规则可以占优或以其它方式修
改本发明的应用。另外,可以在以上元件被考虑之前、期间或之后,
进行若干步骤。

动态迁移脚本的管理.pdf_第1页
第1页 / 共31页
动态迁移脚本的管理.pdf_第2页
第2页 / 共31页
动态迁移脚本的管理.pdf_第3页
第3页 / 共31页
点击查看更多>>
资源描述

《动态迁移脚本的管理.pdf》由会员分享,可在线阅读,更多相关《动态迁移脚本的管理.pdf(31页珍藏版)》请在专利查询网上搜索。

用于管理服务器系统之间的迁移的各种实施例被呈现。可以接收在数据库系统从源服务器系统到目标服务器系统的迁移期间要执行的多个迁移脚本的指示。可以基于使用所述多个迁移脚本要迁移的多个数据库对象的特性以及所述多个迁移脚本的特性,确定针对所述多个迁移脚本的执行顺序。可以根据所确定的执行顺序,启动对所述多个迁移脚本中的第一迁移脚本的执行。第一迁移脚本可以引起所述多个数据库对象中的一数据库对象从所述源服务器系统。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1