了解有关在数据库移植期间减少停机时间的信息
了解预期的关闭时间
将数据库从内部部署迁移到云时,有些选项会导致停机时间少于其他选项。
下表显示了高可用性迁移解决方案的预期停机时间。
Oracle 解决方案 | 预计停机时间 |
---|---|
Oracle GoldenGate |
零到秒 |
Oracle Data Guard |
少于 5 分钟 |
Oracle Recovery Manager |
小于 2 小时 |
从 Oracle Cloud 备份实例化 |
分钟到小时,具体取决于数据库大小 |
将数据库迁移到Oracle Database Cloud Service的注意事项
可以使用各种方法和工具将内部部署Oracle Database 迁移到Oracle Database Cloud Service。
并非所有迁移方法都适用于所有迁移方案。仅当源数据库的特定特性与目标数据库的匹配或相容时,许多移植方法才适用。附加因素会影响您从技术上适用于迁移方案的方法中为迁移选择的方法。
选择移植方法时要考虑的一些特征和数据库选项包括:
-
源数据库版本
-
Oracle Database Cloud Service 数据库版本
-
内部部署主机操作系统和版本
-
内部部署数据库字符集
-
数据量,包括索引
-
内部部署数据库中使用的数据类型
-
数据暂存存储
-
可接受的系统停机时间长度
-
网络带宽和连接
要确定哪些迁移方法适用于迁移方案,请收集以下信息。
-
源的数据库版本,内部部署数据库。
请注意,低于 11.2.0.4 的Oracle Database 11g 发行版 2 要求至少升级到 11.2.0.4. 版本
-
对于内部部署Oracle Database 12c 发行版 1 12.1.0.2 或更高版本的数据库,为数据库的体系结构:
- 容器数据库(CDB) 可支持一个(单租户)或多个(多租户)可插入数据库(pdb)。
-
非 CDB
- 内部部署源数据库主机平台和 endian 格式。
平台采用小尾数法或大尾数法,具体取决于它们使用的字节顺序。Oracle Database Cloud Service 使用 Linux x86–64 平台,此平台很少就是 endian。
查询
V$DATABASE
以标识源数据库的平台名称。查询
V$TRANSPORTABLE_PLATFORM
以查看支持跨平台表空间传输的所有平台,以及每个平台的 endian 格式。 -
内部部署数据库和Oracle Database Cloud Service 数据库的数据库字符集。
某些移植方法要求源数据库和目标数据库使用兼容的数据库字符集。默认情况下,数据库配置为使用 AL32UTF8 数据库字符集。
-
您要在Oracle Database Cloud Service中迁移到的目标数据库版本。
Oracle Cloud 上使用Oracle Database 12c 或更高版本的数据库使用 CDB 体系结构。使用 Enterprise Edition 选项创建的数据库是单租户,使用 Enterprise Edition - High Performance 或 Enterprise Edition - Extreme Performance 选项创建的数据库是多租户。
-
Oracle Database 11g 发行版 2
-
Oracle Database 12c 发行版 1
-
Oracle Database 12c 发行版 2
-
Oracle Database 18c
-
将 DBCS 数据库迁移到新云服务的注意事项
可以将 Oracle Database 从一个 Oracle Database Cloud Service 环境迁移到另一个。
有关可影响移植的因素(如数据库文件的大小、工作量级别和所使用的软件的版本), 请检查当前环境。
请考虑影响源数据库在移植前的优化方式的目标环境(如版本、补丁程序和存储)的要求。
为了帮助您确定哪些云服务适合迁移,请收集以下信息。
-
确定源数据库中数据库文件的大小,以确定要在目标数据库系统中分配的空间量。
通过运行以下查询,可以查找计划移植的数据库中数据库文件的总大小(包括重做日志的大小):
SELECT SUM(BYTES)/1024/1024 SIZE_IN_MB FROM DBA_SEGMENTS;
要查找重做日志的大小,请查询 V$LOG 动态视图。
SELECT GROUP#, BYTES FROM V$LOG;
-
确定工作量级别。
可以生成 Oracle 自动工作量资料档案库(AWR)报告以查找源数据库工作量示例。或者,也可以生成自动数据库诊断监视器(ADDM)报告以查找指定快照之间某个时段内的源数据库性能。时间模型统计信息、操作系统统统计信息和等待事件按操作系统容量提供了相对于清晰的工作量度量。
-
确定在源数据库中设置的环境变量。
您可能需要在目标数据库中使用这些相同的设置。
-
检查源数据库中的数据库字符集。
可以通过执行以下查询来查找数据库字符集:
SELECT NLS_CHARACTERSET, NLS_NCHAR_CHARACTERSET FROM NLS_DATABASE_PARAMETERS;
目标数据库还必须具有这些字符集。
-
确定当前现有的灾难恢复计划。
例如,如果已部署 Oracle Data Guard,则可以为移植过程创建备用数据库。如果使用脱机站点备份,则应使用 Oracle Recovery Manager (RMAN)制定新备份到 Oracle Cloud 的计划。
-
检查是否已使用源数据库配置 Oracle GoldenGate。
要查找有关 Oracle GoldenGate 的信息,请执行
ggsci
实用程序。如果不希望将 Oracle Data Guard 用于迁移,则可将 Oracle GoldenGate 用作备用迁移工具。
移植前简化和优化数据库
在迁移数据库之前,可以通过升级到目标平台版本、删除未使用的对象和执行其他优化来减少停机时间。
除了以下简化和优化策略之外,任何数据库平台迁移都应包括大量测试。
-
简化:通过不同版本发展的大多数数数据库环境以及不同的数据库管理员包含旧信息(而当前 DBA 可能会对某些对象、数据、策略或类似原因造成问题)。简化的目的是使管理更容易、更可靠。这样可简化到更高可用性的系统。
在移植之前,请考虑删除源数据库中不需要的方案对象。这可以减少移植的数据量。
-
优化:在许多情况下,迁移涉及更新的数据库版本,包括新功能。执行迁移时,应考虑采用新功能和最佳实践建议。
考虑升级源数据库以匹配目标数据库版本,因为这可能会改进移植(在某些情况下十分显著)。例如,数据泵的并行功能是使用每个新的 Oracle Database 发行版增强的,因此,如果源数据库升级到与目标数据库版本匹配,则可以改进源系统中的数据库导出并更快地完成。
请考虑您是否可以在阶段中执行迁移。例如,如果源数据库包含大量只读数据,则它可能会在实时数据移植之前移植,以减少停机时间。