How to change AWR setting

 
--In Oracle Database 19c the AWR snapshots are taken at CDB level by default.
-----------------------------------------------------------------------------
Set AWR_PDB_AUTOFLUSH_ENABLED initialization parameter in CDB root 
to enable AWR snapshots for all PDBs in a CDB, or in an individual 
PDB to enable snapshots for that particular PDB:

show parameter AWR_PDB_AUTOFLUSH_ENABLED


-- AWR_SNAPSHOT_TIME_OFFSET parameter control offsets for AWR snapshot 
-- start times. Special values 1000000 makes offset random based on the 
-- PDB name. This parameter is set at CDB level only

show parameter AWR_SNAPSHOT_TIME_OFFSET 

SQL> alter system set AWR_PDB_AUTOFLUSH_ENABLED=true scope=both;




--Steps to Modify AWR Snapshot Interval
--STEP 1: Check the Database name and DBID.

select name,dbid from v$database;



--STEP 2: Check the existing snapshot_interval time
select  * from   dba_hist_wr_control;

select 
    extract( day from snap_interval) *24*60+extract( hour from snap_interval) *60+extract( minute from snap_interval ) snapshot_interval,
    extract( day from retention) *24*60+extract( hour from retention) *60+extract( minute from retention ) retention_interval
from dba_hist_wr_control;



-- STEP 3: Modify the existing snapshot interval

show parameter statistics_level

--To modify the interval at which snapshots are taken and the retention period, use:
BEGIN
  DBMS_WORKLOAD_REPOSITORY.
   MODIFY_SNAPSHOT_SETTINGS(
    retention => 43200, -- 30 days
    interval  => 10     -- every 10 minutes
    );   
END;
/

-- https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_WORKLOAD_REPOSITORY.html#GUID-E2B46878-1BDB-4789-8A21-016A625530F1


exec dbms_workload_repository.modify_snapshot_settings(retention=>43200, interval=>30, dbid=> 3844563802);



--Modify retention period to 7 days and interval to 30 min
--NOTE : Retention and interval both use value in minutes .
-- 8 Days = 8*24*60 = 11520 minutes
-- 7 DAYS = 7*24*60 = 10080 minutes
-- 6 DAYS = 6*24*60 = 8640  minutes
--30 DAYS = 6*24*60 = 43200 minutes

select * from dba_hist_wr_control
/

select
   extract( day from snap_interval) *24*60+
   extract( hour from snap_interval) *60+
   extract( minute from snap_interval ) "Snapshot Interval",
   -- 
   extract( day from retention) *24*60+
   extract( hour from retention) *60+
   extract( minute from retention ) "Retention Interval"
   --
from dba_hist_wr_control;



No comments:

Post a Comment