本文介绍如何通过使用新的 Oracle 数据库 12c 的完整可传输导出/导入(Full Transportable Export/Import)功能来使用较少的停机时间,将数据库升级/迁移到 Oracle 数据库 12c 中。
传统的方法,如导出/导入,数据泵导出/导入和传输表空间,仍然可以用来升级/迁移数据库到 Oracle Database12c
中。但是,Oracle 数据库 12c 现在提供了另一种方法通过使用新功能,即,所谓的完整可传输导出/导入使得迁移/升级更容易,更快,且更高效。
让我们来看看各种方法的简要比较:
通过使用数据库升级助手(DBUA)进行升级 |
|
常规导出/导入 |
|
数据泵导出/导入(于 Oracle 数据库 10g 版本引入) |
|
可传输表空间 |
|
完整可传输导出/导入 |
|
先决条件
在开始完整可传输导出/导入程序之前,请注意以下先决条件:
- 新的目标库必须是 Oracle 数据库 12c 的数据库(可以是 non-CDB(容器数据库)或 PDB(可插拔数据库))
- 为将要执行迁移的用户授权 DATAPUMP_IMP_FULL_DATABASE 角色
- 执行升级/迁移之前,设置表空间为只读
- 源数据库必须是 11.2.0.3 或更高版本。
步骤
下面是使用完全可传输导出/导入方法时的步骤:
-
创建新的目标Oracle数据库12c的数据库
新创建的数据库中包含了一套管理的表空间,Oracle 提供的组件和包。正如之前提到的,它可以是一个非容器数据库或一个可插拔数据库。 -
检查源和目标平台的 Endian 格式
SELECT d.PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d WHERE tp.PLATFORM_ID = d.PLATFORM_ID;
如果 Endian 格式相同,数据文件可以直接拷贝到目标平台。否则,需要使用 RMAN 来为数据文件进行转换。 -
检验被迁移的表空间是自包含的
验证是必需的。可以用来确认准备被迁移的和不被迁移的表空间,在表空间内的对象存储之间,没有逻辑或者物理上的依存关系。
SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK(‘‘, TRUE);
其结果可以通过检查
SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
如果查询返回有值,则需要在进行整个迁移操作之前解决掉依存关系。依存对象需要移动到准备迁移的表空间里。缺少该步骤,迁移对象将存在问题。 -
创建目录对象
在源服务器和目标服务器上创建目录对象来存储 dump 文件。
SQL> CREATE DIRECTORY dp_dir AS ‘‘; -
将准备迁移的用户表空间置为只读模式
SQL> ALTER TABLESPACEREAD ONLY; - 在源数据库上调用完整可传输导出。它将导出元数据和存储在管理表空间中的用户对象。
在目标端数据泵导入(impdp)过程中如果使用 database link,则可以忽略该步骤。完整可传输导入在目标数据库端可以通过 database link 获取源数据库的元数据。
expdp system/full=y transportable=always version=12
directory=dumpfile=
metrics=y exclude=statistics
logfile=
为了确保兼容性,如果源数据库是11.2.0.3或11.2.0.4版本,Version 参数是必需的。- 复制数据库的数据文件到目标端
物理上复制准备迁移的表空间所属数据文件到目标端- 复制导出 dump 文件到目标端。
复制导出 dump 文件到目标端的目录- 如果源和目标数据库的 Endian 格式不同,需要对复制的数据文件调用执行 RMAN convert 命令
CONVERT DATAFILE ‘‘ FROM PLATFORM " - 在 Oracle 数据库 12c 目标数据库端,调用完整可传输导入
impdp system/@ directory=
dumpfile=logfile=
metrics=y
transport_datafiles=‘
Database link 参数可以用来搜集源数据库的元数据。- 在目标和源数据库上将表空间转换为读写模式
SQL> alter tablespaceread write; Oracle 12c 使用(Full Transportable Export/Import)进行升级/迁移
原文:https://www.cnblogs.com/yaoyangding/p/12791930.html
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机咦!没有更多了?去看看其它编程学习网 内容吧 - 在源数据库上调用完整可传输导出。它将导出元数据和存储在管理表空间中的用户对象。