CN104850569B - 数据迁移方法和装置 - Google Patents
数据迁移方法和装置 Download PDFInfo
- Publication number
- CN104850569B CN104850569B CN201410056824.0A CN201410056824A CN104850569B CN 104850569 B CN104850569 B CN 104850569B CN 201410056824 A CN201410056824 A CN 201410056824A CN 104850569 B CN104850569 B CN 104850569B
- Authority
- CN
- China
- Prior art keywords
- user
- database
- data
- migration
- directory
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据迁移方法和装置。其中,该方法包括:根据接收到的登录指令登录第一数据库中的管理帐户,其中,管理帐户具有获取第一数据库中的多个用户的数据的权限;在管理帐户下获取多个用户中的每个用户的数据所占用的空间大小;将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中。本发明解决了现有技术中多用户数据迁移时效率较低的技术问题,达到了提高迁移多用户数据的效率的技术效果。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据迁移方法和装置。
背景技术
如图1所示,为了将一个数据库中的多个用户数据迁移到另一个数据库中,通常情况下需要先将用户A、用户B和用户C等用户的用户数据由源数据库导出(即,图1中所示的“先从源库Exp”),然后在目标数据库建立相对应的用户并授权,再将先前导出的用户数据导入到目标数据库中(即,图1所示的“再在目标库imp”)。然而,上述导出操作需要先获取用户A、用户B和用户C等用户在源数据库中的用户名和密码。
假设源数据库的地址为:192.168.0.1,目标数据库的地址为:192.168.0.2,如图1所示,现有技术中通常采用以下两种方案来从源数据库向目标数据库导入用户数据:
方案一:采用imp技术(oracle9i及以下版本)从源数据库向目标数据库导入用户数据。在执行本方案时,需要先从源数据库导出用户数据,并在目标数据库建立对应的用户,再将上述导出的用户数据导入到目标数据库中。该方案的具体执行过程可以包括如下步骤:
步骤1:从源数据库导出用户数据,并使用缓存空间来存储导出的用户数据,该步骤所对应的指令可以如下所示:
Exp userA/userA@192.168.0.1file=d:\userA.dmp
Exp userB/userB@192.168.0.1file=d:\userB.dmp......
步骤2:从缓存空间中将上述导出的用户数据导入到目标数据库中,其中,执行该操作时或者之前需要在目标数据库建立对应的用户。执行上述建立用户和导入用户数据的指令可以如下所示:
Create user userA identified by userA
Grant dba to userA
Create user userB identified by userB
Grant dba to userB......
Imp userA/userA@192.168.0.2file=d:\userA.dmp full=y
Imp userB/userB@192.168.0.2file=d:\userB.dmp full=y......
上述采用imp技术的方案相对简单,对于只迁移一个或者两个特定用户的数据时比较方便快捷,然而对于迁移多用户的数据时操作起来则较麻烦,这是因为在从源数据库导出用户数据时必须要知道各个用户的用户名及密码。也就是说,为了获取每个用户的用户数据,则每次都需要先获知该用户的用户名及密码,并使用该用户名及密码来访问该用户的用户数据,这样大大降低了数据迁移的效率。
方案二:采用impdp技术(oracle10G及以上版本推荐)从源数据库向目标数据库导入用户数据。在执行本方案时,需要先从源数据库导出用户数据,并在目标数据库建立对应的用户和虚拟目录,其中,建立虚拟目录的指令可以如下所示:
Create directory DATA_PUMP_DIR as'/data/oradata'
然后将上述导出的用户数据导入到目标数据库中。该方案的具体执行过程可以包括如下步骤:
步骤1:从源数据库导出用户数据,该步骤所对应的指令可以如下所示:
Expdp userA/userA@192.168.0.1file=d:\userA.dmp directory=data_pump_dir schemas=userA
Expdp userB/userB@192.168.0.1file=d:\userB.dmp directory=data_pump_dir schemas=userB......
步骤2:将上述导出的用户数据导入到目标数据库中,其中,执行该操作时或者之前需要在目标数据库建立对应的用户。执行上述建立用户和导入用户数据的指令可以如下所示:
Create user userA identified by userA
Grant dba to userA
Create user userB identified by userB
Grant dba to userB......
Impdp userA/userA@192.168.0.2file=d:\userA.dmp directory=data_pump_dir schemas=userA
Impdp userB/userB@192.168.0.2file=d:\userB.dmp directory=data_pump_dir schemas=userB......
上述采用impdp技术的方案相对于采用imp技术的方案而言,在导入导出数据时速度更快,从而保证数据迁移的整体速度要优于imp技术。然而,impdp技术的实现逻辑和imp技术类似,对于迁移多用户的数据时操作起来比较麻烦,这是因为在从源数据库导出用户数据时必须要知道各个用户的用户名及密码。也就是说,为了获取每个用户的用户数据,则每次都需要先获知该用户的用户名及密码,并使用该用户名及密码来访问该用户的用户数据,这样大大降低了数据迁移的效率。
综上所述,无论使用imp还是impdp技术,都需要知道源数据库的用户名和密码,如果涉及到要导入多个用户,就必须要知道源数据库多个用户的用户名及密码,并按照用户导出多个数据文件,在目标数据库建立多个与源数据库中的用户对应的用户,然后按照用户分别执行多次导入命令,如此操作将会非常繁复,降低了数据迁移的效率。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据迁移方法和装置,以至少解决现有技术中多用户数据迁移时效率较低技术问题。
根据本发明实施例的一个方面,提供了一种数据迁移方法,包括:根据接收到的登录指令登录第一数据库中的管理帐户,其中,管理帐户具有获取第一数据库中的多个用户的数据的权限;在管理帐户下获取多个用户中的每个用户的数据所占用的空间大小;将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中。
可选地,将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中包括:在第二数据库中分别建立与每个用户对应的、大小为每个用户的数据所占用的空间大小的表空间;在第一数据库与第二数据库之间建立链接;通过链接直接将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的表空间中。
可选地,通过链接直接将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的表空间中包括:接收数据迁移指令,其中,数据迁移指令包括每个用户的名称和迁移目录;响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中。
可选地,响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中包括:响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中相同的迁移目录下的表空间中;或者响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中不同的迁移目录下的表空间中。
可选地,在接收数据迁移指令之前,还包括:接收迁移目录建立指令;响应迁移目录建立指令在第二数据库中建立与表空间对应的迁移目录。
可选地,一个迁移目录用于存储一个用户的数据,或者,一个迁移目录用于存储多个用户的数据,或者,一个迁移目录用于存储所有用户的数据。
可选地,在根据接收到的登录指令登录第一数据库中的管理帐户之前,还包括:在第一数据库中建立管理帐户,其中,多个用户为第一数据库中的部分用户或者所有用户。
根据本发明实施例的另一方面,还提供了一种数据迁移装置,包括:登录单元,用于根据接收到的登录指令登录第一数据库中的管理帐户,其中,管理帐户具有获取第一数据库中的多个用户的数据的权限;获取单元,用于在管理帐户下获取多个用户中的每个用户的数据所占用的空间大小;迁移单元,用于将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中。
可选地,迁移单元包括:第一建立模块,用于在第二数据库中分别建立与每个用户对应的、大小为每个用户的数据所占用的空间大小的表空间;第二建立模块,用于在第一数据库与第二数据库之间建立链接;迁移模块,用于通过链接直接将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的表空间中。
可选地,迁移模块包括:第一接收子模块,用于接收数据迁移指令,其中,数据迁移指令包括每个用户的名称和迁移目录;迁移子模块,用于响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中。
可选地,迁移子模块用于通过以下之一来执行响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中的步骤:响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中相同的迁移目录下的表空间中;或者响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中不同的迁移目录下的表空间中。
可选地,迁移模块还包括:第二接收子模块,用于在接收数据迁移指令之前,接收迁移目录建立指令;建立子模块,用于响应迁移目录建立指令在第二数据库中建立与表空间对应的迁移目录。
可选地,一个迁移目录用于存储一个用户的数据,或者,一个迁移目录用于存储多个用户的数据,或者,一个迁移目录用于存储所有用户的数据。
可选地,该装置还包括:建立单元,用于在根据接收到的登录指令登录第一数据库中的管理帐户之前,在第一数据库中建立管理帐户,其中,多个用户为第一数据库中的部分用户或者所有用户。
在本发明实施例中,管理帐户具有获取第一数据库中的多个用户的数据的权限,通过该管理账户可以获取第一数据库中多个用户的用户数据,并将该多个用户的用户数据一起迁移到第二数据库中,从而避免了现有技术中需要获取多个用户的用户名及密码才能获取到多个用户的用户数据、且需要分别将用户数据进行导出和导入的问题,从而解决了现有技术中多用户数据迁移时效率较低的技术问题,达到了提高迁移多用户数据的效率的技术效果。
此外,在本发明实施例中,通过第一数据库和第二数据库之间建立的链接,可以将第一数据库中多个用户的用户数据直接迁移到第二数据库中,即,采用直接点到点数据迁移的方式进行多个用户的用户数据的迁移,而不需要如现有技术所采用的对每个用户先将导出的数据存入缓存空间中,再从缓存空间中将导出的数据导入到目标数据库中,从而进一步提高迁移多个用户的用户数据的效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种数据迁移的示意图;
图2是根据本发明实施例的一种可选的数据迁移方法的流程图;
图3是根据本发明实施例的一种可选的数据迁移方法的示意图;
图4是根据本发明实施例的另一种可选的数据迁移方法的流程图;
图5是根据本发明实施例的又一种可选的数据迁移方法的流程图;
图6是根据本发明实施例的又一种可选的数据迁移方法的流程图;
图7是根据本发明实施例的一种可选的数据库中用户的数据的示意图;
图8是根据本发明实施例的另一种可选的数据库中用户的数据的示意图;
图9是根据本发明实施例的一种可选的数据迁移表空间的示意图;
图10是根据本发明实施例的一种可选的数据迁移装置的示意图;
图11是根据本发明实施例的另一种可选的数据迁移装置的示意图;
图12是根据本发明实施例的又一种可选的数据迁移装置的示意图;以及
图13是根据本发明实施例的又一种可选的数据迁移装置的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
根据本发明实施例,提供了一种数据迁移方法,如图2所示,该方法包括:
S202,根据接收到的登录指令登录第一数据库中的管理帐户;
可选地,在本实施例中上述情景应用于将一个数据库中的多个用户数据迁移到另一个数据库,如图3所示,将第一数据库302中的用户A、用户B、用户C的数据迁移到第二数据库304中对应的表空间(TableSpace)中,也就是说,将用户A的表空间1中的数据迁移到第二数据库304中预先配置的用于存放用户A的数据的表空间1’中,将用户B的表空间2中的数据迁移到第二数据库304中预先配置的用于存放用户B的数据的表空间2’中,将用户C的表空间3中的数据迁移到第二数据库304中预先配置的用于存放用户C的数据的表空间3’中。上述举例只是一种示例,本申请对此不作限定。
可选地,在本实施例中的迁移可以包括但不限于以下至少之一:复制、剪切。例如,将第一数据库302中的数据复制到第二数据库304中,同时仍保留第一数据库302中的原数据;或者,将第一数据库302中的数据剪切到第二数据库304中,则第一数据库302中将不再保存原数据。上述举例只是一种示例,本申请对此不作限定。
可选地,在本实施例中登录第一数据库302中的管理用户之前,先接收登录到第一数据库302的登录指令,其中,上述登录指令可以包括但不限于:用户名、密码。也就是说,通过输入用户名和密码进而登录进入相对应的第一数据库302的管理账户。可选地,在本实施例中管理帐户具有获取第一数据库302中的多个用户的数据的权限,结合图3所示,登录第一数据库302的管理账户,则可获取第一数据库302中多个用户(例如,用户A、用户B、用户C)的数据,其中,如图7所示,可以采用以下至少之一在第一数据库302中标识上述用户:用户名称(USERNAME)、用户标识(USER_ID),或创建时间(CREATED)。例如,第一数据库302中待迁移数据的用户为“WILKIE,ADWIN,ARM01,ARM02,MO,SNSWIN,ETL,APP,ARPS,DWINSIGHT,DWADDB,COGNOS”,登录第一数据库302的管理账户后,则可拥有获取第一数据库302中上述数据的权限。
S204,在管理帐户下获取多个用户中的每个用户的数据所占用的空间大小;
可选地,在本实施例中登录第一数据库302的管理账户之后,获取每个用户的数据所占用的空间大小。可选地,结合图8所示,还可以获取待迁移数据的用户所在的的默认表空间(DEFAULT_TABLESPACE)、暂存表空间(TEMPORARY_TABLESPACE),例如,如下表1所示,获取用户A(例如,用户“WILKLE”)的数据所在的默认表空间为“USERS”,暂存表空间为“TEMP”,所占空间的大小为10G;获取用户B(例如,用户“ADWIN”)的数据所在的默认空间为“DWADDB”,暂存表空间为“TEMP”,所占空间的大小为25G;获取用户C(例如,用户“ARM02”)的数据所在的默认空间为“DWINSIGHT02”,暂存表空间为“ARM_TMP2”,所占空间的大小为20G。这样,用户A、B和C在第一数据库302中所占用的总的空间大小为55G。
表1
S206,将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中。
可选地,本实施例中在第二数据库304中建立了空间大小与第一数据库302的每个用户相对应的,大小为每个用户的数据所占用的空间大小的表空间。例如,结合图3所示,登录第一数据库302的管理账户后,获取用户A、用户B、用户C的数据及各个用户的数据所占用的空间大小分别为10G,25G,20G;在第二数据库304中建立与第一数据库302的每个用户相对应的,大小为每个用户的数据所占用的空间大小的表空间,也就是说,建立与用户A的表空间1相对应的空间大小为10G的用于存放用户A的数据的表空间1’,与用户B的表空间2相对应的空间大小为25G的用于存放用户B的数据的表空间2’,与用户C的表空间3相对应的空间大小为20G的用于存放用户C的数据的表空间3’。
可选地,在本实施例中第一数据库中每个用户的数据迁移到第二数据库相对应的表空间中的方法可以包括但不限于通过链接实现,例如,建立第一数据库302与第二数据库304之间的链接,通过链接实现将第一数据库302中的数据迁移到第二数据库304中相应迁移目录下的表空间中。可选地,在本实施例中的迁移目录中包括但不限于用户的数据在第二数据库304中的迁移位置。例如,用户A(例如,用户“WILKLE”)的数据的迁移路径为“/data/oradata/WILKLE”,即,将用户“WILKLE”的数据将迁移到第二数据库304的迁移目录“/data/oradata”下的表空间“WILKLE”中。
可选地,在本实施例中的表空间的位置可以包括但不限于:在同一迁移目录下,在不同迁移目录下。
例如,如表2所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据都存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)下的表空间1’中,即,用户“WILKLE”、用户“ADWIN”、用户“ARM02”的数据都存到第二数据库304中的迁移目录“/data1/oradata1”下的表空间1’中。
表2
又例如,如表3所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据分别存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)的表空间1’中、迁移目录2(例如,迁移目录2为“/data2/oradata2”)的表空间2’中、迁移目录3(例如,迁移目录3为“/data3/oradata3”)下的表空间3’中。
表3
迁移目录 | TABLESPACE(表空间) | USERNAME(用户名) |
/data1/oradata1 | 表空间1’ | 用户“WILKLE” |
/data2/oradata2 | 表空间2’ | 用户“ADWIN” |
/data3/oradata3 | 表空间3’ | 用户“ARM02” |
通过本申请提供的实施例,通过登录第一数据库的管理账户,以获取第一数据库中的多个用户的数据的权限,及多个用户中的每个用户的数据所占用的空间大小,然后将每个用户的数据迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中,从而避免了现有技术中在迁移多个用户数据时,获取多个用户的用户名及密码,多次进行数据的导入导出导致的迁移效率低的技术问题,实现了利用一条指令,一次迁移多个用户的数据,进而提高了数据迁移的效率。
作为一种可选的方案,如图4所示,步骤S206,将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中包括:
S402,在第二数据库中分别建立与每个用户对应的、大小为每个用户的数据所占用的空间大小的表空间;
可选地,在本实施例中第二数据库304中建立的表空间与第一数据库302中的每个用户相对应,大小为每个用户的数据所占用的空间大小。例如,结合图3所示,将第一数据库302中的用户的数据迁移到第二数据库304,则第二数据库304将建立相应的表空间,上述表空间与第一数据库302中的每个用户对应,即第二数据库304中的表空间1’对应第一数据库302中的用户A的数据所占用的表空间1,第二数据库304中的表空间2’对应第一数据库302中的用户B的数据所占用的表空间2,第二数据库304中的表空间3’对应第一数据库302中的用户C的数据所占用的表空间3,上述第二数据库304所建立的表空间的大小与第一数据库302中每个用户的数据所占用的空间大小相等,例如,用户A、用户B、用户C的数据所占用的空间大小分别为10G、25G、20G,则第二数据库304中所建立的表空间中表空间1’、表空间2’、表空间3’的空间大小也将分别是10G、25G、20G,以达到预先为待迁移的数据配置空间的目的。
S404,在第一数据库与第二数据库之间建立链接;
例如,如图3所示,建立第一数据库302与第二数据库304之间的链接,通过链接实现将第一数据库302中的数据迁移到第二数据库304中相应迁移目录下所建立的表空间中。
S406,通过链接直接将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的表空间中。
可选地,在本实施例中第二数据库与每个用户对应的表空间的位置可以包括但不限于:在同一迁移目录下,在不同迁移目录下。
例如,如表2所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据都存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)下的表空间1’中,即,用户“WILKLE”、用户“ADWIN”、用户“ARM02”的数据都存到第二数据库304中的迁移目录“/data1/oradata1”下的表空间1’中。又例如,如表3所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据分别存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)的表空间1’中、迁移目录2(例如,迁移目录2为“/data2/oradata2”)的表空间2’中、迁移目录3(例如,迁移目录3为“/data3/oradata3”)下的表空间3’中。
上述举例只是一种示例,本申请对于不同迁移目录下分别建立了多少表空间,几个用户的数据迁移到同一迁移目录下的表空间不做任何限定。
通过本申请提供的实施例,通过在第二数据库预先建立表空间,为第一数据库待迁移的数据预先配置了相应的空间,再通过链接直接将第一数据库中的数据迁移到相应的表空间中,实现了多用户数据的直接迁移,提高了多用户数据迁移的效率。
作为一种可选的方案,如图5所示,步骤S406,通过链接直接将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的表空间中包括:
S502,接收数据迁移指令;
可选地,在本实施例中数据迁移指令包括每个用户的名称和迁移目录。可选地,在本实施例中的迁移目录中包括但不限于用户的数据在第二数据库中的迁移位置。例如,接收到一条数据迁移指令,结合图7所示,其中包括需要迁移的每个用户的名称为,“WILKIE,ADWIN,ARM01,ARM02,MO,SNSWIN,ETL,APP,ARPS,DWINSIGHT,DWADDB,COGNOS”,即需要同时迁移12个用户的数据,而迁移目录为“/data/oradata”,则需要把上述已知用户名称的12个用户的数据根据迁移目录中的指示迁移到第二数据库304的“/data/oradata”下的表空间中。
S504,响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中。
例如,响应上述数据迁移指令,将已知用户名称的待迁移的12个用户的数据“WILKIE,ADWIN,ARM01,ARM02,MO,SNSWIN,ETL,APP,ARPS,DWINSIGHT,DWADDB,COGNOS”迁移到迁移目录所指示的位置下的表空间中,如图9所示为在第二数据库304中为待迁移的12个用户的数据所建立的表空间。
通过本申请提供的实施例,在接收迁移指令之后,将第一数据库中的用户的数据按照迁移指令的指示迁移到第二数据库的相应迁移目录下的表空间,利用迁移目录将第一数据库中的数据迁移到第二数据库预先配置的表空间中,实现了多用户的数据的直接快速迁移,提高了数据迁移的效率。
作为一种可选的方案,响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中包括以下两种可选的实施方式:
作为一种可选的方式,响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中相同的迁移目录下的表空间中;或者
例如,将第一数据库302中的用户的数据迁移到第二数据库304,如表2所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据都存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)下的表空间1’中,即,用户“WILKLE”、用户“ADWIN”、用户“ARM02”的数据都存到第二数据库304中迁移目录1“/data1/oradata1”下的表空间1’中。
作为另一种可选的方式,响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中不同的迁移目录下的表空间中。
又例如,将第一数据库302中的用户的数据迁移到第二数据库304,如表3所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据分别存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)的表空间1’中、迁移目录2(例如,迁移目录2为“/data2/oradata2”)的表空间2’中、迁移目录3(例如,迁移目录3为“/data3/oradata3”)下的表空间3’中。
通过本申请提供的实施例,不同的用户的数据可以迁移到同一迁移目录下,也可以分别迁移到不同目录下,实现了更加灵活地控制数据迁移的位置。
作为一种可选的方案,如图6所示,步骤S502,在接收数据迁移指令之前,还包括:
S602,接收迁移目录建立指令;
可选地,在本实施例中在接收数据迁移指令之前,接收迁移目录建立指令,其中,上述迁移目录建立指令用于指示第二数据库304建立相应的迁移目录。
S604,响应迁移目录建立指令在第二数据库中建立与表空间对应的迁移目录。
例如,接收到迁移目录建立指令后,第二数据库304响应迁移目录建立指令建立与第二数据库304中的表空间相应的迁移目录。例如,将第一数据库302中用户的数据分别迁移到3个迁移目录下的3个表空间中,根据第一数据库302的数据及数据所占用的空间大小,在第二数据库304中配置相应的空间大小的表空间,其中配置的空间位置为:迁移目录1下包括表空间1’、迁移目录2下包括表空间2’、迁移目录3下包括表空间3’,则根据上述表空间的分布建立对应的迁移目录,如表4所示。
表4
迁移目录 | TABLESPACE(表空间) |
/data1/oradata1 | 表空间1’ |
/data2/oradata2 | 表空间2’ |
/data3/oradata3 | 表空间3’ |
又例如,将第一数据库302中用户的数据迁移到一个迁移目录下的3个表空间中,配置的空间位置为:迁移目录1下包括表空间1’、表空间2’、表空间3’,则根据上述表空间的分布建立对应的迁移目录,如表5所示。
表5
上述举例只是一种示例,本申请对此不作限定。
作为一种可选的方案,一个迁移目录用于存储一个用户的数据,或者,一个迁移目录用于存储多个用户的数据,或者,一个迁移目录用于存储所有用户的数据。
例如,第二数据库304的迁移目录1下可以存储一个用户(例如第一数据库302中用户A)的数据;或者,仍为第二数据库304的迁移目录1下,还可以存储第一数据库302用户A、用户B的数据;又或者,同一迁移目录1下可以存储第一数据库302中所有用户,即用户A、用户B、用户C的数据。
通过本申请提供的实施例,通过建立迁移目录实现了对表空间的直接管理,其中,迁移目录下的用户的数据可以为一个、多个或所有,实现了灵活管理用户的数据的迁移位置,提高了数据库中表空间的利用率。
作为一种可选的方案,步骤S202,在根据接收到的登录指令登录第一数据库中的管理帐户之前,还包括:
S1,在第一数据库中建立管理帐户。
可选地,在本实施例中多个用户为第一数据库302中的部分用户或者所有用户。例如,第一数据库302中待迁移数据的用户可以为第一数据库302中的部分用户,例如,用户A、用户B;也可以为第一数据库302中的所有用户,例如,用户A、用户B、用户C。然后,基于上述部分或所有用户建立不同的管理账户,以获取不同数据范围的权限,进而实现用户的数据的迁移。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种数据迁移装置,如图10所示,在本实施例中该装置包括:
(1)登录单元1002,用于根据接收到的登录指令登录第一数据库中的管理帐户,其中,管理帐户具有获取第一数据库中的多个用户的数据的权限;
可选地,在本实施例中上述情景应用于将一个数据库中的多个用户数据迁移到另一个数据库,如图3所示,将第一数据库302中的用户A、用户B、用户C的数据迁移到第二数据库304中对应的表空间(TableSpace)中,也就是说,将用户A的表空间1中的数据迁移到第二数据库304中预先配置的用于存放用户A的数据的表空间1’中,将用户B的表空间2中的数据迁移到第二数据库304中预先配置的用于存放用户B的数据的表空间2’中,将用户C的表空间3中的数据迁移到第二数据库304中预先配置的用于存放用户C的数据的表空间3’中。上述举例只是一种示例,本申请对此不作限定。
可选地,在本实施例中的迁移可以包括但不限于以下至少之一:复制、剪切。例如,将第一数据库302中的数据复制到第二数据库304中,同时仍保留第一数据库302中的原数据;或者,将第一数据库302中的数据剪切到第二数据库304中,则第一数据库302中将不再保存原数据。上述举例只是一种示例,本申请对此不作限定。
可选地,在本实施例中登录第一数据库302中的管理用户之前,先接收登录到第一数据库302的登录指令,其中,上述登录指令可以包括但不限于:登录名、密码。也就是说,通过输入用户名和密码进而登录进入相对应的第一数据库302的管理账户。可选地,在本实施例中管理帐户具有获取第一数据库302中的多个用户的数据的权限,结合图3所示,登录第一数据库302的管理账户,则可获取第一数据库302中多个用户(例如,用户A、用户B、用户C)的数据,其中,如图7所示,可以采用以下至少之一在第一数据库302中标识上述用户:用户名称(USERNAME)、用户标识(USER_ID),或创建时间(CREATED)。例如,第一数据库302中待迁移数据的用户为“WILKIE,ADWIN,ARM01,ARM02,MO,SNSWIN,ETL,APP,ARPS,DWINSIGHT,DWADDB,COGNOS”,登录第一数据库302的管理账户后,则可拥有获取第一数据库302中上述数据的权限。
(2)获取单元1004,用于在管理帐户下获取多个用户中的每个用户的数据所占用的空间大小;
可选地,在本实施例中登录第一数据库302的管理账户之后,获取每个用户的数据所占用的空间大小。可选地,结合图8所示,还可以获取待迁移数据的用户所在的的默认表空间(DEFAULT_TABLESPACE)、暂存表空间(TEMPORARY_TABLESPACE),例如,如下表6所示,获取用户A(例如,用户“WILKLE”)的数据所在的默认表空间为“USERS”,暂存表空间为“TEMP”,所占空间的大小为10G,获取用户B(例如,用户“ADWIN”)的数据所在的默认空间为“DWADDB”,暂存表空间为“TEMP”,所占空间的大小为25G,获取用户C(例如,用户“ARM02”的数据所在的默认空间为“DWINSIGHT02”,暂存表空间为“ARM_TMP2”,所占空间的大小为20G。这样,用户A、B和C在第一数据库302中所占用的总的空间大小为55G。
表6
(3)迁移单元1006,用于将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中。
可选地,本实施例中在第二数据库304中建立了空间大小与第一数据库302的每个用户相对应的,大小为每个用户的数据所占用的空间大小的表空间。例如,结合图3所示,登录第一数据库302的管理账户后,获取用户A、用户B、用户C的数据及各个用户的数据所占用的空间大小分别为10G,25G,20G;在第二数据库304中建立与第一数据库302的每个用户相对应的,大小为每个用户的数据所占用的空间大小的表空间,也就是说,建立与用户A的表空间1相对应的空间大小为10G的用于存放用户A的数据的表空间1’,与用户B的表空间2相对应的空间大小为25G的用于存放用户B的数据的表空间2’,与用户C的表空间3相对应的空间大小为20G的用于存放用户C的数据的表空间3’。
可选地,在本实施例中第一数据库中每个用户的数据迁移到第二数据库相对应的表空间中的方法可以包括但不限于通过链接实现,例如,建立第一数据库302与第二数据库304之间的链接,通过链接实现将第一数据库302中的数据迁移到第二数据库304中相应迁移目录下的表空间中,可选地,在本实施例中的迁移目录中包括但不限于用户的数据在第二数据库304中的迁移位置。例如,用户A(例如,用户“WILKLE”)的数据的迁移路径为“/data/oradata/WILKLE”,即,将用户“WILKLE”的数据将迁移到第二数据库304的迁移目录“/data/oradata”下的表空间“WILKLE”中。
可选地,在本实施例中的表空间的位置可以包括但不限于:在同一迁移目录下,在不同迁移目录下。
例如,如表7所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据都存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)下的表空间1’中,即,用户“WILKLE”、用户“ADWIN”、用户“ARM02”的数据都存到第二数据库304中的迁移目录“/data1/oradata1”下的表空间1’中。
表7
又例如,如表8所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据分别存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)的表空间1’中、迁移目录2(例如,迁移目录2为“/data2/oradata2”)的表空间2’中、迁移目录3(例如,迁移目录3为“/data3/oradata3”)下的表空间3’中。
表8
迁移目录 | TABLESPACE(表空间) | USERNAME(用户名) |
/data1/oradata1 | 表空间1’ | 用户“WILKLE” |
/data2/oradata2 | 表空间2’ | 用户“ADWIN” |
/data3/oradata3 | 表空间3’ | 用户“ARM02” |
通过本申请提供的实施例,通过登录第一数据库的管理账户,以获取第一数据库中的多个用户的数据的权限,及多个用户中的每个用户的数据所占用的空间大小,然后将每个用户的数据迁移到第二数据库中与每个用户对应的大小为空间大小的表空间中,从而避免了现有技术中在迁移多个用户数据时,获取多个用户的用户名及密码,多次进行数据的导入导出导致的迁移效率低的技术问题,实现了利用一条指令,一次迁移多个用户的数据,进而提高了数据迁移的效率。
作为一种可选的方案,如图11所示,迁移单元1006包括:
(1)第一建立模块1102,用于在第二数据库中分别建立与每个用户对应的、大小为每个用户的数据所占用的空间大小的表空间;
可选地,在本实施例中第二数据库304中建立的表空间与第一数据库302中的每个用户相对应,大小为每个用户的数据所占用的空间大小。例如,结合图3所示,将第一数据库302中的用户的数据迁移到第二数据库304,则第二数据库304将建立相应的表空间,上述表空间与第一数据库302中的每个用户对应,即第二数据库304中的表空间1’对应第一数据库302中的用户A的数据所占用的表空间1,第二数据库304中的表空间2’对应第一数据库302中的用户B的数据所占用的表空间2,第二数据库304中的表空间3’对应第一数据库302中的用户C的数据所占用的表空间3,上述第二数据库304所建立的表空间的大小与第一数据库302中每个用户的数据所占用的空间大小相等,例如,用户A、用户B、用户C的数据所占用的空间大小分别为10G、25G、20G,则第二数据库304中所建立的表空间中表空间1’、表空间2’、表空间3’的空间大小也将分别是10G、25G、20G,以达到预先为待迁移的数据配置空间的目的。
(2)第二建立模块1104,用于在第一数据库与第二数据库之间建立链接;
例如,如图3所示,建立第一数据库302与第二数据库304之间的链接,通过链接实现将第一数据库302中的数据迁移到第二数据库304中相应迁移目录下所建立的表空间中。
(3)迁移模块1106,用于通过链接直接将每个用户的数据从第一数据库迁移到第二数据库中与每个用户对应的表空间中。
可选地,在本实施例中第二数据库与每个用户对应的表空间的位置可以包括但不限于:在同一迁移目录下,在不同迁移目录下。
例如,如表7所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据都存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)下的表空间1’中,即,用户“WILKLE”、用户“ADWIN”、用户“ARM02”的数据都存到第二数据库304中的迁移目录“/data1/oradata1”下的表空间1’中。又例如,如表8所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据分别存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)的表空间1’中、迁移目录2(例如,迁移目录2为“/data2/oradata2”)的表空间2’中、迁移目录3(例如,迁移目录3为“/data3/oradata3”)下的表空间3’中。
上述举例只是一种示例,本申请对于不同迁移目录下分别建立了多少表空间,几个用户的数据迁移到同一迁移目录下的表空间不做任何限定。
通过本申请提供的实施例,通过在第二数据库预先建立表空间,为第一数据库待迁移的数据预先配置了相应的空间,再通过链接直接将第一数据库中的数据迁移到相应的表空间中,实现了多用户数据的直接迁移,提高了多用户数据迁移的效率。
作为一种可选的方案,如图12所示,迁移模块1106包括:
(1)第一接收子模块1202,用于接收数据迁移指令,其中,数据迁移指令包括每个用户的名称和迁移目录;
可选地,在本实施例中数据迁移指令包括每个用户的名称和迁移目录。可选地,在本实施例中的迁移目录中包括但不限于用户的数据在第二数据库中的迁移位置。例如,接收到一条数据迁移指令,结合图7所示,其中包括需要迁移的每个用户的名称为,“WILKIE,ADWIN,ARM01,ARM02,MO,SNSWIN,ETL,APP,ARPS,DWINSIGHT,DWADDB,COGNOS”,即需要同时迁移12个用户的数据,而迁移目录为“/data/oradata”,则需要把上述已知用户名称的12个用户的数据根据迁移目录中的指示迁移到第二数据库304的“/data/oradata”下的表空间中。
(2)迁移子模块1204,用于响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中。
例如,响应上述数据迁移指令,将已知用户名称的待迁移的12个用户的数据“WILKIE,ADWIN,ARM01,ARM02,MO,SNSWIN,ETL,APP,ARPS,DWINSIGHT,DWADDB,COGNOS”迁移到迁移目录所指示的位置下的表空间中,如图9所示为在第二数据库304中为待迁移的12个用户的数据所建立的表空间。
通过本申请提供的实施例,在接收迁移指令之后,将第一数据库中的用户的数据按照迁移指令的指示迁移到第二数据库的相应迁移目录下的表空间,利用迁移目录将第一数据库中的数据迁移到第二数据库预先配置的表空间中,实现了多用户的数据的直接快速迁移,提高了数据迁移的效率。
作为一种可选的方案,迁移子模块1104用于通过以下之一来执行响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中的迁移目录下的表空间中的步骤:
(1)响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中相同的迁移目录下的表空间中;
例如,将第一数据库302中的用户的数据迁移到第二数据库304,如表7所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据都存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)下的表空间1’中,即,用户“WILKLE”、用户“ADWIN”、用户“ARM02”的数据都存到第二数据库304中迁移目录1“/data1/oradata1”下的表空间1’中。
(2)响应数据迁移指令直接将每个用户的数据从第一数据库迁移到第二数据库中不同的迁移目录下的表空间中。
又例如,将第一数据库302中的用户的数据迁移到第二数据库304,如表8所示,用户A(例如,用户“WILKLE”)、用户B(例如,用户“ADWIN”)、用户C(例如,用户“ARM02”)的数据分别存到迁移目录1(例如,迁移目录1为“/data1/oradata1”)的表空间1’中、迁移目录2(例如,迁移目录2为“/data2/oradata2”)的表空间2’中、迁移目录3(例如,迁移目录3为“/data3/oradata3”)下的表空间3’中。
通过本申请提供的实施例,不同的用户的数据可以迁移到同一迁移目录下,也可以分别迁移到不同目录下,实现了更加灵活地控制数据迁移的位置。
作为一种可选的模块,如图13所示,迁移模块1106还包括:
(1)第二接收子模块1302,用于在接收数据迁移指令之前,接收迁移目录建立指令;
可选地,在本实施例中在接收数据迁移指令之前,接收迁移目录建立指令,其中,上述迁移目录建立指令用于指示第二数据库304建立相应的迁移目录。
(2)建立子模块1304,用于响应迁移目录建立指令在第二数据库中建立与表空间对应的迁移目录。
例如,接收到迁移目录建立指令后,第二数据库304响应迁移目录建立指令建立与第二数据库304中的表空间相应的迁移目录。例如,将第一数据库302中用户的数据分别迁移到3个迁移目录下的3个表空间中,根据第一数据库302的数据及数据所占用的空间大小,在第二数据库304中配置相应的空间大小的表空间,其中配置的空间位置为:迁移目录1下包括表空间1’、迁移目录2下包括表空间2’、迁移目录3下包括表空间3’,则根据上述表空间的分布建立对应的迁移目录,如表9所示。
表9
迁移目录 | TABLESPACE(表空间) |
/data1/oradata1 | 表空间1’ |
/data2/oradata2 | 表空间2’ |
/data3/oradata3 | 表空间3’ |
又例如,将第一数据库302中用户的数据迁移到一个迁移目录下的3个表空间中,配置的空间位置为:迁移目录1下包括表空间1’、表空间2’、表空间3’,则根据上述表空间的分布建立对应的迁移目录,如表10所示。
表10
上述举例只是一种示例,本申请对此不作限定。
作为一种可选的方案,一个迁移目录用于存储一个用户的数据,或者,一个迁移目录用于存储多个用户的数据,或者,一个迁移目录用于存储所有用户的数据。
例如,第二数据库304的迁移目录1下可以存储一个用户(例如第一数据库302中用户A)的数据;或者,仍为第二数据库304的迁移目录1下,还可以存储第一数据库302用户A、用户B的数据;又或者,同一迁移目录1下可以存储第一数据库302中所有用户,即用户A、用户B、用户C的数据。
通过本申请提供的实施例,通过建立迁移目录实现了对表空间的直接管理,其中,迁移目录下的用户的数据可以为一个、多个或所有,实现了灵活管理用户的数据的迁移位置,提高了数据库中表空间的利用率。
作为一种可选的方案,在本实施例中的装置还包括:
(1)建立单元,用于在根据接收到的登录指令登录第一数据库中的管理帐户之前,在第一数据库中建立管理帐户,其中,多个用户为第一数据库中的部分用户或者所有用户。
可选地,在本实施例中多个用户为第一数据库302中的部分用户或者所有用户。例如,第一数据库302中待迁移数据的用户可以为第一数据库302中的部分用户,例如,用户A、用户B;也可以为第一数据库302中的所有用户,例如,用户A、用户B、用户C。然后,基于上述部分或所有用户建立不同的管理账户,以获取不同数据范围的权限,进而实现用户的数据的迁移。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种数据迁移方法,其特征在于,包括:
根据接收到的登录指令登录第一数据库中的管理账户,其中,所述管理账户具有获取所述第一数据库中的多个用户的数据的权限;
在所述管理账户下获取所述多个用户中的每个用户的数据所占用的空间大小与所述每个用户所在的默认表空间、暂存表空间;
将所述每个用户的数据从所述第一数据库迁移到第二数据库中与所述每个用户对应的大小为所述空间大小的表空间中;其中,所述将所述每个用户的数据从所述第一数据库迁移到第二数据库中与所述每个用户对应的大小为所述空间大小的表空间中包括:将所述每个用户的数据剪切到所述表空间中,或者将所述每个用户的数据复制到所述表空间中。
2.根据权利要求1所述的方法,其特征在于,所述将所述每个用户的数据从所述第一数据库迁移到第二数据库中与所述每个用户对应的大小为所述空间大小的表空间中包括:
在所述第二数据库中分别建立与所述每个用户对应的、大小为所述每个用户的数据所占用的空间大小的所述表空间;
在所述第一数据库与所述第二数据库之间建立链接;
通过所述链接直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中与所述每个用户对应的所述表空间中。
3.根据权利要求2所述的方法,其特征在于,所述通过所述链接直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中与所述每个用户对应的所述表空间中包括:
接收数据迁移指令,其中,所述数据迁移指令包括所述每个用户的名称和迁移目录;
响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中的所述迁移目录下的所述表空间中。
4.根据权利要求3所述的方法,其特征在于,所述响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中的所述迁移目录下的所述表空间中包括:
响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中相同的所述迁移目录下的所述表空间中;或者
响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中不同的所述迁移目录下的所述表空间中。
5.根据权利要求3所述的方法,其特征在于,在所述接收数据迁移指令之前,还包括:
接收迁移目录建立指令;
响应所述迁移目录建立指令在所述第二数据库中建立与所述表空间对应的迁移目录。
6.根据权利要求5所述的方法,其特征在于,一个所述迁移目录用于存储一个所述用户的数据,或者,一个所述迁移目录用于存储多个所述用户的数据,或者,一个所述迁移目录用于存储所有所述用户的数据。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在根据接收到的登录指令登录第一数据库中的管理帐户之前,还包括:
在所述第一数据库中建立所述管理帐户,其中,所述多个用户为所述第一数据库中的部分用户或者所有用户。
8.一种数据迁移装置,其特征在于,包括:
登录单元,用于根据接收到的登录指令登录第一数据库中的管理账户,其中,所述管理账户具有获取所述第一数据库中的多个用户的数据的权限;
获取单元,用于在所述管理账户下获取所述多个用户中的每个用户的数据所占用的空间大小与所述每个用户所在的默认表空间、暂存表空间;
迁移单元,用于将所述每个用户的数据从所述第一数据库迁移到第二数据库中与所述每个用户对应的大小为所述空间大小的表空间中;
其中,所述迁移单元还用于:将所述每个用户的数据剪切到所述表空间中,或者将所述每个用户的数据复制到所述表空间中。
9.根据权利要求8所述的装置,其特征在于,所述迁移单元包括:
第一建立模块,用于在所述第二数据库中分别建立与所述每个用户对应的、大小为所述每个用户的数据所占用的空间大小的所述表空间;
第二建立模块,用于在所述第一数据库与所述第二数据库之间建立链接;
迁移模块,用于通过所述链接直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中与所述每个用户对应的所述表空间中。
10.根据权利要求9所述的装置,其特征在于,所述迁移模块包括:
第一接收子模块,用于接收数据迁移指令,其中,所述数据迁移指令包括所述每个用户的名称和迁移目录;
迁移子模块,用于响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中的所述迁移目录下的所述表空间中。
11.根据权利要求10所述的装置,其特征在于,所述迁移子模块用于通过以下之一来执行响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中的所述迁移目录下的所述表空间中的步骤:
响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中相同的所述迁移目录下的所述表空间中;或者
响应所述数据迁移指令直接将所述每个用户的数据从所述第一数据库迁移到所述第二数据库中不同的所述迁移目录下的所述表空间中。
12.根据权利要求10所述的装置,其特征在于,所述迁移模块还包括:
第二接收子模块,用于在所述接收数据迁移指令之前,接收迁移目录建立指令;
建立子模块,用于响应所述迁移目录建立指令在所述第二数据库中建立与所述表空间对应的迁移目录。
13.根据权利要求12所述的装置,其特征在于,一个所述迁移目录用于存储一个所述用户的数据,或者,一个所述迁移目录用于存储多个所述用户的数据,或者,一个所述迁移目录用于存储所有所述用户的数据。
14.根据权利要求8至13中任一项所述的装置,其特征在于,还包括:建立单元,用于在根据接收到的登录指令登录第一数据库中的管理帐户之前,在所述第一数据库中建立所述管理帐户,其中,所述多个用户为所述第一数据库中的部分用户或者所有用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410056824.0A CN104850569B (zh) | 2014-02-19 | 2014-02-19 | 数据迁移方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410056824.0A CN104850569B (zh) | 2014-02-19 | 2014-02-19 | 数据迁移方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104850569A CN104850569A (zh) | 2015-08-19 |
CN104850569B true CN104850569B (zh) | 2019-12-06 |
Family
ID=53850215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410056824.0A Active CN104850569B (zh) | 2014-02-19 | 2014-02-19 | 数据迁移方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850569B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159970B (zh) * | 2015-08-25 | 2019-03-15 | 浪潮(北京)电子信息产业有限公司 | 一种数据库数据迁移系统及方法 |
CN107918668B (zh) * | 2017-11-28 | 2020-01-31 | 苏州浪潮智能科技有限公司 | 一种k-db数据库表空间元数据本地存储方法 |
CN113836082A (zh) * | 2020-06-23 | 2021-12-24 | 南京酷派软件技术有限公司 | 数据迁移方法、装置、存储介质及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605965A (zh) * | 2004-03-29 | 2005-04-13 | 梁振宇 | 网上财务用户管理系统 |
CN1763745A (zh) * | 2005-09-06 | 2006-04-26 | 阎海强 | 一种面向结构的数据迁移的方法及系统 |
CN1836232A (zh) * | 2003-08-14 | 2006-09-20 | 甲骨文国际公司 | 数据库的自动和动态提供 |
CN101650744A (zh) * | 2009-09-16 | 2010-02-17 | 中兴通讯股份有限公司 | 一种基于表空间迁移处理大数据量的系统及方法 |
-
2014
- 2014-02-19 CN CN201410056824.0A patent/CN104850569B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1836232A (zh) * | 2003-08-14 | 2006-09-20 | 甲骨文国际公司 | 数据库的自动和动态提供 |
CN1605965A (zh) * | 2004-03-29 | 2005-04-13 | 梁振宇 | 网上财务用户管理系统 |
CN1763745A (zh) * | 2005-09-06 | 2006-04-26 | 阎海强 | 一种面向结构的数据迁移的方法及系统 |
CN101650744A (zh) * | 2009-09-16 | 2010-02-17 | 中兴通讯股份有限公司 | 一种基于表空间迁移处理大数据量的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104850569A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019125B (zh) | 数据库管理的方法和装置 | |
EP3051440B1 (en) | Keyvalue database data table updating method and data table updating device | |
US10754954B2 (en) | Securely exchanging information during application startup | |
CN111935110B (zh) | 一种对租户访问容器实例的权限的控制方法和装置 | |
CN104158858A (zh) | 一种访问分布式集群文件系统方法及系统 | |
EP2715971B1 (en) | Automating cloud service reconnections | |
US9607170B2 (en) | Compromise free cloud data encryption and security | |
CN103064927A (zh) | 分布式文件系统的数据访问方法和装置 | |
EP3376403A1 (en) | Method of accessing distributed database and device providing distributed data service | |
CN103488791A (zh) | 数据访问方法、系统及数据仓库 | |
CN111177776A (zh) | 多租户数据隔离方法与系统 | |
CN104850569B (zh) | 数据迁移方法和装置 | |
CN105447151A (zh) | 访问分布式数据库的方法、数据源代理装置及应用服务器 | |
CN105095103A (zh) | 用于云环境下的存储设备管理方法和装置 | |
CN105490843A (zh) | 一种信息处理方法及系统 | |
CN105373746A (zh) | 一种分布式数据处理方法和装置 | |
US20200259814A1 (en) | Application login control method, server terminal, and computer-readable storage medium | |
CN105141418A (zh) | 认证鉴权方法及系统 | |
CN112988879A (zh) | 访问数据库的方法、系统、装置、存储介质及处理器 | |
EP3082050A1 (en) | Mass data fusion storage method and system | |
CN110377373A (zh) | 网页界面管理系统、方法及计算机可读存储介质 | |
CN109471894B (zh) | 一种新型分散式文件与对象统一存储的系统及方法 | |
CN113312669A (zh) | 密码同步方法、设备及存储介质 | |
CN104615507A (zh) | 备份数据的批量还原方法和装置 | |
CN105939214B (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 |