怎样迁移一个已存在的 12c 之前版本的数据库(非 CDB)到 12c CDB 的数据库 (文档 ID 2047052.1)
文档内容
|
|
目标 |
|
|
解决方案 |
| a). 为需要整合的数据库提供空的 PDB |
| b). 使用数据泵或者 golden gate 复制迁移数据库到 PDB |
| a) 升级一个 12.1 之前的数据库到 12.1 的版本(非 CDB) |
| b) 插入升级后的数据库到 CDB |
|
|
参考 |
适用于:
Oracle Database - Enterprise Edition - 版本 12.1.0.1 和更高版本本文档所含信息适用于所有平台
目标
这篇文档帮助迁移非 CDB(12c 或者 12c 之前的版本)到 12c CDB。
解决方案
迁移到 12c 可插拔数据库是非常简单容易的。您可以评估和选择最适合您的一种方法。
计划 A.
a). 为需要整合的数据库提供空的 PDB b). 使用数据泵或者 golden gate 复制迁移数据库到 PDB计划 B.
a) 升级一个 12.1 之前的数据库到 12.1 的版本(非 CDB)您可以使用 dbua 或者手动的方法升级一个 12.1 之前的数据库版本到 12.1 非 CDB 的数据库
Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) Note 1503653.1
Complete Checklist to Upgrade the Database to 12c Release 1 using DBUA Note 1516557.1
* 这篇文档详述了怎样插入一个升级的/创建的非 12c 的数据库到 CDB 中
设置 ORACLE_SID 变量到非 CDB 数据库
连接到非 cdb 实例
sqlplus / as sysdba
假如实例启动,首先关闭实例
启动数据库在 mount exclusive 模式
打开数据库到 read-only 模式
* 为非 CDB 的数据库产生一个插拔数据库的 Manifest File
执行 dbms_pdb.describe 存储过程产生 manifest file
关闭非 cdb 的实例,为下面的部分准备拷贝数据文件
连接到 CDB,假如它是关闭的状态,启动它。
使用非 cdb 的数据库的 manifest file 创建一个新的可插拔数据库(exnoncdb),参数 file_name_convert 允许您放被拷贝的数据文件在一个不同的路径上。
as clone
using '/opt/oracle/oradata/noncdb/noncdb.xml'
file_name_convert=('/opt/oracle/oradata/noncdb','/stage/oradata/exnoncdb')
copy;
* 转化到可插拔数据的数据字典
现在数据库可以作为可插拔数据库(PDB)打开了,状态是 NEW。然而,它仍然有许多冗余的结构(特别是在 SYS 和 SYSTEM 里)需要通过最后的步骤清理:
连接到新的可插拔数据库 exnoncdb。
运行 $ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql 。这个脚本需要花比较长的时间运行(超过20分钟)。
更详细的信息可以参照这里的文档。
通过打开这新的可插拔的数据库,关闭它,再打开完成插入操作。
请注意在这个案例中,这些文件是拷贝的,这样还残留有原始数据文件的拷贝。
你应该选择转换已存在文件而不是一个拷贝,推荐做一个完全的数据库备份,因为这样您将可以重建这些文件。
alter pluggable database exnoncdb open;
alter pluggable database exnoncdb close;
alter pluggable database exnoncdb open;
参考
NOTE:1503653.1 - Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1)NOTE:1516557.1 - Complete Checklist for Upgrading to Oracle Database 12c Release 1 using DBUA