Skip to main content

ORA-20200 Error while running AWR report from PDB level

Issue:

In 19c database, while generating AWR report from PDB level, got the below error. 
In 12cR1 - We can only generate statistics and run the Workload Repository (AWR) report from CDB level. Since 12.2, if we want to generate statistics and run AWR report from PDB level, we have to change awr_pdb_autoflush_enabled parameter to TRUE.

Error:

ERROR at line 1:
ORA-20200: Database/Instance 2832289441/1 does not exist in
AWR_PDB_DATABASE_INSTANCE
ORA-06512: at line 27

Solution:

alter session set container=ORCL; >>>>  Set the container Name
alter system set awr_pdb_autoflush_enabled=true;
conn system/<pwd>@orclcdb     >>>> Login into PDB database
alter system set AWR_SNAPSHOT_TIME_OFFSET=1000000 scope=both;  >>> Set the arameter to avoid performance issue while generating snapshot at the same time in CDB and PDB level.
exec dbms_workload_repository.create_snapshot();
SQL> @?/rdbms/admin/awrrpt.sql

Console Log:

SQL> show pdbs
 
    CON_ID CON_NAME                   OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
       3 ORCL                   READ WRITE NO
SQL> alter session set container=ORCL;
Session altered.
SQL> alter system set awr_pdb_autoflush_enabled=true;
System altered.
SQL> alter system set AWR_SNAPSHOT_TIME_OFFSET=1000000 scope=both; 
alter system set AWR_SNAPSHOT_TIME_OFFSET=1000000 scope=both
*
ERROR at line 1:
ORA-65040: operation not allowed from within a pluggable database
[oracle@localhost admin]$ sqlplus system/oracle@orclcdb    >>>> Login into PDB database to fix the above error.
SQL> alter system set AWR_SNAPSHOT_TIME_OFFSET=1000000 scope=both; 
System altered.
SQL> alter session set container=ORCL
  2  ;
Session altered.
SQL> exec dbms_workload_repository.create_snapshot();
PL/SQL procedure successfully completed.
SQL> @?/rdbms/admin/awrrpt.sql
Specify the location of AWR Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AWR_ROOT - Use AWR data from root (default)
AWR_PDB - Use AWR data from PDB
Enter value for awr_location: AWR_PDB
Location of AWR Data Specified: AWR_PDB
Current Instance
~~~~~~~~~~~~~~~~
DB Id        DB Name          Inst Num         Instance          Container Name
-------------- -------------- -------------- -------------- --------------
 2832289441 ORCLCDB               1 orclcdb          ORCL
Root DB Id  Container DB Id AWR DB Id
--------------- --------------- ---------------
   2780785463        2832289441        2832289441
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  DB Id      Inst Num   DB Name      Instance     Host
------------ ---------- ---------    ----------   ------
  2832289441      1    ORCLCDB      orclcdb      10.0.2.15
Using 2832289441 for database Id
Using        1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.  Pressing <return> without
specifying a number lists all completed snapshots.
Enter value for num_days: 1
Listing the last day's Completed Snapshots
Instance     DB Name      Snap Id   Snap Started      Snap Level
------------ ------------ ---------- ------------------ ----------
orclcdb      ORCLCDB            1  04 Jan 2021 12:04    1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap:

Comments

Popular posts from this blog

EBS 12.2 - Script to monitor JVM Heap Memory for the weblogic managed servers

#!/bin/sh # Script to monitor JVM Heap Memory for the managed servers # Author : Ramasubbu Sunadaravel # Date   : 23-Aug-2016 # Usage  : sh jvm_heap_mem_mon.sh run  ## VARIABLES save_date=`date +%d_%b_%y` LOGFILE=/export/home/applmgr/oraprocs/logs HISTFILE=/export/home/applmgr/oraprocs/histfile threshold=10 MAIL_LIST=rsundaravel@yahoo.com SCRIPT=/export/home/applmgr/oraprocs/.jvm_check.py ## SCRIPTS STARTS HERE . /r11/app/FLRPRD/R12apps/EBSapps.env . $FMW_HOME/wlserver_10.3/server/bin/setWLSEnv.sh java weblogic.WLST $SCRIPT > $LOGFILE/jvm_heap_monitoring.log date '+Start Time: %m/%d/%y %H:%M:%S' >> $HISTFILE/jvm_heap_monitoring_$save_date.log cat $LOGFILE/jvm_heap_monitoring.log|grep "%" >> $HISTFILE/jvm_heap_monitoring_$save_date.log date '+End Time: %m/%d/%y %H:%M:%S' >> $HISTFILE/jvm_heap_monitoring_$save_date.log #Alert DBA's if any of the managed server heap size reached more than $threshold value current=`

EBS 12.2 - Script to monitor Weblogic Managed servers

#!/bin/sh # Script to monitor Weblogic managed server status # Author : Ramasubbu Sunadaravel # Date   : 23-Aug-2016 . /r11/app/FLRPRD/R12apps/EBSapps.env ## VARIABLES ### LOGFILE=/export/home/applmgr/oraprocs/logs MAIL_LIST=rsundaravel@yahoo.com ADMIN_URL=http://test.domain.int:7014/console PARFILE=/export/home/applmgr/oraprocs/mgd_server_list.par ## - place all the managed servers name. WEBLOGIC_PWD = /export/home/applmgr/oraprocs/.weblogicpwd ## SCRIPT STARTS cat $PARFILE |while read line do managed_server=`echo $line | awk '{print $1}'` LOGFILE=/export/home/applmgr/oraprocs/logs echo $managed_server echo `cat $WEBLOGIC_PWD`|$ADMIN_SCRIPTS_HOME/admanagedsrvctl.sh status $managed_server|grep $managed_server|grep -v logs > $LOGFILE/$managed_server.log status=`cat $LOGFILE/$managed_server.log|grep "is running"|wc -l` if test $status -eq 1 then echo "$managed_server is Running" else echo "$managed