Plugging an Unplugged Pluggable Database issue 3
Multitenant Unplug/Plug Best Practices (文档 ID 1935365.1)
1.source 从0419 升级到1019 ,但是datapatch 没有回退0419,导致plug pdb 在target 1019后,数据库无法正常open.
2. 操作步骤如下:(检查cdb 和plug pdb 兼容性,发现一旦不兼容,plug pdb 只能以受限制模式打开,无法使用,解决办法无。怀疑是步骤3 的bug)
source
create pluggable database PIVRSDEV using 'C:\app\oracle\DEV.xml' NOCOPY TEMPFILE REUSE;
alter pluggable database PIVRSDEV open read write instances =all;
sqlplus sys/oracle123@localhost:15301/pivrsdev AS SYSDBA
exec dbms_pdb.describe (‘PDB1_Unplug.xml’, ‘PIVRSDEV’);
--localtion is D:\appOra12c\Administrator\product\12.1.0\dbhome_1\database
step 2:
target
set serveroutput on
begin
if dbms_pdb.check_plug_compatibility('C:\app\software\PDB1_Unplug.xml','PIVRSDEV') then
dbms_output.put_line('no violations found');
else
dbms_output.put_line('violations found');
end if;
end;
create table pdb_plug_back as select * from pdb_plug_in_violations;
delete from pdb_plug_in_violations;
set linesize 999
set pagesize 999
SELECT name,type, message, action
FROM pdb_plug_in_violations
report below error .
PIVRSDEV WARNING
CDB parameter nls_language mismatch: Previous 'AMERICAN' Current 'SIMPLIFIED CHI
NESE'
Please check the parameter in the current CDB
PIVRSDEV ERROR
(PSU bundle patch 160419 (WINDOWS DB BUNDLE PATCH 12.1.0.2.160419(64bit):228098
13): APPLY SUCCESS): with status in the PDB.
Call datapatch to reinstall
PIVRSDEV WARNING
CDB parameter nls_territory mismatch: Previous 'AMERICA' Current 'CHINA'
Please check the parameter in the current CDB
PIVRSDEV ERROR
(SQL patch ID/UID 24591630/20690333 (WINDOWS ORACLE JAVAVM COMPONENT BUNDLE PAT
CH 12.1.0.2.161018 (64bit):24591630): APPLY SUCCESS): with status in the PDB.
Call datapatch to reinstall
PIVRSDEV ERROR
SQL patch ID/UID 24591630/20690333 (WINDOWS ORACLE JAVAVM COMPONENT BUNDLE PATCH
12.1.0.2.161018 (64bit):24591630): Installed in the CDB but not in the PDB.
Call datapatch to install in the PDB or the CDB
PIVRSDEV WARNING
CDB parameter memory_target mismatch: Previous 2000M Current 0
Please check the parameter in the current CDB
PIVRSDEV ERROR
SQL patch ID/UID 24591642/20650331 (): Installed in the CDB but not in the PDB.
Call datapatch to install in the PDB or the CDB
PIVRSDEV WARNING
CDB parameter aq_tm_processes mismatch: Previous 10 Current 1
Please check the parameter in the current CDB
3.supect below issue
Bug 21913544 : DATAPATCH GENERATES WARNING IN PDB_PLUG_IN_VIOLATIONS AFTER APPLYING DBBP/DBPSU
4.
| Multitenant Unplug/Plug Best Practices (文档 ID 1935365.1) | 转到底部 |
![]() |

In this Document
| Goal |
| Solution |
| Preparation: |
| Scenarios: |
| Scenario 1 – No plug in violations |
| Scenario 2 – SQL patch present in target container but not in source container |
| Scenario 3 – SQL patch present in source container but not in target container |
| Scenario Summary and Actions |
| References |
Applies to:
Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Information in this document applies to any platform.
Goal
To provide the Multitenant Unplug/Plug Best Practices
Solution
When plugging into a new container a PDB may have violations due to Database version (12.1.0.1 vs 12.1.0.2)
- SQL patch mismatches
- Database parameter mismatches such as character sets or block size
The dbms_pdb.describe and dbms_pdb.check_plug_compatibility APIs can
be used to determine if a given PDB can be plugged in successfully to a
target container. Here are the steps to invoke dbms_pdb.describe and
dbms_pdb.check_plug_compatibility to investigate this further:
Preparation:
1) Create PDB description XML file for PDB(PDB1) in question:
exec dbms_pdb.describe (‘PDB1_Unplug.xml’, ‘PDB1’);
2) In the target container environment, check plug compatibility
begin
if dbms_pdb.check_plug_compatibility('PDB1_Unplug.xml', ‘PDB1') then
dbms_output.put_line(‘no violations found');
else
dbms_output.put_line(‘violations found');
end if;
end;
Plugin compatibility issues, if any, will be reported in
pdb_plug_in_violations view
Scenarios:
Scenario 1 – No plug in violations
SQL> BEGIN
2 IF dbms_pdb.check_plug_compatibility('/tmp/PDBORCL.xml') THEN
3 dbms_output.put_line('no violations found');
4 ELSE
5 dbms_output.put_line('violations found');
6 END IF;
7 END;
8 /
no violations found
PL/SQL procedure successfully completed.
SQL> SELECT type, message, action
2 FROM pdb_plug_in_violations
3 WHERE name = 'PDBORCL';
no rows selected
Scenario 2 – SQL patch present in target container but not in source container
SQL> BEGIN
2 IF dbms_pdb.check_plug_compatibility('/tmp/PDBORCL.xml') THEN
3 dbms_output.put_line('no violations found');
4 ELSE
5 dbms_output.put_line('violations found');
6 END IF;
7 END;
8 /
violations found
SQL> SELECT type, message, action
2 FROM pdb_plug_in_violations
3 WHERE name = 'PDBORCL';
TYPE MESSAGE
--------- --------------------------------------------------------------------------------
ACTION
--------------------------------------------------------------------------------
ERROR PSU bundle patch 1 (PSU Patch 12345): Installed in the CDB but not in the PDB.
Call datapatch to install in the PDB or the CDB
Scenario 3 – SQL patch present in source container but not in target container
SQL> BEGIN
2 IF dbms_pdb.check_plug_compatibility('/tmp/PDBORCL.xml') THEN
3 dbms_output.put_line('no violations found');
4 ELSE
5 dbms_output.put_line('violations found');
6 END IF;
7 END;
8 /
violations found
SQL> SELECT type, message, action
2 FROM pdb_plug_in_violations
3 WHERE name = 'PDBORCL';
TYPE MESSAGE
--------- --------------------------------------------------------------------------------
ACTION
--------------------------------------------------------------------------------
ERROR PSU bundle patch 1 (PSU Patch 12345): Installed in the PDB but not in the CDB.
Call datapatch to install in the PDB or the CDB
Scenario Summary and Actions
|
Scenario |
Recommended Action |
|---|---|
|
1: SQL Patches in both source and target container |
None needed – safe to plug in (see Document 1633071.1) |
|
2: SQL Patches in target container only |
Run datapatch in target after plug in |
|
3: SQL Patches in source container only |
Option 1: Rollback the patch(es) on the source PDB before unplugging % datapatch -rollback < patch id > –force [–bundle_series] -pdbs <pdb1,pdb2,...,pdbn> Option 2: Install the patch(es) on the target installation then run datapatch in target after plug in Note: Option 2 will apply the new patches in the CDB and all PDBs in the target. |
Plugging an Unplugged Pluggable Database issue 3的更多相关文章
- Plugging an Unplugged Pluggable Database issue 2
因为原库和目标库版本不一制,出现各种问题,强烈建议保持2个版本一致 http://www.cndba.cn/dave/article/220 Log 提示查看PDB_PLUG_IN_VIOLATION ...
- Plugging an Unplugged Pluggable Database
1.unplug To unplug a PDB, you first close it and then generate an XML manifest file. The XML file co ...
- ORA-65179: cannot keep datafiles for a pluggable database that is not unplugged
SQL> drop pluggable database pdb2; drop pluggable database pdb2 * ERROR at line : ORA-: cannot ke ...
- oracle12c新特点之可插拔数据库(Pluggable Database,PDB)
1. 12c PDB新特点的优势 1) 可以把多个PDB集成进一个平台. 2) 可以快速提供一个新的PDB或一个已有PDB的克隆. 3) 通过拔插技术,可以快速把存在的数据库重 ...
- Oracle Database 12c 新特性 - Pluggable Database
在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...
- Oracle 12c: RMAN restore/recover pluggable database
查看数据库状态 运行在归档模式,可拔插数据库name=pdborcl SQL> archive log list; Database log mode Archive Mode Automati ...
- Oracle 12C pluggable database自启动
实验环境创建了两个PDB,本实验实现在开启数据库时,实现pluggable database PDB2自启动: 原始环境: SQL> shu immediateDatabase closed.D ...
- Clone a Pluggable Database – 12c Edition
1. 1.Tnsnames when connecting to either Container or Pluggable instance The tnsnames.ora should be c ...
- Multitenant best Practice clone pdb seed and Clone a Pluggable Database – 12c Edition
1. 1.Tnsnames when connecting to either Container or Pluggable instance The tnsnames.ora should be c ...
随机推荐
- 有两个字符串a,b。假设a="ab",b="cd",判断字符串c="acbd"是属于a、b的组合。满足组合后a、b的内部顺序均不变。
#include<iostream> #include<string> using namespace std; int check(string a,string b,str ...
- 【转载】SOAP协议介绍
SOAP是用在分散或分布的环境中交换信息的简单的协议,它是一个基于XML的协议,包括三个部分:封装定义了一个描述消息中包含什么内容以及如何处理它们的框架,编码规则用于表示应用程序定义的数据类型的实例, ...
- EXTJS 4 树形表格组件使用演示样例
EXTJS 4 树形表格组件使用演示样例 一.总体效果图 version=1&modificationDate=1412058826000&api=v2" alt=" ...
- 关于mybatis的 insert into select 命令未结束问题
关于mybatis的 insert into select 命令未结束问题,最后以为是sql写错了,可是,在plsql运行又没问题.最后还是解决这个问题. 是设置问题. ### Cause: java ...
- [读书笔记]《没人会告诉你的PPT真相》
这本书分了三部分.第一部分偏重于基础技能,其中分为三部分,打印.放映.保存.第二部分是进阶,分为模板下载.模板修改.增加自定义页面等.第三部分是打造商业范的PPT,分为商业范的特征,具体技能体现(重复 ...
- PHP 7.2 RC3 on CentOS/RHEL 7.3 via Yum
https://webtatic.com/packages/php72/ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-lat ...
- 安卓输入子系统之inotify与epoll机制【学习笔记】【原创】
平台信息:内核:linux3.1.0系统:android5.0平台:tiny4412 作者:庄泽彬(欢迎转载,请注明作者) 说明: 韦老师的安卓视频学习笔记 一.在安卓的输入子系统中如何监听文件的产生 ...
- bzoj3272: Zgg吃东西&&3267: KC采花
口胡 我们容易得到一个费用流的做法,流出k的流量分配给各个点,各个点向下一个点流费用为它的价值的边,然后汇总到ed 观察发现对于流一次,相当于选择了一个区间 如果流了反向边,相当于减去了这一段 可以用 ...
- The input stream is not a valid binary format.
The input stream is not a valid binary format. The starting contents (in bytes) are: 53-79-73-74-65- ...
- Golang1.8编译静态库给C使用
Go实例代码: package main import ( "fmt" ) import "C" //export Printf func Printf(for ...
转到底部