Oracle DBMS_ADDM
Version 19.3

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose Create and execute an tasks to analyze all instances of a database.
AUTHID CURRENT_USER
Dependencies
DBMS_ADVISOR DBMS_SWRF_INTERNAL PRVT_ADVISOR
DBMS_LOB DBMS_SYS_ERROR PRVT_HDM
DBMS_MANAGEMENT_PACKS DBMS_UTILITY PRVT_SMGUTIL
DBMS_REPORT DBMS_WORKLOAD_REPLAY_I USER_ADVISOR_TASKS
DBMS_STANDARD DUAL XMLTYPE
Documented Partially
First Available 11.1.0.6
Security Model Owned by SYS with EXECUTE granted to PUBLIC
Source {ORACLE_HOME}/rdbms/admin/dbmsaddm.sql
Subprograms
 
ANALYZE_DB
Create and execute an ADDM task to analyze all instances of a database for a range of snapshots dbms_addm.analyze_db(
task_name      IN OUT VARCHAR2,
begin_snapshot IN     NUMBER,
end_snapshot   IN     NUMBER,
db_id          IN     NUMBER := NULL);
SELECT dbid FROM v$database;

set pagesize 25
set linesize 121
col instart_fmt format a20
break on instart_fmt
col inst_name format a12 heading 'Instance';
col db_name format a12 heading 'DB Name';
col snap_id format 99999990 heading 'Snap Id';
col snapdat format a18 heading 'Snap Started' just c;
col lvl format 99 heading 'Snap|Level';
set heading on;
break on inst_name on db_name on host on instart_fmt skip 1;
ttitle off;

SELECT TO_CHAR(s.startup_time,' DD MON "at" HH24:MI:SS') INSTART_FMT,
di.instance_name INST_NAME, di.db_name DB_NAME, s.snap_id SNAP_ID,
TO_CHAR(s.end_interval_time,'DD MON YYYY HH24:MI') SNAPDAT,
s.snap_level LVL
FROM dba_hist_snapshot s, dba_hist_database_instance di
WHERE di.dbid = s.dbid
AND di.instance_number = s.instance_number
AND di.startup_time = s.startup_time
ORDER BY snap_id;

set serveroutput on

DECLARE
 tname VARCHAR2(30) := 'UW_TASK1';
BEGIN
  dbms_addm.analyze_db(tname, 2437, 2504, 1701481905);
  dbms_output.put_line(tname);
END;
/

col execution_name format a15
col finding_name format a30
col parent format 99
col impact format 99999999999
col message format a60
col more_info format a60

SELECT execution_name, finding_name, parent, impact
FROM dba_addm_findings
WHERE task_name = 'UW_TASK1';

SELECT execution_name, finding_name, message
FROM dba_addm_findings
WHERE task_name = 'UW_TASK1';

SELECT execution_name, finding_name, more_info
FROM dba_addm_findings
WHERE task_name = 'UW_TASK1';
 
ANALYZE_INST
Create and execute an ADDM task to analyze a specific instance of a database for a range of snapshots dbms_addm.analyze_inst(
task_name       IN OUT VARCHAR2,
begin_snapshot  IN     NUMBER,
end_snapshot    IN     NUMBER,
instance_number IN     NUMBER := NULL,
db_id           IN     NUMBER := NULL);
SELECT dbid FROM v$database;

SELECT inst_id
FROM gv$instance;

set pagesize 25
set linesize 121
col instart_fmt format a20
break on instart_fmt
col inst_name format a12 heading 'Instance';
col db_name format a12 heading 'DB Name';
col snap_id format 99999990 heading 'Snap Id';
col snapdat format a18 heading 'Snap Started' just c;
col lvl format 99 heading 'Snap|Level';
set heading on;
break on inst_name on db_name on host on instart_fmt skip 1;
ttitle off;

SELECT TO_CHAR(s.startup_time,' DD MON "at" HH24:MI:SS') INSTART_FMT,
di.instance_name INST_NAME, di.db_name DB_NAME, s.snap_id SNAP_ID,
TO_CHAR(s.end_interval_time,'DD MON YYYY HH24:MI') SNAPDAT,
s.snap_level LVL
FROM dba_hist_snapshot s, dba_hist_database_instance di
WHERE di.dbid = s.dbid
AND di.instance_number = s.instance_number
AND di.startup_time = s.startup_time
ORDER BY snap_id;

set serveroutput on

DECLARE
 tname VARCHAR2(30) := 'UW_TASK2';
BEGIN
  dbms_addm.analyze_inst(tname, 2387, 2406, 1, 1701481905);
  dbms_output.put_line(tname);
END;
/

desc dba_addm_findings

SELECT task_name
FROM dba_addm_findings;

SELECT task_name
FROM dba_addm_findings
WHERE task_name LIKE 'UW%';

col finding_name format a30
col impact format 99999.99

SELECT execution_name, finding_name, parent, impact, message, more_info
FROM dba_addm_findings
WHERE task_name = 'UW_TASK2';

desc dba_addm_tasks

SELECT DISTINCT task_name, advisor_name
FROM dba_addm_tasks;

col advisor_name format a15
col how_created format a15

SELECT advisor_name, status, how_created, system_task, requested_analysis, actual_analysis
FROM dba_addm_tasks
WHERE task_name = 'UW_TASK2';
 
ANALYZE_PARTIAL
Create and execute an ADDM task to analyze a partial list of instances for a range of snapshots dbms_addm.analyze_partial(
task_name        IN OUT VARCHAR2,
instance_numbers IN     VARCHAR2,
begin_snapshot   IN     NUMBER,
end_snapshot     IN     NUMBER,
db_id            IN     NUMBER := NULL);
SELECT dbid FROM v$database;

SELECT inst_id
FROM gv$instance;

set pagesize 25
set linesize 121
col instart_fmt format a20
break on instart_fmt
col inst_name format a12 heading 'Instance';
col db_name format a12 heading 'DB Name';
col snap_id format 99999990 heading 'Snap Id';
col snapdat format a18 heading 'Snap Started' just c;
col lvl format 99 heading 'Snap|Level';
set heading on;
break on inst_name on db_name on host on instart_fmt skip 1;
ttitle off;

SELECT TO_CHAR(s.startup_time,' DD MON "at" HH24:MI:SS') INSTART_FMT,
di.instance_name INST_NAME, di.db_name DB_NAME, s.snap_id SNAP_ID,
TO_CHAR(s.end_interval_time,'DD MON YYYY HH24:MI') SNAPDAT,
s.snap_level LVL
FROM dba_hist_snapshot s, dba_hist_database_instance di
WHERE di.dbid = s.dbid
AND di.instance_number = s.instance_number
AND di.startup_time = s.startup_time
ORDER BY snap_id;

set serveroutput on

DECLARE
 tname VARCHAR2(30) := 'UW_TASK3';
 insts VARCHAR2(50) := '1,2,3';
BEGIN
  dbms_addm.analyze_partial(tname, insts, 2387, 2406);
  dbms_output.put_line(tname);
END;
/
 
COMPARE_CAPTURE_REPLAY_REPORT
Create a report comparing the performance of a capture to a replay dbms_addm.compare_capture_replay_report(
replay_id   IN NUMBER,
report_type IN VARCHAR2 := 'HTML')
RETURN CLOB;
TBD
 
COMPARE_DATABASES
Create a report comparing the performance of a database over two different time periods or the performance of two different databases over two different time periods dbms_addm.compare_databases(
base_dbid          IN NUMBER   := NULL,
base_begin_snap_id IN NUMBER,
base_end_snap_id   IN NUMBER,
comp_dbid          IN NUMBER   := NULL,
comp_begin_snap_id IN NUMBER,
comp_end_snap_id   IN NUMBER,
report_type        IN VARCHAR2 := 'HTML')
RETURN CLOB;
SELECT dbid FROM v$database;

set feedback off
set heading on
set linesize 1500
set termout on
set trim on
set trimspool on
set veri off
col instart_fmt noprint;
col inst_name format a12 heading 'Instance';
col db_name format a12 heading 'DB Name';
col snap_id format 99999990 heading 'Snap Id';
col snapdat format a18 heading 'Snap Started' just c;
col lvl format 99 heading 'Snap|Level';
break on inst_name on db_name on host on instart_fmt skip 1;
ttitle off;

SELECT TO_CHAR(s.startup_time,' DD MON "at" HH24:MI:SS') INSTART_FMT,
di.instance_name INST_NAME, di.db_name DB_NAME, s.snap_id SNAP_ID,
TO_CHAR(s.end_interval_time,'DD MON YYYY HH24:MI') SNAPDAT,
s.snap_level LVL
FROM dba_hist_snapshot s, dba_hist_database_instance di
WHERE di.dbid = s.dbid
AND di.instance_number = s.instance_number
AND di.startup_time = s.startup_time
ORDER BY snap_id;

set pagesize 999
set linesize 161

spool /home/oracle/compare_db.html br>
SELECT dbms_addm.compare_databases(1984521206, 4502, 4532, 768045447, 4472, 4502, 'HTML')
FROM dual;

spool off


-- open the file in a browser and you will discover it is unreadable except in OEM
 
COMPARE_INSTANCES
Create a report comparing the performance of a single instance over two different time periods or the performance of two different instances over two different time periods dbms_addm.compare_instances(
base_dbid          IN NUMBER   := NULL,
base_instance_id   IN NUMBER,
base_begin_snap_id IN NUMBER,
base_end_snap_id   IN NUMBER,
comp_dbid          IN NUMBER   := NULL,
comp_instance_id   IN NUMBER,
comp_begin_snap_id IN NUMBER,
comp_end_snap_id   IN NUMBER,
report_type        IN VARCHAR2 := 'HTML')
RETURN CLOB;
SELECT dbid FROM v$database;

set feedback off
set heading on
set linesize 1500
set termout on
set trim on
set trimspool on
set veri off
col instart_fmt noprint;
col inst_name format a12 heading 'Instance';
col db_name format a12 heading 'DB Name';
col snap_id format 99999990 heading 'Snap Id';
col snapdat format a18 heading 'Snap Started' just c;
col lvl format 99 heading 'Snap|Level';
break on inst_name on db_name on host on instart_fmt skip 1;
ttitle off;

SELECT TO_CHAR(s.startup_time,' DD MON "at" HH24:MI:SS') INSTART_FMT,
di.instance_name INST_NAME, di.db_name DB_NAME, s.snap_id SNAP_ID,
TO_CHAR(s.end_interval_time,'DD MON YYYY HH24:MI') SNAPDAT,
s.snap_level LVL
FROM dba_hist_snapshot s, dba_hist_database_instance di
WHERE di.dbid = s.dbid
AND di.instance_number = s.instance_number
AND di.startup_time = s.startup_time
ORDER BY snap_id;

set 999
set linesize 161

spool /home/oracle/compare_db.html

SELECT dbms_addm.compare_instances(1984521206, 1, 4502, 4532, 1984521206, 2, 4472, 4502, 'HTML')
FROM dual;

spool off


-- open the file in a browser and you will discover it is unreadable except in OEM
 
COMPARE_REPLAY_REPLAY_REPORT
Create a report comparing the the performance of two replays dbms_addm.compare_replay_replay_report(
replay_id1  IN NUMBER,
replay_id2  IN NUMBER,
report_type IN VARCHAR2 := 'HTML')
RETURN CLOB
TBD
 
DELETE
Delete an ADDM task dbms_addm.delete(task_name IN VARCHAR2);
exec dbms_addm.delete('UW_TASK1');
 
DELETE_FINDING_DIRECTIVE
Delete an ADDM directive dbms_addm.delete_finding_directive(
task_name IN VARCHAR2,
dir_name  IN VARCHAR2);
SELECT task_name, directive_name, description
FROM dba_addm_task_directives;
 
DELETE_PARAMETER_DIRECTIVE
Delete an ADDM directive dbms_addm.delete_parameter_directive(
task_name IN VARCHAR2,
dir_name  IN VARCHAR2);
TBD
 
DELETE_SEGMENT_DIRECTIVE
Delete an ADDM directive dbms_addm.delete_segment_directive(
task_name IN VARCHAR2,
dir_name  IN VARCHAR2);
TBD
 
DELETE_SQL_DIRECTIVE
Delete an ADDM directive dbms_addm.delete_sql_directive(
task_name IN VARCHAR2,
dir_name  IN VARCHAR2);
TBD
 
GET_ASH_QUERY
Retrieves the SQL text of an ASH query for a finding dbms_addm.get_ash_query(
task_name  IN VARCHAR2,
finding_id IN NUMBER)
RETURN VARCHAR2;
-- first run the ANALYZE_DB demo above over a range that has "real" work

SELECT finding_id, finding_name, message
FROM dba_advisor_findings
WHERE task_name = 'UW_TASK1';

SELECT dbms_addm.get_ash_query('UW_TASK1', 1) FROM dual;

col task_name format a25
col message format a50

SELECT task_name, finding_id, finding_name, message
FROM dba_advisor_findings;

SELECT dbms_addm.get_ash_query('ADDM:2495529197_1_25', 1) FROM dual;
SELECT dbms_addm.get_ash_query('ADDM:2495529197_1_3', 1) FROM dual;
 
GET_REPORT
Returns the ADDM report dbms_addm.get_report(task_name IN VARCHAR2) RETURN CLOB;
SELECT task_name
FROM dba_advisor_tasks;

set long 1000000
set serveroutput on

DECLARE
 rptlob CLOB;
BEGIN
  rptlob := dbms_addm.get_report('UW_TASK1');
  dbms_output.put_line(rptlob);
END;
/

SELECT * FROM TABLE(dbms_xplan.display_cursor('1tkztbrcvfcdw'));
 
INSERT_FINDING_DIRECTIVE
Insert a directive filtering a finding, either for a task or system wide dbms_addm.insert_finding_directive(
task_name           IN VARCHAR2,
dir_name            IN VARCHAR2,
finding_name        IN VARCHAR2,
min_active_sessions IN NUMBER := 0,
min_perc_impact     IN NUMBER := 0);
TBD
 
INSERT_PARAMETER_DIRECTIVE
Insert a directive filtering a recommendations to change a system parameter dbms_addm.insert_parameter_directive(
task_name      IN VARCHAR2,
dir_name       IN VARCHAR2,
parameter_name IN VARCHAR2);
TBD
 
INSERT_SEGMENT_DIRECTIVE
Insert a directive filtering recommendations to run the segment advisor

Overload 1
dbms_addm.insert_segment_directive(
task_name       IN VARCHAR2,
dir_name        IN VARCHAR2,
owner_name      IN VARCHAR2,
object_name     IN VARCHAR2 := NULL,
sub_object_name IN VARCHAR2 := NULL);
TBD
Overload 2 dbms_addm.insert_segment_directive(
task_name     IN VARCHAR2,
dir_name      IN VARCHAR2,
object_number IN NUMBER);
TBD
 
INSERT_SQL_DIRECTIVE
Insert a directive filtering SQL recommendations, either for a task or system wide dbms_addm.inset_sql_directive(
task_name           IN VARCHAR2,
dir_name            IN VARCHAR2,
sql_id              IN VARCHAR2,
min_active_sessions IN NUMBER := 0,
min_response_time   IN NUMBER := 0);
TBD
 
REAL_TIME_ADDM_REPORT
Returns a real-time ADDM report for the previous 5 minutes

Formatting at right produced manually to aid viewing the report's data
dbms_addm.real_time_addm_report RETURN CLOB;
spool c:\temp\realtime_addm.html

SELECT dbms_addm.real_time_addm_report
FROM dual;

REAL_TIME_ADDM_REPORT
--------------------------------------------------------------------------------
<report db_version="18.0.0.0.0" cpu_cores="2" hyperthread="Y" con_id="1" con_name="CDB$ROOT" timezone_offset="-21600" packs="2">
  <report_id><![CDATA[/orarep/rtaddm/main]]>
  </report_id>
  <sql_data>
    <report_metadata instance_number="0" date_format="HH24:MI:SS MM/DD/YYYY" start_time="13:29:00 12/29/2018" report_time="13:34:05 12/29/2018"/>
    <system_config>
      <database dbid="1262297360" name="ORABASE1" log_mode="ARCHIVELOG" open_mode="READ WRITE" role="PRIMARY" force_log="YES" platform="Microsoft Windows x86 64-bit" flashback_on="NO" unique_name="orabase18" version="18.0.0.0.0"/>
      <instances>
        <instance number="1" name="orabase18" host="PERRITO5" version="18.0.0.0.0" startup_time="08:38:59 12/23/2018" status="OPEN" logins="ALLOWED" shutdown_pending="NO" role="PRIMARY_INSTANCE" active="NORMAL"/>
      </instances>
    </system_config>
    <hangs>
      <sessions/>
      <blockers/>
      <hang_info/>
    </hangs>
    <metrics>
      <metric_names>
        <map name="User Transaction Per Sec" unit="Transactions Per Second" id="1"/>
        <map name="Logons Per Sec" unit="Logons Per Second" id="2"/>
        <map name="User Commits Per Sec" unit="Commits Per Second" id="3"/>
        <map name="User Rollbacks PerSec" unit="Rollbacks Per Second" id="4"/>
        <map name="Network Traffic Volume Per Sec" unit="Bytes Per Second" id="5"/>
        <map name="CPU Usage Per Sec" unit="CentiSeconds Per Second" id="6"/>
        <map name="Physical Read Total Bytes Per Sec" unit="Bytes Per Second" id="7"/>
        <map name="GC CR Block Received Per Second" unit="Blocks Per Second" id="8"/>
        <map name="GC Current Block Received Per Second" unit="Blocks Per Second" id="9"/>
        <map name="Global Cache Average CR Get Time" unit="CentiSeconds Per Get" id="10"/>
        <map name="Global Cache Average Current Get Time" unit="CentiSeconds Per Get" id="11"/>
        <map name="Global Cache Blocks Lost" unit="Blocks" id="12"/>
        <map name="Current Logons Count" unit="Logons" id="13"/>
        <map name="Current Open Cursors Count" unit="Cursors" id="14"/>
        <map name="Process Limit %" unit="% Processes/Limit" id="15"/>
        <map name="Session Limit %" unit="% Sessions/Limit" id="16"/>
        <map name="Executions Per Sec" unit="Executes Per Second" id="17"/>
        <map name="Database Time Per Sec" unit="CentiSeconds Per Second" id="18"/>
        <map name="Physical Write Total Bytes Per Sec" unit="Bytes Per Second" id="19"/>
        <map name="Host CPU Utilization (%)" unit="% Busy/(Idle+Busy)" id="20"/>
        <map name="Current OS Load" unit="Number Of Processes" id="21"/>
        <map name="Average SynchronousSingle-Block Read Latency" unit="Milliseconds" id="22"/>
        <map name="Background CPU Usage Per Sec" unit="CentiSeconds Per Second" id="23"/>
        <map name="Total PGA Allocated" unit="bytes" id="24"/>
        <map name="Run Queue Per Sec" unit="Processes" id="25"/>
        <map name="VM in bytes Per Sec" unit="bytes per sec" id="26"/>
        <map name="VM out bytes Per Sec" unit="bytes per sec" id="27"/>
      </metric_names>
      <data>
        <m i="1" v=".003" ma=".017" mi="0" id="1"/>
        <m i="1" v=".053" ma=".067" mi=".05" id="2"/>
        <m i="1" v=".003" ma=".017" mi="0" id="3"/>
        <m i="1" v="0" ma="0" mi="0" id="4"/>
        <m i="1" v="35.77" ma="111.533" mi="0" id="5"/>
        <m i="1" v=".25" ma=".807" mi="0" id="6"/>
        <m i="1" v="136916.69" ma="137949.867" mi="135219.2" id="7"/>
        <m i="1" v="0" ma="0" mi="0" id="8"/>
        <m i="1" v="0" ma="0" mi="0" id="9"/>
        <m i="1" v="0" ma="0" mi="0" id="10"/>
        <m i="1" v="0" ma="0" mi="0" id="11"/>
        <m i="1" v="0" ma="0" mi="0" id="12"/>
        <m i="1" v="52" ma="52" mi="52" id="13"/>
        <m i="1" v="152" ma="152" mi="152" id="14"/>
        <m i="1" v="19.688" ma="19.688" mi="19.688" id="15"/>
        <m i="1" v="15.278" ma="15.278" mi="15.278" id="16"/>
        <m i="1" v="1.5" ma="2.816" mi=".483" id="17"/>
        <m i="1" v=".258" ma=".848" mi="0" id="18"/>
        <m i="1" v="64191.959" ma="235876.574" mi="17996.8" id="19"/>
        <m i="1" v="12.38" ma="14.024" mi="10.158" id="20"/>
        <m i="1" v="0" ma="0" mi="0" id="21"/>
        <m i="1" v=".137" ma=".181" mi=".106" id="22"/>
        <m i="1" v=".182" ma=".391" mi=".026" id="23"/>
        <m i="1" v="616312627.2" ma="616496128" mi="615578624" id="24"/>
        <m i="1" v="0" ma="0" mi="0" id="25"/>
        <m i="1" v="0" ma="0" mi="0" id="26"/>
        <m i="1" v="0" ma="0" mi="0" id="27"/>
      </data>
    </metrics>
    <ash_data sampling_ratio="1" avg_active_sessions=".0026" secs="305">
    <op/>
    <sid>
      <m v="1_138_25879" i="1"/><m v="1_13_40619" i="2"/>
      <m v="1_150_42740" i="3"/><m v="1_1_54911" i="4"/>
      <m v="1_262_7170" i="5"/>
      <m v="1_4_2388" i="6"/><m v="1_8_30958" i="7"/>
      <m v="__" i="8"/>
    </sid>
    <evt>
      <m c="Other" e="oracle thread bootstrap" i="2"/>
      <m c="System I/O" e="log file parallel write" i="3"/>
      <m c="System I/O" e="control file sequential read" i="4"/>
      <m c="CPU" e="CPU" i="1"/>
    </evt>
    <service>
      <m h="165959219" n="SYS$BACKGROUND" i="1"/>
    </service><program>
      <m v="ORACLE.EXE (TT00)" i="2"/>
        <m v="ORACLE.EXE (MZ00)" i="3"/>
        <m v="ORACLE.EXE (AQPC)" i="4"/>
        <m v="ORACLE.EXE (MMON)" i="5"/>
        <m v="ORACLE.EXE (LGWR)" i="6"/>
        <m v="ORACLE.EXE (CJQ0)" i="7"/>
        <m v="ORACLE.EXE (PSP0)" i="1"/>
      </program>
      <module>
        <m v="MMON_SLAVE" i="2"/>
        <m v="__" i="1"/>
      </module>
      <action>
        <m v="DDE asyncaction" i="2"/><m v="__" i="1"/>
      </action>
      <sql>
        <m f="0" o="0" s="null" i="1"/>
      </sql>
      <data>
        <a>281,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>268,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>251,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>238,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>215,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>189,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>176,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>159,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>146,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>129,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>99,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>86,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>67,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>55,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>38,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>25,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>8,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>298,1,0,8,8,1,12,7,1,1,1,1,0</a>
        <a>167,2,0,8,8,1,3,4,1,1,1,2,0</a>
        <a>227,2,0,8,8,1,3,4,1,1,1,1,0</a>
        <a>47,3,0,8,8,1,1,3,1,2,2,4,0</a>
        <a>274,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>257,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>240,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>223,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>206,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>189,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>172,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>155,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>139,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>122,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>121,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>105,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>88,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>71,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>54,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>37,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>20,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>3,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>291,4,0,8,8,1,1,1,1,1,1,1,0</a>
        <a>227,5,0,8,8,1,19,2,1,1,1,4,0</a>
        <a>167,5,0,8,8,1,19,2,1,1,1,1,0</a>
        <a>300,6,0,8,8,1,2,6,1,1,1,3,0</a>
        <a>240,6,0,8,8,1,2,6,1,1,1,1,0</a>
        <a>120,6,0,8,8,1,2,6,1,1,1,1,0</a>
        <a>59,6,0,8,8,1,2,6,1,1,1,1,0</a>
        <a>107,7,0,8,8,1,25,5,1,1,1,2,0</a>
      </data>
    </ash_data>
    <osstat_pit>
      <stat i="1" name="NUM_CPUS" v="4"/>
      <stat i="1" name="NUM_CPU_CORES" v="2"/>
      <stat i="1" name="PHYSICAL_MEMORY_BYTES" v="17028427776"/>
    </osstat_pit>
    <memory>
        <mem i="1" n="pga" v="632880128"/>
        <mem i="1"n="shared_io_pool" v="167772160"/>
        <mem i="1" n="shared pool" v="561620936"/>
        <mem i="1" n="java pool" v="16777216"/>
        <mem i="1" n="log_buffer" v="7741440"/>
        <mem i="1" n="buffer_cache" v="2332033024"/>
        <mem i="1" n="SP free" v="42358840"/>
        <mem i="1" n="large pool" v="33554432"/>
        <mem i="1" n="fixed_sga" v="9032800"/></memory>
    <resize_ops/>
    <parameters>
      <p n="active_instance_count" i="1"/>
      <p n="event" i="1"/>
      <p n="max_dispatchers" i="1"/>
      <p n="timed_os_statistics" i="0">0</p>
      <p n="shared_pool_size" i="0">0</p>
      <p n="db_2k_cache_size" i="0">0</p>
      <p n="db_8k_cache_size" i="0">0</p>
      <p n="db_32k_cache_size" i="0">0</p>
      <p n="db_keep_cache_size" i="0">16777216</p>
      <p n="timed_statistics" i="0">TRUE</p>
      <p n="large_pool_size" i="0">0</p>
      <p n="db_file_multiblock_read_count" i="0">128</p>
      <p n="statistics_level" i="0">TYPICAL</p>
      <p n="sessions" i="0">504</p>
      <p n="db_block_buffers" i="0">0</p>
      <p n="db_block_size" i="0">8192</p>
      <p n="compatible" i="0">18.0.0</p>
      <p n="sga_max_size" i="0">3170893824</p>
      <p n="gcs_server_processes" i="0">0</p>
      <p n="db_cache_size" i="0">0</p>
      <p n="cluster_database_instances" i="0">1</p>
      <p n="db_block_checking" i="0">FALSE</p>
      <p n="cursor_sharing" i="0">EXACT</p>
      <p n="processes" i="0">320</p>
      <p n="memory_target" i="0">0</p>
      <p n="memory_max_target" i="0">0</p>
      <p n="log_buffer" i="0">7405568</p>
      <p n="cpu_count" i="0">4</p>
      <p n="java_pool_size" i="0">0</p>
      <p n="db_recycle_cache_size" i="0">16777216</p>
      <p n="open_cursors" i="0">300</p>
      <p n="pga_aggregate_target" i="0">1054867456</p>
      <p n="sga_target" i="0">3170893824</p>
      <p n="db_block_checksum" i="0">TYPICAL</p>
      <p n="db_4k_cache_size" i="0">0</p>
      <p n="undo_management" i="0">AUTO</p>
      <p n="dispatchers" i="0">(PROTOCOL=TCP) (SERVICE=orabase18XDB)</p>
      <p n="streams_pool_size" i="0">0</p>
      <p n="db_16k_cache_size" i="0">0</p>
      <p n="db_writer_processes" i="0">1</p>
      <p n="cluster_database" i="0">FALSE</p>
    </parameters>
  </sql_data>
</report>

SQL> SPOOL OFF

-- open the report in a text editor

Related Topics
Built-in Functions
Built-in Packages
DBMS_ADVISOR
DBMS_SQLTUNE
DBMS_WORKLOAD_REPLAY
DBMS_XPLAN
What's New In 18c
What's New In 19c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2019 Daniel A. Morgan All Rights Reserved
  DBSecWorx