实验目标:

  • 将RAC环境的PDB插拔后迁移到非RAC环境

实验环境:

  • 数据库:Oracle 12c R1
  • 操作系统:Oracle Linux 7.3

实验步骤:

1、源端环境准备

为本次实验克隆一个PDB

克隆步骤可参考https://blog.csdn.net/ogdkevin/article/details/83107092

2、源端拔出PDB[问题1]

在CDB中操作,关闭PDB后,拔出PDB生成XML文件

SQL>  alter pluggable database pdb2 close immediate;Pluggable database altered.SQL> alter pluggable database pdb2 unplug into '/home/oracle/pdb2.xml'; Pluggable database altered.SQL> drop pluggable database pdb2 keep datafiles;Pluggable database dropped.

3、目标端创建PDB的datafile目录

#oracle用户运行
[oracle@oracle12c ~]$ mkdir /u01/app/oracle/oradata/pdb2

4、传输源端datafile和xml文件到目标端

源端datafile位置可以查看unplug生成的xml文件

5、验证待插入PDB的兼容性

SQL> SET SERVEROUTPUT ON
SQL> DECLARE2    v_result BOOLEAN;3  BEGIN4    v_result := DBMS_PDB.check_plug_compatibility(5                  pdb_descr_file => '/home/oracle/pdb2.xml',6                  pdb_name       => 'PDB2');7   8    IF v_result THEN9      DBMS_OUTPUT.PUT_LINE('compatible');10    ELSE11      DBMS_OUTPUT.PUT_LINE('incompatible');12    END IF;13  END;14  /
compatiblePL/SQL procedure successfully completed.

6、插入PDB[问题2]

--PDB名称可以和原来的不同
--如果datafile都在同一个目录,只需要指定目录
SQL> create pluggable database pdb2 as clone  using '/home/oracle/pdb2.xml'    2   source_file_directory = '/u01/app/oracle/oradata/pdb2'3  file_name_convert=NONE  NOCOPY tempfile reuse;Pluggable database created.SQL> show pdbsCON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 PDB1                           READ WRITE NO4 PDB2                           MOUNTED

7、打开PDB并检查插入的PDB是否有问题,查看PDB_PLUG_IN_VIOLATIONS表[问题3]

--查看DB的trace log也能看到相关提示***************************************************************
WARNING: Pluggable Database PDB2 with pdb id - 4 isaltered with errors or warnings. Please look intoPDB_PLUG_IN_VIOLATIONS view for more details.
***************************************************************
SQL> set lin 200
SQL> col name for a10
SQL> col cause for a20
SQL> col message for a100
SQL> select name,cause,type,message,status from pdb_plug_in_violations order by name; NAME       CAUSE                TYPE      MESSAGE                                                                                              STATUS
---------- -------------------- --------- ---------------------------------------------------------------------------------------------------- ---------
PDB2       OPTION               WARNING   Database option RAC mismatch: PDB installed version 12.1.0.2.0. CDB installed version NULL.          PENDING
PDB2       Parameter            WARNING   CDB parameter sga_max_size mismatch: Previous 2G Current 1584M                                       RESOLVED
PDB2       Parameter            WARNING   CDB parameter memory_target mismatch: Previous 2G Current 1584M                                      RESOLVED
PDB2       Parameter            WARNING   CDB parameter memory_max_target mismatch: Previous 2G Current 1584M                                  RESOLVED
PDB2       Parameter            WARNING   CDB parameter cluster_database mismatch: Previous TRUE Current FALSE                                 RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 19769480 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 20299023 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 20831110 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 21359755 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 21948354 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 22291127 is missing in the CDB.                                       RESOLVEDNAME       CAUSE                TYPE      MESSAGE                                                                                              STATUS
---------- -------------------- --------- ---------------------------------------------------------------------------------------------------- ---------
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 23054246 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 24006101 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 24732082 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 25171037 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 25755742 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 26609783 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 26713565 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 26925311 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 27338020 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 27338041 is missing in the CDB.                                       RESOLVED21 rows selected.

STATUS状态RESOLVED的不用处理,只要看状态为PENDING,这里只有一条为OPTIN的问题。

因为是从RAC环境插拔过来的,目标环境不是RAC,注意只需要把这个RAC选项关掉。

8、切换到PDB2,关掉RAC选项

SQL> alter session set container=pdb2;Session altered.SQL> exec dbms_registry.OPTION_OFF('RAC'); PL/SQL procedure successfully completed.

9、重新关闭和启动,再检查是否还有问题

SQL> alter pluggable database pdb2 close immediate;Pluggable database altered.SQL> alter pluggable database pdb2 open;Pluggable database altered.SQL> select name,cause,type,message,status from pdb_plug_in_violations order by name; NAME       CAUSE                TYPE      MESSAGE                                                                                              STATUS
---------- -------------------- --------- ---------------------------------------------------------------------------------------------------- ---------
PDB2       OPTION               WARNING   Database option RAC mismatch: PDB installed version 12.1.0.2.0. CDB installed version NULL.          RESOLVED
PDB2       Parameter            WARNING   CDB parameter sga_max_size mismatch: Previous 2G Current 1584M                                       RESOLVED
PDB2       Parameter            WARNING   CDB parameter memory_target mismatch: Previous 2G Current 1584M                                      RESOLVED
PDB2       Parameter            WARNING   CDB parameter memory_max_target mismatch: Previous 2G Current 1584M                                  RESOLVED
PDB2       Parameter            WARNING   CDB parameter cluster_database mismatch: Previous TRUE Current FALSE                                 RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 19769480 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 20299023 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 20831110 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 21359755 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 21948354 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 22291127 is missing in the CDB.                                       RESOLVEDNAME       CAUSE                TYPE      MESSAGE                                                                                              STATUS
---------- -------------------- --------- ---------------------------------------------------------------------------------------------------- ---------
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 23054246 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 24006101 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 24732082 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 25171037 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 25755742 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 26609783 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 26713565 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 26925311 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 27338020 is missing in the CDB.                                       RESOLVED
PDB2       Oracle Opatch        WARNING   Oracle opatch mismatch: opatch 27338041 is missing in the CDB.                                       RESOLVED21 rows selected.

全部的状态都是RESOLVED,检查trace log也没用了相关警告!

至此,PDB迁移完成!


可能存在问题及解决办法:

问题1、unplug出错:

SQL> alter pluggable database pdb2 unplug into '/home/oracle/pdb2.xml';
alter pluggable database pdb2 unplug into '/home/oracle/pdb2.xml'
*
ERROR at line 1:
ORA-65025: Pluggable database PDB2 is not closed on all instances.

解决办法:需要先关闭PDB才可以unplug。

问题2、如果datafile不在同一目录,或者要对datafile重新命名的,使用source_file_name_convert指定每一个datafile

create pluggable database pdb2 as clone  using '/home/oracle/pdb2.xml'    source_file_name_convert = ('+DG_DATA/RACDB/783C262E9F5EC362E0531F05160A3313/DATAFILE/system.278.989576727',
'/u01/app/oracle/oradata/pdb1/system.278.989576727','+DG_DATA/RACDB/783C262E9F5EC362E0531F05160A3313/DATAFILE/sysaux.271.989576727',
'/u01/app/oracle/oradata/pdb1/sysaux.271.989576727',
'+DG_DATA/RACDB/783C262E9F5EC362E0531F05160A3313/DATAFILE/users.276.989576727',
'/u01/app/oracle/oradata/pdb1/users.276.989576727',
'+DG_DATA/RACDB/783C262E9F5EC362E0531F05160A3313/TEMPFILE/temp.279.989576733',
'/u01/app/oracle/oradata/pdb1/temp.276.989576727')
file_name_convert=NONE  NOCOPY tempfile reuse;

问题3、如果不想出现补丁或者参数这些warning出现,可以修改xml文件才进行插入操作。

解决办法:

  • 修改参数值和目标设置的参数值一样,如下
<parameters><parameter>processes=300</parameter><parameter>sga_max_size=2147483648</parameter><parameter>memory_target=2147483648</parameter><parameter>memory_max_target=2147483648</parameter><parameter>db_block_size=8192</parameter><parameter>compatible='12.1.0.2.0'</parameter><parameter>cluster_database=TRUE</parameter><parameter>open_cursors=300</parameter><parameter>enable_pluggable_database=TRUE</parameter></parameters>
  • 删除目标端不存在的补丁集,如下:
 <opatches><opatch>19769480</opatch><opatch>20299023</opatch><opatch>20831110</opatch><opatch>21359755</opatch><opatch>21948354</opatch><opatch>22291127</opatch><opatch>23054246</opatch><opatch>24006101</opatch><opatch>24732082</opatch><opatch>25171037</opatch><opatch>25755742</opatch><opatch>26609783</opatch><opatch>26713565</opatch><opatch>26925311</opatch><opatch>27338020</opatch><opatch>27338041</opatch></opatches>

参考:

  • Database Option In The PDB Or The CDB Database Option RAC Mismatch (文档 ID 2415014.1)

Oracle 12c R1 Plug/Unplug 迁移PDB实验(1): 插拔 RAC PDB到 Non-RAC PDB相关推荐

  1. oracle+12c+大表,ORACLE 12C新特性-在线迁移表或分区 | 信春哥,系统稳,闭眼上线不回滚!...

    今天测试一下ORACLE 12C的一个新功能-在线移动表或分区,这其实在10g版本就已经支持了,难道是官方文档写错了,先不按照文档描述的去测试,看看是否堆表也可以在线迁移.以下是实验过程: 下面先看下 ...

  2. oracle12c没有单库口令,ORA-01017:无效的用户名/密码;登录被Oracle 12c“数据库配置助手”工具引发被拒绝...

    在使用Oracle 12c尝试在容器数据库中创建可插拔数据库时遇到"无效用户名/密码"错误. "数据库配置助手"尝试加载容器数据库ORCL的信息时发生此错误.请 ...

  3. Oracle 12c之Oracle 12c与云计算

    1.大数据 1.1 .大数据的特性 关于大数据业界没有统一和确切的概念,但人们普遍认为大数据具有如下几个特性: a.数据量大:数据量级达到TB.PB甚至EB数据量: b.数据多样性:数据源千差万别,是 ...

  4. 【转载】Oracle ACE总监对Oracle 12c的一些新特性总结

    2019独角兽企业重金招聘Python工程师标准>>> 本文是Oracle ACE总监Syed Jaffer Hussain对Oracle数据库12c的一些新特性总结,包括数据库管理 ...

  5. Oracle 12c 新参数 PGA_AGGREGATE_LIMIT 限制 PGA 内存总大小

    Oracle 12c 新参数 PGA_AGGREGATE_LIMIT 限制 PGA 内存总大小 在自动 PGA 内存管理模式下, Oracle DB 尝试通过动态控制分配给工作区的 PGA 内存量遵从 ...

  6. oracle 12c undo,Oracle 12c 新特性之临时Undo--temp_undo_enabled

    Oracle 12c 新特性之临时Undo--temp_undo_enabled 每个 Oracle 数据库包含一组与系统相关的表空间,例如 SYSTEM , SYSAUX , UNDO&TE ...

  7. Oracle 12c 新特性

    Oracle数据库12c的一些新特性总结,包括数据库管理.RMAN.高可用性以及性能调优等内容. 主要内容: 在线迁移活跃的数据文件 表分区或子分区的在线迁移 不可见字段 相同字段上的多重索引 DDL ...

  8. Oracle 12c新特性对于业务上的一些影响总结

    1.不可见字段 在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c R1中引入了不可见字段思想.在之前的版本中, ...

  9. [参考文档] [翻译]Oracle 12c R2优化器白皮书

    [参考文档] [翻译]Oracle 12c R2优化器白皮书 原文链接: http://www.oracle.com/technetwor ... edb-12c-1963236.pdf 第一版翻译链 ...

最新文章

  1. P3246 [HNOI2016]序列(查询l-r中所有区间的最小值之和)
  2. es6 函数解构的用途
  3. XSuperTooltip - Office 2007 Super Tooltip class
  4. 解决接收参数乱码,tomcat的URIEncoding=UTF-8
  5. java udp简单聊天程序_Java基于UDP协议实现简单的聊天室程序
  6. 推荐好用的JavaScript模块
  7. java的super是什么意思_java中Super到底是什么意思?必须举例说明!
  8. 【9.4】socket模拟http请求
  9. 2017.7.8 MS SQL Server and BI workshop
  10. java利己线程_java利己线程 | 学步园
  11. git学习笔记-(6-提交对象)
  12. 使用所学的javaWeb知识,实现一个小型的记账管理系统
  13. endnote软件X9下载安装
  14. 从频域角度重新思考注意力机制——FcaNet
  15. GIS招聘 | 辽宁省省直事业单位(含测绘、地信等专业岗位)
  16. python气象卫星云图解析_python下载卫星云图合成gif的方法示例
  17. 计算机视觉与深度学习基本环境安装
  18. 收发EtherCAT帧——ecx_closenic
  19. Android系列之Navigation的目的地(Destination)
  20. 计算机休眠按钮是哪个,电源按钮设置成睡眠好还是休眠好?

热门文章

  1. Android 10 4G网络不能校时问题分析
  2. 加速度传感器采集的加速度值有没有必要转换为位移量
  3. TBW102主题的作用
  4. python读取log文件_python文件读写(一)-txt, log, json, csv, xml文件
  5. Windows下的Redis清除缓存中的所有数据
  6. 概述Android的分区与架构
  7. ACL标准访问控制列表
  8. 查看Linux内核版本
  9. Vulkan Tutorial 0 引言
  10. 苹果手机ios搭建服务器linux,16 岁高中生把 iPhone7 改造成 Linux 服务器