数据库管理平台DMP

深信服数据库管理平台(DMP)提供MySQL、Oracle的RDS功能,支持全生命周期管理、自动MySQL主从切换、故障自愈、事务一致性备份、监控告警等,能够实现业务快速上线、资源快速分发、数据安全保护,提供SLA保障,使数据库运维复杂度大幅下降,帮助客户减少被动性救火工作,专注业务创新。
点击可切换产品版本
知道了
不再提醒
DMP 2.3.2
{{sendMatomoQuery("数据库管理平台DMP","Oracle DTS")}}

Oracle DTS

更新时间:2024-01-09

功能说明

DMP 2.0.2及以上版本的DTS支持Oracle数据库迁移,底层调用Oracle的数据泵或RMAN工具,完成数据的迁移,包括迁移对象结构、数据,支持全量/增量迁移,在业务割接过程中会有分钟级的业务中断。

前提条件

  1. DMP能访问到源端和目标端数据库。
  1. 目标端和源端数据库服务器网络连通,如果有防火墙,则需要放通数据库端口(如1521) 、SSH端口。

注意事项

  1. DBLINK方式不支持迁移全库,如果要迁移全库需要使用转储文件方式。
  2. 迁移必须使用具有DBA角色的用户,否则无法迁移。
  3. 迁移配置好后,必须连通性探测通过才能下一步。
  4. 如果源库或目标库是Oracle RAC数据库,需要连接到其中一个节点,应填写节点的VIPPublic IP,不应填写SCAN IPSingle Client Access Name)。
  5. 增量迁移源库要开启归档,ssh服务器开启,安装nfs客户端工具、root用户密码。

操作步骤

详情可以参考《数据库迁移场景》章节。

  1. 进入[数据库/数据库工具/数据库迁移(DTS]页面,点击<新建迁移任务>按钮,选择Oracle迁移,根据场景选择迁移类型。

   全量迁移:适用于可以接受较长停机时间的业务迁移、备份、测试场景

   全量+增量:适用于连续性要求较高、期望更短停机时间的业务迁移、备份等场景

   结构迁移:迁移源库的所有数据库表结构,不包含数据;适用于部署新业务的场景

  1. 全量迁移、结构迁移方式

1)填写迁移的源、目标数据库信息,通常使用system用户进行连接。填写后需要进行连通性探测,确定是否能够访问到数据库。

2)选择需要迁移的对象。可以选择全部对象,会覆盖目标库信息;也可以选择用户,最多同时选择50个用户,需要迁移的用户事先和用户确认。

进行全部对象迁移时,只能选择转储文件。此时目标端路径必须配置, 源端文件路径可选,如果不配置,则迁移不支持自定义类型、不支持LONG格式数据、并发数设置为1。配置源端路径时确保源库剩余可用空间不低于源库数据文件大小。

进行用户迁移时,先选择要迁移的用户。可以选择转储文件和db-link方式迁移。 转储文件的要求和全部对象迁移时一致。dblink迁移时直接通过网络迁移源端对象到目标端,如果源端存在LONG格式数据,则不能选择此方式。

常规的迁移中通常会以业务用户的维度进行迁移工作,即迁移类型选择“全量迁移”,迁移对象选择“用户(Schema”,迁移方式选择“转储文件”。

并发数默认用2, 可以选择更高并发,会影响源库性能。

迁移后数据校验可选, 会增加迁移完成的时间,具体时间根据数据量大小而不同。

DTS-VM配置网络配置根据实际环境填写。

全量+增量迁移方式

1)填写迁移的源库IPssh端口,root口令, 选择目标端数据库。

2)选择要迁移的实例,设置自动增量间隔、源库备份并发数。备份源数据库时支持压缩和加密。

DTS-VM配置网络配置根据实际环境填写。

填写完成之后,点击<确定>提交迁移任务。

选项说明如下:

迁移类型:“全量数据迁移”会一次性将所选对象结构以及数据同时传输到目标端。“结构迁移”只将所选的对象结构在目标端创建,不会传递数据。“增量迁移”会先做一次全库数据同步,在割接之前定时做增量数据同步。

迁移对象:“全部对象”是将源端数据库的所有对象都传输到目标端。“用户(Schema)”选项会列出源端所有用户,作为可选的传输对象。

迁移方式:“转储文件”会在源端所选的目录下生成所选对象的导出的转储文件,再通过数据库的传输工具将文件传输到目标端,在目标端执行导入。“DBLINK”是在目标端创建一个指向源端的数据库连接,并通过此数据库连接将所选对象直接导入到目标端,此方式减少了转储文件的创建的过程,能节省大量的迁移时间,若数据库中存在“LONG”类型的对象,则不支持使用此方式迁移。

并发数:加大并发可提升迁移速度,但可能对源端性能有影响。

迁移服务(DTS-VM)配置:用于执行迁移任务的工具,包括数据导出与导入、日志抽取与重放等;不会占用迁移配额,将占用少量计算和存储资源,迁移完成后将自动删除该云主机并释放对应的资源。

  1. 点击<确定>按钮确认配置信息,自动创建DTSVM和进行预检查。

表20预检查项说明

检查项

说明

数据库连通性检测

检测是否可以连通源数据库和目标数据库,校验IPPort、用户、密码以及用户是否具有DBA权限。

目标库连通性不通过解决方案:按照连通性错误提示,检查用户密码和端口是否正常;检查目标库RDS是否异常。

ssh: connect to host 10.116.51.121 port 22345: No route to host,表示ip填写错误
connect to host 10.116.57.124 port 2234: Connection refused,表示端口填写错误,或者源库未安装SSH,或者源库未启动SSH服务
Permission denied, please try again,表示用户名或密码错误

源库连通性不通过解决方案:按照连通性错误提示,检查用户密码和端口是否正常;检查源库网络是否与当前DTS-VM连通。

迁移用户不具有DBA权限:重新创建拥有DBA权限的迁移用户;或者为当前用户赋予DBA权限,GRANT DBA TO DTS_USER

用户权限检测

源库和目标库建议创建迁移用户DTS_USER,作为源库和目标库的迁移用户。

权限要求:

GRANT DBA, CREATE ANY DIRECTORY, IMPORT FULL DATABASE, EXPORT FULL DATABASEREAD ANY FILE GROUPWRITE ANY FILE GROUP TO DTS_USER;GRANT execute ON dbms_flashback TO DTS_USER

迁移数据量检测

显示迁移数据大小以及迁移预估时间。

迁移数据量大小介于0-2TB之间,最佳迁移数据量为500GB以内。

迁移预估时间:作为参考使用,迁移具体时间受限于网络、源库负载、目标库性能以及磁盘空间影响。

数据库字符集检测

禁止不同字符集数据库之间进行迁移。如果字符集不一致,建议重新选择字符集和源库一致的目标库进行迁移。

特殊数据类型检测

DBLINK迁移不支持Long类型、用户自建类型。

迁移对象检测

迁移全库数据时,默认会跳过重名冲突的对象。

数据库归档检测

如果源库开启归档模式,请确保有充足的归档空间;如果目标库库开启归档模式,请确保有充足的归档空间,查看方式可以通过监控平台查看

数据库读写权限检测

检验数据库是否具有读写权限。要求当前数据库是可读可写的库, 即READ WRITE,不支持从只读数据库进行迁移,也不支持迁移到只读数据库。

数据库架构检测

支持多种架构,如单机、RAC、主从、多实例等;支持windowsLinux 系统数据库迁移。

数据库版本检测

Oracle Database 11g release 2 (11.2.0.211.2.0.311.2.0.4)。不支持低于Oracle 11g版本的数据库迁移入云;不支持从高版本到低版本进行数据迁移

数据库存储方式检测

支持目标库裸机存储、ASM存储。

Profile文件校验检测

如果迁移是全库迁移,将会检测源库所有的用户Profile,并提示用户需要在目标库创建缺少的Profile

如果迁移是用户迁移,将会检测待迁移用户的Profile,并提示用户需要在目标库创建缺少的Profile

ROLE权限检测

检查源库是否存在特殊ROLE,如自定义ROLE

如果是SCHEMA迁移方式,会校验SCHEMA所具有的ROLE,目标库是否存在;如果存在自定义ROLE, 需要用户手动在目标创建对应的ROLE

DBLINK连通性检测

检查目标库是否可以创建连接源库的DBLINK。检测时会创建目标库到源库的DBNLINK,并判断目标库是否可以远程连接源库;如果源数据库和目标数据库之间无法通过DBLINK连接,需要检测源库和目标库是否处于同一网段。

表空间检测

检查目标库是否存在源库依赖的表空间,如果不存在,则自动创建,并创建对应数量的的datafile。先判断目标库是否存在迁移数据依赖的表空间是否存在,如果不存在,则自动创建,目录地址为当前数据库默认表空间地址。如果是DTS在目标库自动创建依赖的表空间,则给出表空间创建提示。

临时表空间检测

检查目标库是否存在源库依赖的临时表空间,如果不存在,则自动创建。先判断目标库是否存在迁移数据依赖的表空间是否存在,如果不存在,则自动创建,目录地址为当前数据库默认表空间地址。如果是DTS在目标库自动创建依赖的表空间,则给出表空间创建提示。

迁移文件路径检测

迁移文件路径是迁移文件所要存放的路径地址。路径空间检测,会展示出路径名称以及路径对应的实际系统路径,需要用户保证路径地址所在磁盘满足迁移数据的最低要求;路径实际地址存在性检查,检查迁移文件是否存在、是否合法、是否可以存放备份文件,用户确保路径名称对应的路径在系统中真实存在、可以读写。源数据所在Windows系统下的迁移会给出以下告警语,可以忽略,所在Linux 系统下不可以忽略。应时刻关注迁移文件路径所在磁盘的剩余空间大小,以免空间占满,对数据库的业务产生影响。

  1. 在提交迁移任务后,DMP会自动创建DTSVM迁移环境。进入[数据库/数据库工具/数据库迁移(DTS]界面,点击迁移任务名,进入任务详情页面。
  2. 如果存在未通过的检查项,根据提示对告警项进行修复后,点击重新检查,直到检查项完全通过。 告警项,在评估结果可以接受的情况下,可以继续迁移。确认检查项通过后,点击<开始迁移>按钮。输入当前登录DMP的用户密码,确认开始迁移。
  3. 此步骤仅限Oracle全量迁移。迁移任务开始后,源库后续新增的数据不会迁移到目标端, DMP根据迁移任务的设置导出和导入数据,完成数据库的全量迁移。
  4. 此步骤仅限oracle增量迁移。 迁移任务开始后, DMP先做数据库的全量迁移,然后创建2小时一次的增量迁移任务,自动进行增量迁移,直到数据库割接。在增量迁移期间,可以点击<手动增量迁移>按钮进行手动增量。
  5. 此步骤仅限oracle增量迁移,点击<开始割接切换>进行数据库割接。割接之前要停止业务应用, 可以选择关闭源库,确保割接期间不产生增量数据。输入当前登录DMP的用户密码,确认割接。
  6. 在任务中心或DTS任务详情界面观察迁移任务的进度,当任务完成后进度状态为“迁移完成”。