We had situation where datapatch was not applied to PDB . Oracle Suggested to apply datapatch using verbose mode and issue was captured in log
./dataoatch -verbose -debug
We can apply datapatch on selective PDB using below
./datapatch -verbose -pdbs PDB1,PDB2
It is always advisable to check PDB violations after applying datapatch in pluggable environment .
select name,cause,message from pdb_plug_in_violations;
select name,cause,type,action from pdb_plug_in_violations where status <> 'RESOLVED';
Below are other options
$ORACLE_HOME/OPatch/datapatch -rollback all -force --pdb pdb1
$ORACLE_HOME/OPatch/datapatch -apply 7777 -force - bundle_series DBRU --pdb pdb1
Sql Used to verify :
SET LINESIZE 500
SET PAGESIZE 1000
SET SERVEROUT ON
SET LONG 2000000
COLUMN action_time FORMAT A20
COLUMN action FORMAT A10
COLUMN status FORMAT A10
COLUMN description FORMAT A40
COLUMN source_version FORMAT A10
COLUMN target_version FORMAT A10
alter session set "_exclude_seed_cdb_view"=FALSE;
select CON_ID,
TO_CHAR(action_time, 'YYYY-MM-DD') AS action_time,
PATCH_ID,
PATCH_TYPE,
ACTION,
DESCRIPTION,
SOURCE_VERSION,
TARGET_VERSION
from CDB_REGISTRY_SQLPATCH
order by CON_ID, action_time, patch_id;
select patch_id, patch_uid, target_version, status, description, action_time
from dba_registry_sqlpatch
where action = 'APPLY';
select * from OPATCH_XML_INV;
Reference:
After running datapatch, PDB plugin or cloned db returns violations shown in PDB_PLUG_IN_VIOLATION (Doc ID 1635482.1)
Datapatch User Guide (Doc ID 2680521.1)
No comments:
Post a Comment