[Solved] Issue: ‘18.3.0.0.0 Release_Update 1806280943’ is installed in the CDB but ‘18.3.0.0.0 Release_Update 180628094’ is installed in the PDB

Após aplicar um Patch descrito NESTE artigo, foi reportado na view PDB_PLUG_IN_VIOLATIONS as seguintes mensagens (após checar a compatibilidade de um PDB no CDB):

SQL> set serveroutput on
DECLARE
        compatible BOOLEAN := FALSE;
BEGIN
        compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY( PDB_DESCR_FILE => '/home/oracle/HIPOFISE2.xml');
        if compatible then
                DBMS_OUTPUT.PUT_LINE('It is compatible');
        else
        DBMS_OUTPUT.PUT_LINE('It is NOT compatible');
        end if;
END;
/SQL>   2    3    4    5    6    7    8    9   10   11
It is NOT compatible
 
PL/SQL procedure successfully completed.
 
SQL>
SQL> SELECT * FROM PDB_PLUG_IN_VIOLATIONS WHERE NAME='HIPOFISE2';
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
18-MAR-21 05.42.22.509718 AM
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
HIPOFISE2
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
SQL Patch                                                        ERROR
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
           0          1
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
'18.3.0.0.0 Release_Update 1806280943' is installed in the CDB but '18.3.0.0.0 R
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
elease_Update 180628094' is installed in the PDB
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
PENDING
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
Call datapatch to install in the PDB or the CDB
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------
         1
 
TIME
---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------
CAUSE                                                            TYPE
---------------------------------------------------------------- ---------
ERROR_NUMBER       LINE
------------ ----------
MESSAGE
--------------------------------------------------------------------------------
STATUS
---------
ACTION
--------------------------------------------------------------------------------
    CON_ID
----------

Ao tentar seguir o Oracle Note “Datapatch precheck failed : Release update is BEING installed to PDB but is not installed in CDB$ROOT.This will cause a patch mismatch between this PDB and CDB$ROOT (Doc ID 2604940.1)“, realizei o datapatch no CDB:

[oracle@oel8 OPatch]$ cd $ORACLE_HOME/OPatch
[oracle@oel8 OPatch]$ ./datapatch -verbose -pdbs CDB\$ROOT
SQL Patching tool version 18.0.0.0.0 Production on Thu Mar 18 06:18:44 2021
Copyright (c) 2012, 2018, Oracle.  All rights reserved.
 
Log file for this invocation: /oracle/18.0.0/base/cfgtoollogs/sqlpatch/sqlpatch_32394_2021_03_18_06_18_44/sqlpatch_invocation.log
 
Connecting to database...OK
Gathering database info...done
 
Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)
 
Bootstrapping registry and package to current versions...done
Determining current state...done
 
Current state of interim SQL patches:
Interim patch 27923415 (OJVM RELEASE UPDATE: 18.3.0.0.180717 (27923415)):
  Binary registry: Installed
  PDB CDB$ROOT: Applied successfully on 02-MAR-21 06.35.31.589073 AM
 
Current state of release update SQL patches:
  Binary registry:
    18.3.0.0.0 Release_Update 1806280943: Installed
  PDB CDB$ROOT:
    Applied 18.3.0.0.0 Release_Update 1806280943 successfully on 02-MAR-21 06.35.31.581343 AM
 
Adding patches to installation queue and performing prereq checks...done
Installation queue:
  For the following PDBs: CDB$ROOT
    No interim patches need to be rolled back
    No release update patches need to be installed
    No interim patches need to be applied
 
SQL Patching tool complete on Thu Mar 18 06:18:52 2021
[oracle@oel8 OPatch]$

Aplicando nos PDBs e notamos que, por termos dropado o PDB HIPOFISE2, não será possível o seu datapatch:

[oracle@oel8 OPatch]$ ./datapatch -verbose -pdbs HIPOFISE1,HIPOFISE2
SQL Patching tool version 18.0.0.0.0 Production on Thu Mar 18 06:20:53 2021
Copyright (c) 2012, 2018, Oracle.  All rights reserved.
 
Log file for this invocation: /oracle/18.0.0/base/cfgtoollogs/sqlpatch/sqlpatch_1163_2021_03_18_06_20_53/sqlpatch_invocation.log
 
Connecting to database...OK
Gathering database info...Error: prereq checks failed!
Some of the -pdbs containers were not found in the database. Bad containers: HIPOFISE2
 
Please refer to MOS Note 1609718.1 and/or the invocation log
/oracle/18.0.0/base/cfgtoollogs/sqlpatch/sqlpatch_1163_2021_03_18_06_20_53/sqlpatch_invocation.log
for information on how to resolve the above errors.
 
SQL Patching tool complete on Thu Mar 18 06:20:54 2021

Tentando gerar uma solução de contorno: plugar este PDB no CDB, para então realizar o datapatch posteriormente:

[oracle@oel8 OPatch]$ sqlplus / as sysdba
 
SQL*Plus: Release 18.0.0.0.0 - Production on Thu Mar 18 06:25:39 2021
Version 18.3.0.0.0
 
Copyright (c) 1982, 2018, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
 
SQL> CREATE PLUGGABLE DATABASE HIPOFISE2 USING '/home/oracle/HIPOFISE2.xml' NOCOPY TEMPFILE REUSE;
 
Pluggable database created.

Abrindo o PDB:

SQL> ALTER PLUGGABLE DATABASE HIPOFISE2 OPEN;
 
Pluggable database altered.

Realizando datapatch novamente:

[oracle@oel8 OPatch]$ ./datapatch -verbose -pdbs HIPOFISE1,HIPOFISE2
SQL Patching tool version 18.0.0.0.0 Production on Thu Mar 18 06:31:21 2021
Copyright (c) 2012, 2018, Oracle.  All rights reserved.
 
Log file for this invocation: /oracle/18.0.0/base/cfgtoollogs/sqlpatch/sqlpatch_4269_2021_03_18_06_31_21/sqlpatch_invocation.log
 
Connecting to database...OK
Gathering database info...done
 
Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)
 
Bootstrapping registry and package to current versions...done
Determining current state...done
 
Current state of interim SQL patches:
Interim patch 27923415 (OJVM RELEASE UPDATE: 18.3.0.0.180717 (27923415)):
  Binary registry: Installed
  PDB HIPOFISE1: Applied successfully on 02-MAR-21 06.44.54.948445 AM
  PDB HIPOFISE2: Applied successfully on 02-MAR-21 06.44.54.948445 AM
 
Current state of release update SQL patches:
  Binary registry:
    18.3.0.0.0 Release_Update 1806280943: Installed
  PDB HIPOFISE1:
    Applied 18.3.0.0.0 Release_Update 1806280943 successfully on 02-MAR-21 06.44.54.938616 AM
  PDB HIPOFISE2:
    Applied 18.3.0.0.0 Release_Update 1806280943 successfully on 02-MAR-21 06.44.54.938616 AM
 
Adding patches to installation queue and performing prereq checks...done
Installation queue:
  For the following PDBs: HIPOFISE1 HIPOFISE2
    No interim patches need to be rolled back
    No release update patches need to be installed
    No interim patches need to be applied
 
SQL Patching tool complete on Thu Mar 18 06:31:31 2021
[oracle@oel8 OPatch]$

Gerando um novo arquivo XML:

[oracle@oel8 ~]$ mv HIPOFISE2.xml HIPOFISE2.xml.OLD
[oracle@oel8 ~]$ sqlplus / as sysdba
 
SQL*Plus: Release 18.0.0.0.0 - Production on Thu Mar 18 06:32:41 2021
Version 18.3.0.0.0
 
Copyright (c) 1982, 2018, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
 
SQL>ALTER PLUGGABLE DATABASE HIPOFISE2 CLOSE IMMEDIATE;
 
Pluggable database altered.
 
SQL> ALTER PLUGGABLE DATABASE HIPOFISE2 UNPLUG INTO '/home/oracle/HIPOFISE2.xml';
 
Pluggable database altered.

Dropando apenas a referência do banco:

SQL> DROP PLUGGABLE DATABASE HIPOFISE2 KEEP DATAFILES;
 
Pluggable database dropped.

Realizando teste de compatibilidade e vendo que agora o PDB está apto a ser plugado no CDB:

SQL> set serveroutput on
DECLARE
        compatible BOOLEAN := FALSE;
BEGIN
        compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY( PDB_DESCR_FILE => '/home/oracle/HIPOFISE2.xml');
        if compatible then
                DBMS_OUTPUT.PUT_LINE('It is compatible');
        else
        DBMS_OUTPUT.PUT_LINE('It is NOT compatible');
        end if;
END;
/SQL>   2    3    4    5    6    7    8    9   10   11
It is compatible
 
PL/SQL procedure successfully completed.

4 thoughts on “[Solved] Issue: ‘18.3.0.0.0 Release_Update 1806280943’ is installed in the CDB but ‘18.3.0.0.0 Release_Update 180628094’ is installed in the PDB”

  1. Pingback: Creating a new PDB using the DBMS_PDB package on a Non-CDB – Bruno Santos da Silva

  2. Pingback: Applying Datapatch to PDB$SEED – Bruno Santos da Silva

  3. Pingback: Applying Datapatch to PDB$SEED – SWIV

  4. Pingback: Creating a new PDB using the DBMS_PDB package on a Non-CDB – SWIV

Leave a Comment

Your email address will not be published.