6640 lines
301 KiB
MySQL
6640 lines
301 KiB
MySQL
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | Jeffrey M. Hunter |
|
||
|
|
-- | jhunter@idevelopment.info |
|
||
|
|
-- | www.idevelopment.info |
|
||
|
|
-- |----------------------------------------------------------------------------|
|
||
|
|
-- | Copyright (c) 1998-2012 Jeffrey M. Hunter. All rights reserved. |
|
||
|
|
-- |----------------------------------------------------------------------------|
|
||
|
|
-- | DATABASE : Oracle |
|
||
|
|
-- | FILE : dba_snapshot_database_10g.sql |
|
||
|
|
-- | CLASS : Database Administration |
|
||
|
|
-- | PURPOSE : This SQL script provides a detailed report (in HTML format) on |
|
||
|
|
-- | all database metrics including installed options, storage, |
|
||
|
|
-- | performance data, and security. |
|
||
|
|
-- | VERSION : This script was designed for Oracle Database 10g Release 2. |
|
||
|
|
-- | Although this script will also work with Oracle Database 10g |
|
||
|
|
-- | Release 1, several sections will error out from missing tables |
|
||
|
|
-- | or columns. |
|
||
|
|
-- | USAGE : |
|
||
|
|
-- | |
|
||
|
|
-- | sqlplus -s <dba>/<password>@<TNS string> @dba_snapshot_database_10g.sql |
|
||
|
|
-- | |
|
||
|
|
-- | TESTING : This script has been successfully tested on the following |
|
||
|
|
-- | platforms: |
|
||
|
|
-- | |
|
||
|
|
-- | Linux : Oracle Database 10.2.0.3.0 |
|
||
|
|
-- | Linux : Oracle RAC 10.2.0.3.0 |
|
||
|
|
-- | Solaris : Oracle Database 10.2.0.2.0 |
|
||
|
|
-- | Solaris : Oracle Database 10.2.0.3.0 |
|
||
|
|
-- | Windows XP : Oracle Database 10.2.0.3.0 |
|
||
|
|
-- | |
|
||
|
|
-- | NOTE : As with any code, ensure to test this script in a development |
|
||
|
|
-- | environment before attempting to run it in production. |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt +-----------------------------------------------------------------------------------------+
|
||
|
|
prompt | Snapshot Database 10g Release 2 |
|
||
|
|
prompt |-----------------------------------------------------------------------------------------+
|
||
|
|
prompt | Copyright (c) 1998-2012 Jeffrey M. Hunter. All rights reserved. (www.idevelopment.info) |
|
||
|
|
prompt +-----------------------------------------------------------------------------------------+
|
||
|
|
prompt
|
||
|
|
prompt Creating database report.
|
||
|
|
prompt This script must be run as a user with SYSDBA privileges.
|
||
|
|
prompt This process can take several minutes to complete.
|
||
|
|
prompt
|
||
|
|
|
||
|
|
define reportHeader="<font size=+3 color=darkgreen><b>Snapshot Database 10<i>g</i> Release 2</b></font><hr>Copyright (c) 1998-2012 Jeffrey M. Hunter. All rights reserved. (<a target=""_blank"" href=""http://www.idevelopment.info"">www.idevelopment.info</a>)<p>"
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | SCRIPT SETTINGS |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
set termout off
|
||
|
|
set echo off
|
||
|
|
set feedback off
|
||
|
|
set heading off
|
||
|
|
set verify off
|
||
|
|
set wrap on
|
||
|
|
set trimspool on
|
||
|
|
set serveroutput on
|
||
|
|
set escape on
|
||
|
|
|
||
|
|
set pagesize 50000
|
||
|
|
set linesize 175
|
||
|
|
set long 2000000000
|
||
|
|
|
||
|
|
clear buffer computes columns breaks
|
||
|
|
|
||
|
|
define fileName=dba_snapshot_database_10g
|
||
|
|
define versionNumber=5.3
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | GATHER DATABASE REPORT INFORMATION |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
COLUMN tdate NEW_VALUE _date NOPRINT
|
||
|
|
SELECT TO_CHAR(SYSDATE,'MM/DD/YYYY') tdate FROM dual;
|
||
|
|
|
||
|
|
COLUMN time NEW_VALUE _time NOPRINT
|
||
|
|
SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') time FROM dual;
|
||
|
|
|
||
|
|
COLUMN date_time NEW_VALUE _date_time NOPRINT
|
||
|
|
SELECT TO_CHAR(SYSDATE,'MM/DD/YYYY HH24:MI:SS') date_time FROM dual;
|
||
|
|
|
||
|
|
COLUMN date_time_timezone NEW_VALUE _date_time_timezone NOPRINT
|
||
|
|
SELECT TO_CHAR(systimestamp, 'Mon DD, YYYY (') || TRIM(TO_CHAR(systimestamp, 'Day')) || TO_CHAR(systimestamp, ') "at" HH:MI:SS AM') || TO_CHAR(systimestamp, ' "in Timezone" TZR') date_time_timezone
|
||
|
|
FROM dual;
|
||
|
|
|
||
|
|
COLUMN spool_time NEW_VALUE _spool_time NOPRINT
|
||
|
|
SELECT TO_CHAR(SYSDATE,'YYYYMMDD') spool_time FROM dual;
|
||
|
|
|
||
|
|
COLUMN dbname NEW_VALUE _dbname NOPRINT
|
||
|
|
SELECT name dbname FROM v$database;
|
||
|
|
|
||
|
|
COLUMN dbid NEW_VALUE _dbid NOPRINT
|
||
|
|
SELECT dbid dbid FROM v$database;
|
||
|
|
|
||
|
|
COLUMN platform_id NEW_VALUE _platform_id NOPRINT
|
||
|
|
SELECT platform_id platform_id FROM v$database;
|
||
|
|
|
||
|
|
COLUMN platform_name NEW_VALUE _platform_name NOPRINT
|
||
|
|
SELECT platform_name platform_name FROM v$database;
|
||
|
|
|
||
|
|
COLUMN global_name NEW_VALUE _global_name NOPRINT
|
||
|
|
SELECT global_name global_name FROM global_name;
|
||
|
|
|
||
|
|
COLUMN blocksize NEW_VALUE _blocksize NOPRINT
|
||
|
|
SELECT value blocksize FROM v$parameter WHERE name='db_block_size';
|
||
|
|
|
||
|
|
COLUMN startup_time NEW_VALUE _startup_time NOPRINT
|
||
|
|
SELECT TO_CHAR(startup_time, 'MM/DD/YYYY HH24:MI:SS') startup_time FROM v$instance;
|
||
|
|
|
||
|
|
COLUMN host_name NEW_VALUE _host_name NOPRINT
|
||
|
|
SELECT host_name host_name FROM v$instance;
|
||
|
|
|
||
|
|
COLUMN instance_name NEW_VALUE _instance_name NOPRINT
|
||
|
|
SELECT instance_name instance_name FROM v$instance;
|
||
|
|
|
||
|
|
COLUMN instance_number NEW_VALUE _instance_number NOPRINT
|
||
|
|
SELECT instance_number instance_number FROM v$instance;
|
||
|
|
|
||
|
|
COLUMN thread_number NEW_VALUE _thread_number NOPRINT
|
||
|
|
SELECT thread# thread_number FROM v$instance;
|
||
|
|
|
||
|
|
COLUMN cluster_database NEW_VALUE _cluster_database NOPRINT
|
||
|
|
SELECT value cluster_database FROM v$parameter WHERE name='cluster_database';
|
||
|
|
|
||
|
|
COLUMN cluster_database_instances NEW_VALUE _cluster_database_instances NOPRINT
|
||
|
|
SELECT value cluster_database_instances FROM v$parameter WHERE name='cluster_database_instances';
|
||
|
|
|
||
|
|
COLUMN reportRunUser NEW_VALUE _reportRunUser NOPRINT
|
||
|
|
SELECT user reportRunUser FROM dual;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | GATHER DATABASE REPORT INFORMATION |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
set heading on
|
||
|
|
|
||
|
|
set markup html on spool on preformat off entmap on -
|
||
|
|
head ' -
|
||
|
|
<title>Database Report</title> -
|
||
|
|
<style type="text/css"> -
|
||
|
|
body {font:9pt Arial,Helvetica,sans-serif; color:black; background:White;} -
|
||
|
|
p {font:9pt Arial,Helvetica,sans-serif; color:black; background:White;} -
|
||
|
|
table,tr,td {font:9pt Arial,Helvetica,sans-serif; color:Black; background:#C0C0C0; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} -
|
||
|
|
th {font:bold 9pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;} -
|
||
|
|
h1 {font:bold 12pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} -
|
||
|
|
h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;} -
|
||
|
|
a {font:9pt Arial,Helvetica,sans-serif; color:#663300; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.link {font:9pt Arial,Helvetica,sans-serif; color:#663300; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.noLink {font:9pt Arial,Helvetica,sans-serif; color:#663300; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.noLinkBlue {font:9pt Arial,Helvetica,sans-serif; color:#0000ff; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.noLinkDarkBlue {font:9pt Arial,Helvetica,sans-serif; color:#000099; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.noLinkRed {font:9pt Arial,Helvetica,sans-serif; color:#ff0000; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.noLinkDarkRed {font:9pt Arial,Helvetica,sans-serif; color:#990000; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.noLinkGreen {font:9pt Arial,Helvetica,sans-serif; color:#00ff00; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
a.noLinkDarkGreen {font:9pt Arial,Helvetica,sans-serif; color:#009900; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
|
||
|
|
</style>' -
|
||
|
|
body 'BGCOLOR="#C0C0C0"' -
|
||
|
|
table 'WIDTH="90%" BORDER="1"'
|
||
|
|
|
||
|
|
spool &FileName._&_dbname._&_spool_time..html
|
||
|
|
|
||
|
|
set markup html on entmap off
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - REPORT HEADER - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name=top></a>
|
||
|
|
prompt &reportHeader
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - REPORT INDEX - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="report_index"></a>
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Report Index</b></font><hr align="center" width="250"></center> -
|
||
|
|
<table width="90%" border="1"> -
|
||
|
|
<tr><th colspan="4">Database and Instance Information</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#report_header">Report Header</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#version">Version</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#options">Options</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#database_registry">Database Registry</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#feature_usage_statistics">Feature Usage Statistics</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#high_water_mark_statistics">High Water Mark Statistics</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#instance_overview">Instance Overview</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#database_overview">Database Overview</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#initialization_parameters">Initialization Parameters</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#control_files">Control Files</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#control_file_records">Control File Records</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#online_redo_logs">Online Redo Logs</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#redo_log_switches">Redo Log Switches</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#outstanding_alerts">Outstanding Alerts</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#statistics_level">Statistics Level</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><br></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Scheduler / Jobs</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#jobs">Jobs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><br></td> -
|
||
|
|
<td nowrap align="center" width="25%"><br></td> -
|
||
|
|
<td nowrap align="center" width="25%"><br></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr><th colspan="4">Storage</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#tablespaces">Tablespaces</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#data_files">Data Files</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#database_growth">Database Growth</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#tablespace_extents">Tablespace Extents</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#tablespace_to_owner">Tablespace to Owner</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#owner_to_tablespace">Owner to Tablespace</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><br></td> -
|
||
|
|
<td nowrap align="center" width="25%"><br></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">UNDO Segments</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#undo_segments">UNDO Segments</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#undo_segment_contention">UNDO Segment Contention</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#undo_retention_parameters">UNDO Retention Parameters</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><br></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Backups</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#rman_backup_jobs">RMAN Backup Jobs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#rman_configuration">RMAN Configuration</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#rman_backup_sets">RMAN Backup Sets</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#rman_backup_pieces">RMAN Backup Pieces</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#rman_backup_control_files">RMAN Backup Control Files</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#rman_backup_spfile">RMAN Backup SPFILE</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#archiving_mode">Archiving Mode</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#archive_destinations">Archive Destinations</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#archiving_instance_parameters">Archiving Instance Parameters</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#archiving_history">Archiving History</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#flash_recovery_area_parameters">Flash Recovery Area Parameters</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#flash_recovery_area_status">Flash Recovery Area Status</a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Flashback Technologies</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#undo_retention_parameters">UNDO Retention Parameters</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#flashback_database_parameters">Flashback Database Parameters</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#flashback_database_status">Flashback Database Status</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#flashback_database_redo_time_matrix">Flashback Database Redo Time Matrix</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_recycle_bin">Recycle Bin</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Performance</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#sga_information">SGA Information</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#sga_target_advice">SGA Target Advice</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#sga_asmm_dynamic_components">SGA (ASMM) Dynamic Components</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#pga_target_advice">PGA Target Advice</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#file_io_statistics">File I/O Statistics</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#file_io_timings">File I/O Timings</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#average_overall_io_per_sec">Average Overall I/O per Second</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#redo_log_contention">Redo Log Contention</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#full_table_scans">Full Table Scans</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#sorts">Sorts</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_outlines">Outlines</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_outline_hints">Outline Hints</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#sql_statements_with_most_buffer_gets">SQL Statements With Most Buffer Gets</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#sql_statements_with_most_disk_reads">SQL Statements With Most Disk Reads</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_enabled_traces">Enabled Traces</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_enabled_aggregations">Enabled Aggregations</a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Automatic Workload Repository - (AWR)</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#awr_workload_repository_information">Workload Repository Information</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#awr_snapshot_settings">AWR Snapshot Settings</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#awr_snapshot_list">AWR Snapshot List</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#awr_snapshot_size_estimates">AWR Snapshot Size Estimates</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#awr_baselines">AWR Baselines</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr><th colspan="4">Sessions</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#current_sessions">Current Sessions</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#user_session_matrix">User Session Matrix</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_enabled_traces">Enabled Traces</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_enabled_aggregations">Enabled Aggregations</a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Security</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#user_accounts">User Accounts</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#users_with_dba_privileges">Users With DBA Privileges</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#roles">Roles</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#default_passwords">Default Passwords</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#db_links">DB Links</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Objects</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#object_summary">Object Summary</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#segment_summary">Segment Summary</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#top_100_segments_by_size">Top 100 Segments (by size)</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#top_100_segments_by_extents">Top 100 Segments (by number of extents)</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_directories">Directories</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_directory_privileges">Directory Privileges</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_libraries">Libraries</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_types">Types</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_type_attributes">Type Attributes</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_type_methods">Type Methods</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_collections">Collections</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_lob_segments">LOB Segments</a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#objects_unable_to_extend">Objects Unable to Extend</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#objects_which_are_nearing_maxextents">Objects Which Are Nearing MAXEXTENTS</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#invalid_objects">Invalid Objects</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#procedural_object_errors">Procedural Object Errors</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#objects_without_statistics">Objects Without Statistics</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#tables_suffering_from_row_chaining_migration">Tables Suffering From Row Chaining/Migration</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#users_with_default_tablespace_defined_as_system">Users With Default Tablespace - (SYSTEM)</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#users_with_default_temporary_tablespace_as_system">Users With Default Temp Tablespace - (SYSTEM)</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#objects_in_the_system_tablespace">Objects in the SYSTEM Tablespace</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_recycle_bin">Recycle Bin</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Online Analytical Processing - (OLAP)</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_dimensions">Dimensions</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_dimension_levels">Dimension Levels</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_dimension_attributes">Dimension Attributes</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_dimension_hierarchies">Dimension Hierarchies</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_cubes">Cubes</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_olap_materialized_views">Materialized Views</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_olap_materialized_view_logs">Materialized View Logs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#dba_olap_materialized_view_refresh_groups">Materialized View Refresh Groups</a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Data Pump</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#data_pump_jobs">Data Pump Jobs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#data_pump_sessions">Data Pump Sessions</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#data_pump_job_progress">Data Pump Job Progress</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Networking</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#mts_dispatcher_statistics">MTS Dispatcher Statistics</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#mts_dispatcher_response_queue_wait_stats">MTS Dispatcher Response Queue Wait Stats</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#mts_shared_server_wait_statistics">MTS Shared Server Wait Statistics</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#"><br></a></td> -
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
|
||
|
|
prompt -
|
||
|
|
<tr><th colspan="4">Replication</th></tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#replication_summary">Replication Summary</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#deferred_transactions">Deferred Transactions</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#administrative_request_jobs">Administrative Request Jobs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#rep_initialization_parameters">Initialization Parameters</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#schedule_purge_jobs">(Schedule) - Purge Jobs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#schedule_push_jobs">(Schedule) - Push Jobs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#schedule_refresh_jobs">(Schedule) - Refresh Jobs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#multimaster_master_groups">(Multi-Master) - Master Groups</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#multimaster_master_groups_and_sites">(Multi-Master) - Master Groups and Sites</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#materialized_view_master_site_summary">(Materialized View) - Master Site Summary</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#materialized_view_master_site_logs">(Materialized View) - Master Site Logs</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#materialized_view_master_site_templates">(Materialized View) - Master Site Templates</a></td> -
|
||
|
|
</tr> -
|
||
|
|
<tr> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#materialized_view_summary">(Materialized View) - Summary</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#materialized_view_groups">(Materialized View) - Groups</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#materialized_view_materialized_views">(Materialized View) - Materialized Views</a></td> -
|
||
|
|
<td nowrap align="center" width="25%"><a class="link" href="#materialized_view_refresh_groups">(Materialized View) - Refresh Groups</a></td> -
|
||
|
|
</tr> -
|
||
|
|
</table>
|
||
|
|
|
||
|
|
prompt <p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< Database and Instance Information >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Database and Instance Information</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - REPORT HEADER - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <a name="report_header"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Report Header</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <table width="90%" border="1"> -
|
||
|
|
<tr><th align="left" width="20%">Report Name</th><td width="80%"><tt>&FileName._&_dbname._&_spool_time..html</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Snapshot Database Version</th><td width="80%"><tt>&versionNumber</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Run Date / Time / Timezone</th><td width="80%"><tt>&_date_time_timezone</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Host Name</th><td width="80%"><tt>&_host_name</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Database Name</th><td width="80%"><tt>&_dbname</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Database ID</th><td width="80%"><tt>&_dbid</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Global Database Name</th><td width="80%"><tt>&_global_name</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Platform Name / ID</th><td width="80%"><tt>&_platform_name / &_platform_id</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Clustered Database?</th><td width="80%"><tt>&_cluster_database</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Clustered Database Instances</th><td width="80%"><tt>&_cluster_database_instances</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Instance Name</th><td width="80%"><tt>&_instance_name</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Instance Number</th><td width="80%"><tt>&_instance_number</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Thread Number</th><td width="80%"><tt>&_thread_number</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Database Startup Time</th><td width="80%"><tt>&_startup_time</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Database Block Size</th><td width="80%"><tt>&_blocksize</tt></td></tr> -
|
||
|
|
<tr><th align="left" width="20%">Report Run User</th><td width="80%"><tt>&_reportRunUser</tt></td></tr> -
|
||
|
|
</table>
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- SET TIMING ON
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - VERSION - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="version"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Version</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN banner FORMAT a120 HEADING 'Banner'
|
||
|
|
|
||
|
|
SELECT * FROM v$version;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OPTIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="options"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Options</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN parameter HEADING 'Option Name' ENTMAP off
|
||
|
|
COLUMN value HEADING 'Installed?' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DECODE( value
|
||
|
|
, 'FALSE'
|
||
|
|
, '<b><font color="#336699">' || parameter || '</font></b>'
|
||
|
|
, '<b><font color="#336699">' || parameter || '</font></b>') parameter
|
||
|
|
, DECODE( value
|
||
|
|
, 'FALSE'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || value || '</b></font></div>'
|
||
|
|
, '<div align="center">' || value || '</div>' ) value
|
||
|
|
FROM v$option
|
||
|
|
ORDER BY parameter;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DATABASE REGISTRY - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="database_registry"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Database Registry</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN comp_id FORMAT a75 HEADING 'Component ID' ENTMAP off
|
||
|
|
COLUMN comp_name FORMAT a75 HEADING 'Component Name' ENTMAP off
|
||
|
|
COLUMN version HEADING 'Version' ENTMAP off
|
||
|
|
COLUMN status FORMAT a75 HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN modified FORMAT a75 HEADING 'Modified' ENTMAP off
|
||
|
|
COLUMN control HEADING 'Control' ENTMAP off
|
||
|
|
COLUMN schema HEADING 'Schema' ENTMAP off
|
||
|
|
COLUMN procedure HEADING 'Procedure' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || comp_id || '</b></font>' comp_id
|
||
|
|
, '<div nowrap>' || comp_name || '</div>' comp_name
|
||
|
|
, version
|
||
|
|
, DECODE( status
|
||
|
|
, 'VALID', '<div align="center"><b><font color="darkgreen">' || status || '</font></b></div>'
|
||
|
|
, 'INVALID', '<div align="center"><b><font color="#990000">' || status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#663300">' || status || '</font></b></div>' ) status
|
||
|
|
, '<div nowrap align="right">' || modified || '</div>' modified
|
||
|
|
, control
|
||
|
|
, schema
|
||
|
|
, procedure
|
||
|
|
FROM dba_registry
|
||
|
|
ORDER BY comp_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FEATURE USAGE STATISTICS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="feature_usage_statistics"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Feature Usage Statistics</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN feature_name FORMAT a115 HEADING 'Feature|Name'
|
||
|
|
COLUMN version FORMAT a75 HEADING 'Version'
|
||
|
|
COLUMN detected_usages FORMAT a75 HEADING 'Detected|Usages'
|
||
|
|
COLUMN total_samples FORMAT a75 HEADING 'Total|Samples'
|
||
|
|
COLUMN currently_used FORMAT a60 HEADING 'Currently|Used'
|
||
|
|
COLUMN first_usage_date FORMAT a95 HEADING 'First Usage|Date'
|
||
|
|
COLUMN last_usage_date FORMAT a95 HEADING 'Last Usage|Date'
|
||
|
|
COLUMN last_sample_date FORMAT a95 HEADING 'Last Sample|Date'
|
||
|
|
COLUMN next_sample_date FORMAT a95 HEADING 'Next Sample|Date'
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || name || '</b></font></div>' feature_name
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, version
|
||
|
|
, '<font color="#663300"><b>' || version || '</b></font>') version
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, '<div align="right">' || NVL(TO_CHAR(detected_usages), '<br>') || '</div>'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || NVL(TO_CHAR(detected_usages), '<br>') || '</b></font></div>') detected_usages
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, '<div align="right">' || NVL(TO_CHAR(total_samples), '<br>') || '</div>'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || NVL(TO_CHAR(total_samples), '<br>') || '</b></font></div>') total_samples
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, '<div align="center">' || NVL(currently_used, '<br>') || '</div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || NVL(currently_used, '<br>') || '</b></font></div>') currently_used
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, '<div align="right">' || NVL(TO_CHAR(first_usage_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || NVL(TO_CHAR(first_usage_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</b></font></div>') first_usage_date
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, '<div align="right">' || NVL(TO_CHAR(last_usage_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || NVL(TO_CHAR(last_usage_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</b></font></div>') last_usage_date
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, '<div align="right">' || NVL(TO_CHAR(last_sample_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || NVL(TO_CHAR(last_sample_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</b></font></div>') last_sample_date
|
||
|
|
, DECODE( detected_usages
|
||
|
|
, 0
|
||
|
|
, '<div align="right">' || NVL(TO_CHAR((last_sample_date+SAMPLE_INTERVAL/60/60/24), 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || NVL(TO_CHAR((last_sample_date+SAMPLE_INTERVAL/60/60/24), 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</b></font></div>') next_sample_date
|
||
|
|
FROM dba_feature_usage_statistics
|
||
|
|
ORDER BY name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - HIGH WATER MARK STATISTICS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="high_water_mark_statistics"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>High Water Mark Statistics</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN statistic_name FORMAT a115 HEADING 'Statistic Name'
|
||
|
|
COLUMN version FORMAT a62 HEADING 'Version'
|
||
|
|
COLUMN highwater FORMAT 9,999,999,999,999,999 HEADING 'Highwater'
|
||
|
|
COLUMN last_value FORMAT 9,999,999,999,999,999 HEADING 'Last Value'
|
||
|
|
COLUMN description FORMAT a120 HEADING 'Description'
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || name || '</b></font></div>' statistic_name
|
||
|
|
, '<div align="right">' || version || '</div>' version
|
||
|
|
, highwater highwater
|
||
|
|
, last_value last_value
|
||
|
|
, description description
|
||
|
|
FROM dba_high_water_mark_statistics
|
||
|
|
ORDER BY name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - INSTANCE OVERVIEW - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="instance_overview"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Instance Overview</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a75 HEADING 'Instance|Name' ENTMAP off
|
||
|
|
COLUMN instance_number_print FORMAT a75 HEADING 'Instance|Num' ENTMAP off
|
||
|
|
COLUMN thread_number_print HEADING 'Thread|Num' ENTMAP off
|
||
|
|
COLUMN host_name_print FORMAT a75 HEADING 'Host|Name' ENTMAP off
|
||
|
|
COLUMN version HEADING 'Oracle|Version' ENTMAP off
|
||
|
|
COLUMN start_time FORMAT a75 HEADING 'Start|Time' ENTMAP off
|
||
|
|
COLUMN uptime HEADING 'Uptime|(in days)' ENTMAP off
|
||
|
|
COLUMN parallel FORMAT a75 HEADING 'Parallel - (RAC)' ENTMAP off
|
||
|
|
COLUMN instance_status FORMAT a75 HEADING 'Instance|Status' ENTMAP off
|
||
|
|
COLUMN database_status FORMAT a75 HEADING 'Database|Status' ENTMAP off
|
||
|
|
COLUMN logins FORMAT a75 HEADING 'Logins' ENTMAP off
|
||
|
|
COLUMN archiver FORMAT a75 HEADING 'Archiver' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center">' || instance_number || '</div>' instance_number_print
|
||
|
|
, '<div align="center">' || thread# || '</div>' thread_number_print
|
||
|
|
, '<div align="center">' || host_name || '</div>' host_name_print
|
||
|
|
, '<div align="center">' || version || '</div>' version
|
||
|
|
, '<div align="center">' || TO_CHAR(startup_time,'mm/dd/yyyy HH24:MI:SS') || '</div>' start_time
|
||
|
|
, ROUND(TO_CHAR(SYSDATE-startup_time), 2) uptime
|
||
|
|
, '<div align="center">' || parallel || '</div>' parallel
|
||
|
|
, '<div align="center">' || status || '</div>' instance_status
|
||
|
|
, '<div align="center">' || logins || '</div>' logins
|
||
|
|
, DECODE( archiver
|
||
|
|
, 'FAILED'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || archiver || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || archiver || '</font></b></div>') archiver
|
||
|
|
FROM gv$instance
|
||
|
|
ORDER BY instance_number;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DATABASE OVERVIEW - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="database_overview"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Database Overview</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name FORMAT a75 HEADING 'Database|Name' ENTMAP off
|
||
|
|
COLUMN dbid HEADING 'Database|ID' ENTMAP off
|
||
|
|
COLUMN db_unique_name HEADING 'Database|Unique Name' ENTMAP off
|
||
|
|
COLUMN creation_date HEADING 'Creation|Date' ENTMAP off
|
||
|
|
COLUMN platform_name_print HEADING 'Platform|Name' ENTMAP off
|
||
|
|
COLUMN current_scn HEADING 'Current|SCN' ENTMAP off
|
||
|
|
COLUMN log_mode HEADING 'Log|Mode' ENTMAP off
|
||
|
|
COLUMN open_mode HEADING 'Open|Mode' ENTMAP off
|
||
|
|
COLUMN force_logging HEADING 'Force|Logging' ENTMAP off
|
||
|
|
COLUMN flashback_on HEADING 'Flashback|On?' ENTMAP off
|
||
|
|
COLUMN controlfile_type HEADING 'Controlfile|Type' ENTMAP off
|
||
|
|
COLUMN last_open_incarnation_number HEADING 'Last Open|Incarnation Num' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || name || '</b></font></div>' name
|
||
|
|
, '<div align="center">' || dbid || '</div>' dbid
|
||
|
|
, '<div align="center">' || db_unique_name || '</div>' db_unique_name
|
||
|
|
, '<div align="center">' || TO_CHAR(created, 'mm/dd/yyyy HH24:MI:SS') || '</div>' creation_date
|
||
|
|
, '<div align="center">' || platform_name || '</div>' platform_name_print
|
||
|
|
, '<div align="center">' || current_scn || '</div>' current_scn
|
||
|
|
, '<div align="center">' || log_mode || '</div>' log_mode
|
||
|
|
, '<div align="center">' || open_mode || '</div>' open_mode
|
||
|
|
, '<div align="center">' || force_logging || '</div>' force_logging
|
||
|
|
, '<div align="center">' || flashback_on || '</div>' flashback_on
|
||
|
|
, '<div align="center">' || controlfile_type || '</div>' controlfile_type
|
||
|
|
, '<div align="center">' || last_open_incarnation# || '</div>' last_open_incarnation_number
|
||
|
|
FROM v$database;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - INITIALIZATION PARAMETERS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="initialization_parameters"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Initialization Parameters</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN spfile HEADING 'SPFILE Usage'
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'This database '||
|
||
|
|
DECODE( (1-SIGN(1-SIGN(count(*) - 0)))
|
||
|
|
, 1
|
||
|
|
, '<font color="#663300"><b>IS</b></font>'
|
||
|
|
, '<font color="#990000"><b>IS NOT</b></font>') ||
|
||
|
|
' using an SPFILE.'spfile
|
||
|
|
FROM v$spparameter
|
||
|
|
WHERE value IS NOT null;
|
||
|
|
|
||
|
|
|
||
|
|
COLUMN pname FORMAT a75 HEADING 'Parameter Name' ENTMAP off
|
||
|
|
COLUMN instance_name_print FORMAT a45 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN value FORMAT a75 HEADING 'Value' ENTMAP off
|
||
|
|
COLUMN isdefault FORMAT a75 HEADING 'Is Default?' ENTMAP off
|
||
|
|
COLUMN issys_modifiable FORMAT a75 HEADING 'Is Dynamic?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON pname
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DECODE( p.isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<b><font color="#336699">' || SUBSTR(p.name,0,512) || '</font></b>'
|
||
|
|
, '<b><font color="#336699">' || SUBSTR(p.name,0,512) || '</font></b>' ) pname
|
||
|
|
, DECODE( p.isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<font color="#663300"><b>' || i.instance_name || '</b></font>'
|
||
|
|
, i.instance_name ) instance_name_print
|
||
|
|
, DECODE( p.isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<font color="#663300"><b>' || SUBSTR(p.value,0,512) || '</b></font>'
|
||
|
|
, SUBSTR(p.value,0,512) ) value
|
||
|
|
, DECODE( p.isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || p.isdefault || '</b></font></div>'
|
||
|
|
, '<div align="center">' || p.isdefault || '</div>') isdefault
|
||
|
|
, DECODE( p.isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || p.issys_modifiable || '</b></font></div>'
|
||
|
|
, '<div align="right">' || p.issys_modifiable || '</div>') issys_modifiable
|
||
|
|
FROM
|
||
|
|
gv$parameter p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
p.inst_id = i.inst_id
|
||
|
|
ORDER BY
|
||
|
|
p.name
|
||
|
|
, i.instance_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - CONTROL FILES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="control_files"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Control Files</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name HEADING 'Controlfile Name' ENTMAP off
|
||
|
|
COLUMN status FORMAT a75 HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN file_size FORMAT a75 HEADING 'File Size' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<tt>' || c.name || '</tt>' name
|
||
|
|
, DECODE( c.status
|
||
|
|
, NULL
|
||
|
|
, '<div align="center"><b><font color="darkgreen">VALID</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#663300">' || c.status || '</font></b></div>') status
|
||
|
|
, '<div align="right">' || TO_CHAR(block_size * file_size_blks, '999,999,999,999') || '</div>' file_size
|
||
|
|
FROM
|
||
|
|
v$controlfile c
|
||
|
|
ORDER BY
|
||
|
|
c.name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - CONTROL FILE RECORDS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="control_file_records"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Control File Records</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN type FORMAT a95 HEADING 'Record Section Type' ENTMAP off
|
||
|
|
COLUMN record_size FORMAT 999,999 HEADING 'Record Size|(in bytes)' ENTMAP off
|
||
|
|
COLUMN records_total FORMAT 999,999 HEADING 'Records Allocated' ENTMAP off
|
||
|
|
COLUMN bytes_alloc FORMAT 999,999,999 HEADING 'Bytes Allocated' ENTMAP off
|
||
|
|
COLUMN records_used FORMAT 999,999 HEADING 'Records Used' ENTMAP off
|
||
|
|
COLUMN bytes_used FORMAT 999,999,999 HEADING 'Bytes Used' ENTMAP off
|
||
|
|
COLUMN pct_used FORMAT B999 HEADING '% Used' ENTMAP off
|
||
|
|
COLUMN first_index HEADING 'First Index' ENTMAP off
|
||
|
|
COLUMN last_index HEADING 'Last Index' ENTMAP off
|
||
|
|
COLUMN last_recid HEADING 'Last RecID' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' of record_size records_total bytes_alloc records_used bytes_used ON report
|
||
|
|
COMPUTE avg LABEL '<font color="#990000"><b>Average: </b></font>' of pct_used ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || type || '</b></font></div>' type
|
||
|
|
, record_size record_size
|
||
|
|
, records_total records_total
|
||
|
|
, (records_total * record_size) bytes_alloc
|
||
|
|
, records_used records_used
|
||
|
|
, (records_used * record_size) bytes_used
|
||
|
|
, NVL(records_used/records_total * 100, 0) pct_used
|
||
|
|
, first_index first_index
|
||
|
|
, last_index last_index
|
||
|
|
, last_recid last_recid
|
||
|
|
FROM v$controlfile_record_section
|
||
|
|
ORDER BY type;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ONLINE REDO LOGS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="online_redo_logs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Online Redo Logs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a95 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN thread_number_print FORMAT a95 HEADING 'Thread Number' ENTMAP off
|
||
|
|
COLUMN groupno HEADING 'Group Number' ENTMAP off
|
||
|
|
COLUMN member HEADING 'Member' ENTMAP off
|
||
|
|
COLUMN redo_file_type FORMAT a75 HEADING 'Redo Type' ENTMAP off
|
||
|
|
COLUMN log_status FORMAT a75 HEADING 'Log Status' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999 HEADING 'Bytes' ENTMAP off
|
||
|
|
COLUMN archived FORMAT a75 HEADING 'Archived?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print ON thread_number_print
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center">' || i.thread# || '</div>' thread_number_print
|
||
|
|
, f.group# groupno
|
||
|
|
, '<tt>' || f.member || '</tt>' member
|
||
|
|
, f.type redo_file_type
|
||
|
|
, DECODE( l.status
|
||
|
|
, 'CURRENT'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || l.status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || l.status || '</font></b></div>') log_status
|
||
|
|
, l.bytes bytes
|
||
|
|
, '<div align="center">' || l.archived || '</div>' archived
|
||
|
|
FROM
|
||
|
|
gv$logfile f
|
||
|
|
, gv$log l
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
f.group# = l.group#
|
||
|
|
AND l.thread# = i.thread#
|
||
|
|
AND i.inst_id = f.inst_id
|
||
|
|
AND f.inst_id = l.inst_id
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, f.group#
|
||
|
|
, f.member;
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - REDO LOG SWITCHES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="redo_log_switches"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Redo Log Switches</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN DAY FORMAT a75 HEADING 'Day / Time' ENTMAP off
|
||
|
|
COLUMN H00 FORMAT 999,999B HEADING '00' ENTMAP off
|
||
|
|
COLUMN H01 FORMAT 999,999B HEADING '01' ENTMAP off
|
||
|
|
COLUMN H02 FORMAT 999,999B HEADING '02' ENTMAP off
|
||
|
|
COLUMN H03 FORMAT 999,999B HEADING '03' ENTMAP off
|
||
|
|
COLUMN H04 FORMAT 999,999B HEADING '04' ENTMAP off
|
||
|
|
COLUMN H05 FORMAT 999,999B HEADING '05' ENTMAP off
|
||
|
|
COLUMN H06 FORMAT 999,999B HEADING '06' ENTMAP off
|
||
|
|
COLUMN H07 FORMAT 999,999B HEADING '07' ENTMAP off
|
||
|
|
COLUMN H08 FORMAT 999,999B HEADING '08' ENTMAP off
|
||
|
|
COLUMN H09 FORMAT 999,999B HEADING '09' ENTMAP off
|
||
|
|
COLUMN H10 FORMAT 999,999B HEADING '10' ENTMAP off
|
||
|
|
COLUMN H11 FORMAT 999,999B HEADING '11' ENTMAP off
|
||
|
|
COLUMN H12 FORMAT 999,999B HEADING '12' ENTMAP off
|
||
|
|
COLUMN H13 FORMAT 999,999B HEADING '13' ENTMAP off
|
||
|
|
COLUMN H14 FORMAT 999,999B HEADING '14' ENTMAP off
|
||
|
|
COLUMN H15 FORMAT 999,999B HEADING '15' ENTMAP off
|
||
|
|
COLUMN H16 FORMAT 999,999B HEADING '16' ENTMAP off
|
||
|
|
COLUMN H17 FORMAT 999,999B HEADING '17' ENTMAP off
|
||
|
|
COLUMN H18 FORMAT 999,999B HEADING '18' ENTMAP off
|
||
|
|
COLUMN H19 FORMAT 999,999B HEADING '19' ENTMAP off
|
||
|
|
COLUMN H20 FORMAT 999,999B HEADING '20' ENTMAP off
|
||
|
|
COLUMN H21 FORMAT 999,999B HEADING '21' ENTMAP off
|
||
|
|
COLUMN H22 FORMAT 999,999B HEADING '22' ENTMAP off
|
||
|
|
COLUMN H23 FORMAT 999,999B HEADING '23' ENTMAP off
|
||
|
|
COLUMN TOTAL FORMAT 999,999,999 HEADING 'Total' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total:</b></font>' avg label '<font color="#990000"><b>Average:</b></font>' OF total ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5) || '</b></font></div>' DAY
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'00',1,0)) H00
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'01',1,0)) H01
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'02',1,0)) H02
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'03',1,0)) H03
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'04',1,0)) H04
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'05',1,0)) H05
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'06',1,0)) H06
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'07',1,0)) H07
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'08',1,0)) H08
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'09',1,0)) H09
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'10',1,0)) H10
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'11',1,0)) H11
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'12',1,0)) H12
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'13',1,0)) H13
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'14',1,0)) H14
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'15',1,0)) H15
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'16',1,0)) H16
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'17',1,0)) H17
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'18',1,0)) H18
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'19',1,0)) H19
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'20',1,0)) H20
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'21',1,0)) H21
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'22',1,0)) H22
|
||
|
|
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'23',1,0)) H23
|
||
|
|
, COUNT(*) TOTAL
|
||
|
|
FROM
|
||
|
|
v$log_history a
|
||
|
|
GROUP BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5)
|
||
|
|
ORDER BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5)
|
||
|
|
/
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OUTSTANDING ALERTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="outstanding_alerts"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Outstanding Alerts</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN severity FORMAT a75 HEADING 'Severity' ENTMAP off
|
||
|
|
COLUMN target_name FORMAT a75 HEADING 'Target Name' ENTMAP off
|
||
|
|
COLUMN target_type FORMAT a75 HEADING 'Target Type' ENTMAP off
|
||
|
|
COLUMN category FORMAT a75 HEADING 'Category' ENTMAP off
|
||
|
|
COLUMN name FORMAT a75 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN message FORMAT a125 HEADING 'Message' ENTMAP off
|
||
|
|
COLUMN alert_triggered FORMAT a75 HEADING 'Alert Triggered' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DECODE( alert_state
|
||
|
|
, 'Critical'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || alert_state || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#336699">' || alert_state || '</font></b></div>') severity
|
||
|
|
, target_name target_name
|
||
|
|
, (CASE target_type
|
||
|
|
WHEN 'oracle_listener' THEN 'Oracle Listener'
|
||
|
|
WHEN 'rac_database' THEN 'Cluster Database'
|
||
|
|
WHEN 'cluster' THEN 'Clusterware'
|
||
|
|
WHEN 'host' THEN 'Host'
|
||
|
|
WHEN 'osm_instance' THEN 'OSM Instance'
|
||
|
|
WHEN 'oracle_database' THEN 'Database Instance'
|
||
|
|
WHEN 'oracle_emd' THEN 'Oracle EMD'
|
||
|
|
WHEN 'oracle_emrep' THEN 'Oracle EMREP'
|
||
|
|
ELSE
|
||
|
|
target_type
|
||
|
|
END) target_type
|
||
|
|
, metric_label category
|
||
|
|
, column_label name
|
||
|
|
, message message
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(collection_timestamp, 'mm/dd/yyyy HH24:MI:SS') || '</div>' alert_triggered
|
||
|
|
FROM
|
||
|
|
mgmt$alert_current
|
||
|
|
ORDER BY
|
||
|
|
alert_state
|
||
|
|
, collection_timestamp;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - STATISTICS LEVEL - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="statistics_level"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Statistics Level</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt "Automatic Database Management" was first introduced in Oracle10<i>g</i> where the Oracle database
|
||
|
|
prompt can now automatically perform many of the routine monitoring and administrative activities that had
|
||
|
|
prompt to be manually executed by the DBA in previous versions. Several of the new components that make
|
||
|
|
prompt up this new feature include (1) Automatic Workload Repository (2) Automatic Database Diagnostic
|
||
|
|
prompt Monitoring (3) Automatic Shared Memory Management and (4) Automatic UNDO Retention Tuning. All
|
||
|
|
prompt of these new components can only be enabled when the STATISTICS_LEVEL initialization parameter
|
||
|
|
prompt is set to TYPICAL (the default) or ALL. A value of BASIC turns off these components and disables
|
||
|
|
prompt all self-tuning capabilities of the database. The view V$STATISTICS_LEVEL shows the statistic
|
||
|
|
prompt component, description, and at what level of the STATISTICS_LEVEL parameter the
|
||
|
|
prompt component is enabled.
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a95 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN statistics_name FORMAT a95 HEADING 'Statistics Name' ENTMAP off
|
||
|
|
COLUMN session_status FORMAT a95 HEADING 'Session Status' ENTMAP off
|
||
|
|
COLUMN system_status FORMAT a95 HEADING 'System Status' ENTMAP off
|
||
|
|
COLUMN activation_level FORMAT a95 HEADING 'Activation Level' ENTMAP off
|
||
|
|
COLUMN statistics_view_name FORMAT a95 HEADING 'Statistics View Name' ENTMAP off
|
||
|
|
COLUMN session_settable FORMAT a95 HEADING 'Session Settable?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="left" nowrap>' || s.statistics_name || '</div>' statistics_name
|
||
|
|
, DECODE( s.session_status
|
||
|
|
, 'ENABLED'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || s.session_status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || s.session_status || '</font></b></div>') session_status
|
||
|
|
, DECODE( s.system_status
|
||
|
|
, 'ENABLED'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || s.system_status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || s.system_status || '</font></b></div>') system_status
|
||
|
|
, (CASE s.activation_level
|
||
|
|
WHEN 'TYPICAL' THEN '<div align="center"><b><font color="darkgreen">' || s.activation_level || '</font></b></div>'
|
||
|
|
WHEN 'ALL' THEN '<div align="center"><b><font color="darkblue">' || s.activation_level || '</font></b></div>'
|
||
|
|
WHEN 'BASIC' THEN '<div align="center"><b><font color="#990000">' || s.activation_level || '</font></b></div>'
|
||
|
|
ELSE
|
||
|
|
'<div align="center"><b><font color="#663300">' || s.activation_level || '</font></b></div>'
|
||
|
|
END) activation_level
|
||
|
|
, s.statistics_view_name statistics_view_name
|
||
|
|
, '<div align="center">' || s.session_settable || '</div>' session_settable
|
||
|
|
FROM
|
||
|
|
gv$statistics_level s
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
s.inst_id = i.inst_id
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, s.statistics_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< SCHEDULER / JOBS >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Scheduler / Jobs</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - JOBS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="jobs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Jobs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN job_id FORMAT a75 HEADING 'Job ID' ENTMAP off
|
||
|
|
COLUMN username FORMAT a75 HEADING 'User' ENTMAP off
|
||
|
|
COLUMN what FORMAT a175 HEADING 'What' ENTMAP off
|
||
|
|
COLUMN next_date FORMAT a110 HEADING 'Next Run Date' ENTMAP off
|
||
|
|
COLUMN interval FORMAT a75 HEADING 'Interval' ENTMAP off
|
||
|
|
COLUMN last_date FORMAT a110 HEADING 'Last Run Date' ENTMAP off
|
||
|
|
COLUMN failures FORMAT a75 HEADING 'Failures' ENTMAP off
|
||
|
|
COLUMN broken FORMAT a75 HEADING 'Broken?' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<b><font color="#990000"><div align="center">' || job || '</div></font></b>'
|
||
|
|
, '<b><font color="#336699"><div align="center">' || job || '</div></font></b>') job_id
|
||
|
|
, DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<b><font color="#990000">' || log_user || '</font></b>'
|
||
|
|
, log_user ) username
|
||
|
|
, DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<b><font color="#990000">' || what || '</font></b>'
|
||
|
|
, what ) what
|
||
|
|
, DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<div nowrap align="right"><b><font color="#990000">' || NVL(TO_CHAR(next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</font></b></div>'
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>') next_date
|
||
|
|
, DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<b><font color="#990000">' || interval || '</font></b>'
|
||
|
|
, interval ) interval
|
||
|
|
, DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<div nowrap align="right"><b><font color="#990000">' || NVL(TO_CHAR(last_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</font></b></div>'
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(last_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>') last_date
|
||
|
|
, DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<b><font color="#990000"><div align="center">' || NVL(failures, 0) || '</div></font></b>'
|
||
|
|
, '<div align="center">' || NVL(failures, 0) || '</div>') failures
|
||
|
|
, DECODE( broken
|
||
|
|
, 'Y'
|
||
|
|
, '<b><font color="#990000"><div align="center">' || broken || '</div></font></b>'
|
||
|
|
, '<div align="center">' || broken || '</div>') broken
|
||
|
|
FROM
|
||
|
|
dba_jobs
|
||
|
|
ORDER BY
|
||
|
|
job;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< STORAGE >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Storage</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TABLESPACES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="tablespaces"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Tablespaces</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN name HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN type FORMAT a12 HEADING 'TS Type' ENTMAP off
|
||
|
|
COLUMN extent_mgt FORMAT a10 HEADING 'Ext. Mgt.' ENTMAP off
|
||
|
|
COLUMN segment_mgt FORMAT a9 HEADING 'Seg. Mgt.' ENTMAP off
|
||
|
|
COLUMN ts_size FORMAT 999,999,999,999,999 HEADING 'Tablespace Size' ENTMAP off
|
||
|
|
COLUMN free FORMAT 999,999,999,999,999 HEADING 'Free (in bytes)' ENTMAP off
|
||
|
|
COLUMN used FORMAT 999,999,999,999,999 HEADING 'Used (in bytes)' ENTMAP off
|
||
|
|
COLUMN pct_used HEADING 'Pct. Used' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE SUM label '<font color="#990000"><b>Total:</b></font>' OF ts_size used free ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DECODE( d.status
|
||
|
|
, 'OFFLINE'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || d.status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || d.status || '</font></b></div>') status
|
||
|
|
, '<b><font color="#336699">' || d.tablespace_name || '</font></b>' name
|
||
|
|
, d.contents type
|
||
|
|
, d.extent_management extent_mgt
|
||
|
|
, d.segment_space_management segment_mgt
|
||
|
|
, NVL(a.bytes, 0) ts_size
|
||
|
|
, NVL(f.bytes, 0) free
|
||
|
|
, NVL(a.bytes - NVL(f.bytes, 0), 0) used
|
||
|
|
, '<div align="right"><b>' ||
|
||
|
|
DECODE (
|
||
|
|
(1-SIGN(1-SIGN(TRUNC(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0)) - 90)))
|
||
|
|
, 1
|
||
|
|
, '<font color="#990000">' || TO_CHAR(TRUNC(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0))) || '</font>'
|
||
|
|
, '<font color="darkgreen">' || TO_CHAR(TRUNC(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0))) || '</font>'
|
||
|
|
)
|
||
|
|
|| '</b> %</div>' pct_used
|
||
|
|
FROM
|
||
|
|
sys.dba_tablespaces d
|
||
|
|
, ( select tablespace_name, sum(bytes) bytes
|
||
|
|
from dba_data_files
|
||
|
|
group by tablespace_name
|
||
|
|
) a
|
||
|
|
, ( select tablespace_name, sum(bytes) bytes
|
||
|
|
from dba_free_space
|
||
|
|
group by tablespace_name
|
||
|
|
) f
|
||
|
|
WHERE
|
||
|
|
d.tablespace_name = a.tablespace_name(+)
|
||
|
|
AND d.tablespace_name = f.tablespace_name(+)
|
||
|
|
AND NOT (
|
||
|
|
d.extent_management like 'LOCAL'
|
||
|
|
AND
|
||
|
|
d.contents like 'TEMPORARY'
|
||
|
|
)
|
||
|
|
UNION ALL
|
||
|
|
SELECT
|
||
|
|
DECODE( d.status
|
||
|
|
, 'OFFLINE'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || d.status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || d.status || '</font></b></div>') status
|
||
|
|
, '<b><font color="#336699">' || d.tablespace_name || '</font></b>' name
|
||
|
|
, d.contents type
|
||
|
|
, d.extent_management extent_mgt
|
||
|
|
, d.segment_space_management segment_mgt
|
||
|
|
, NVL(a.bytes, 0) ts_size
|
||
|
|
, NVL(a.bytes - NVL(t.bytes,0), 0) free
|
||
|
|
, NVL(t.bytes, 0) used
|
||
|
|
, '<div align="right"><b>' ||
|
||
|
|
DECODE (
|
||
|
|
(1-SIGN(1-SIGN(TRUNC(NVL(t.bytes / a.bytes * 100, 0)) - 90)))
|
||
|
|
, 1
|
||
|
|
, '<font color="#990000">' || TO_CHAR(TRUNC(NVL(t.bytes / a.bytes * 100, 0))) || '</font>'
|
||
|
|
, '<font color="darkgreen">' || TO_CHAR(TRUNC(NVL(t.bytes / a.bytes * 100, 0))) || '</font>'
|
||
|
|
)
|
||
|
|
|| '</b> %</div>' pct_used
|
||
|
|
FROM
|
||
|
|
sys.dba_tablespaces d
|
||
|
|
, ( select tablespace_name, sum(bytes) bytes
|
||
|
|
from dba_temp_files
|
||
|
|
group by tablespace_name
|
||
|
|
) a
|
||
|
|
, ( select tablespace_name, sum(bytes_cached) bytes
|
||
|
|
from v$temp_extent_pool
|
||
|
|
group by tablespace_name
|
||
|
|
) t
|
||
|
|
WHERE
|
||
|
|
d.tablespace_name = a.tablespace_name(+)
|
||
|
|
AND d.tablespace_name = t.tablespace_name(+)
|
||
|
|
AND d.extent_management like 'LOCAL'
|
||
|
|
AND d.contents like 'TEMPORARY'
|
||
|
|
ORDER BY 2;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DATA FILES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="data_files"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Data Files</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN tablespace HEADING 'Tablespace Name / File Class' ENTMAP off
|
||
|
|
COLUMN filename HEADING 'Filename' ENTMAP off
|
||
|
|
COLUMN filesize FORMAT 999,999,999,999,999 HEADING 'File Size' ENTMAP off
|
||
|
|
COLUMN autoextensible HEADING 'Autoextensible' ENTMAP off
|
||
|
|
COLUMN increment_by FORMAT 999,999,999,999,999 HEADING 'Next' ENTMAP off
|
||
|
|
COLUMN maxbytes FORMAT 999,999,999,999,999 HEADING 'Max' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF filesize ON report
|
||
|
|
|
||
|
|
SELECT /*+ ordered */
|
||
|
|
'<font color="#336699"><b>' || d.tablespace_name || '</b></font>' tablespace
|
||
|
|
, '<tt>' || d.file_name || '</tt>' filename
|
||
|
|
, d.bytes filesize
|
||
|
|
, '<div align="center">' || NVL(d.autoextensible, '<br>') || '</div>' autoextensible
|
||
|
|
, d.increment_by * e.value increment_by
|
||
|
|
, d.maxbytes maxbytes
|
||
|
|
FROM
|
||
|
|
sys.dba_data_files d
|
||
|
|
, v$datafile v
|
||
|
|
, (SELECT value
|
||
|
|
FROM v$parameter
|
||
|
|
WHERE name = 'db_block_size') e
|
||
|
|
WHERE
|
||
|
|
(d.file_name = v.name)
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || d.tablespace_name || '</b></font>' tablespace
|
||
|
|
, '<tt>' || d.file_name || '</tt>' filename
|
||
|
|
, d.bytes filesize
|
||
|
|
, '<div align="center">' || NVL(d.autoextensible, '<br>') || '</div>' autoextensible
|
||
|
|
, d.increment_by * e.value increment_by
|
||
|
|
, d.maxbytes maxbytes
|
||
|
|
FROM
|
||
|
|
sys.dba_temp_files d
|
||
|
|
, (SELECT value
|
||
|
|
FROM v$parameter
|
||
|
|
WHERE name = 'db_block_size') e
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>[ ONLINE REDO LOG ]</b></font>'
|
||
|
|
, '<tt>' || a.member || '</tt>'
|
||
|
|
, b.bytes
|
||
|
|
, null
|
||
|
|
, null
|
||
|
|
, null
|
||
|
|
FROM
|
||
|
|
v$logfile a
|
||
|
|
, v$log b
|
||
|
|
WHERE
|
||
|
|
a.group# = b.group#
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>[ CONTROL FILE ]</b></font>'
|
||
|
|
, '<tt>' || a.name || '</tt>'
|
||
|
|
, null
|
||
|
|
, null
|
||
|
|
, null
|
||
|
|
, null
|
||
|
|
FROM
|
||
|
|
v$controlfile a
|
||
|
|
ORDER BY
|
||
|
|
1
|
||
|
|
, 2;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DATABASE GROWTH - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="database_growth"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Database Growth</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN month FORMAT a75 HEADING 'Month'
|
||
|
|
COLUMN growth FORMAT 999,999,999,999,999 HEADING 'Growth (bytes)'
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE SUM label '<font color="#990000"><b>Total:</b></font>' OF growth ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || TO_CHAR(creation_time, 'RRRR-MM') || '</b></font></div>' month
|
||
|
|
, SUM(bytes) growth
|
||
|
|
FROM sys.v_$datafile
|
||
|
|
GROUP BY TO_CHAR(creation_time, 'RRRR-MM')
|
||
|
|
ORDER BY TO_CHAR(creation_time, 'RRRR-MM');
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TABLESPACE EXTENTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="tablespace_extents"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Tablespace Extents</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN tablespace_name HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN largest_ext FORMAT 999,999,999,999,999 HEADING 'Largest Extent' ENTMAP off
|
||
|
|
COLUMN smallest_ext FORMAT 999,999,999,999,999 HEADING 'Smallest Extent' ENTMAP off
|
||
|
|
COLUMN total_free FORMAT 999,999,999,999,999 HEADING 'Total Free' ENTMAP off
|
||
|
|
COLUMN pieces FORMAT 999,999,999,999,999 HEADING 'Number of Free Extents' ENTMAP off
|
||
|
|
|
||
|
|
break on report
|
||
|
|
compute sum label '<font color="#990000"><b>Total:</b></font>' of largest_ext smallest_ext total_free pieces on report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || tablespace_name || '</font></b>' tablespace_name
|
||
|
|
, max(bytes) largest_ext
|
||
|
|
, min(bytes) smallest_ext
|
||
|
|
, sum(bytes) total_free
|
||
|
|
, count(*) pieces
|
||
|
|
FROM
|
||
|
|
dba_free_space
|
||
|
|
GROUP BY
|
||
|
|
tablespace_name
|
||
|
|
ORDER BY
|
||
|
|
tablespace_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TABLESPACE TO OWNER - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="tablespace_to_owner"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Tablespace to Owner</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN tablespace_name FORMAT a75 HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN segment_type FORMAT a75 HEADING 'Segment Type' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999 HEADING 'Size (in Bytes)' ENTMAP off
|
||
|
|
COLUMN seg_count FORMAT 999,999,999,999 HEADING 'Segment Count' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON tablespace_name
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' of seg_count bytes ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || tablespace_name || '</b></font>' tablespace_name
|
||
|
|
, '<div align="right">' || owner || '</div>' owner
|
||
|
|
, '<div align="right">' || segment_type || '</div>' segment_type
|
||
|
|
, sum(bytes) bytes
|
||
|
|
, count(*) seg_count
|
||
|
|
FROM
|
||
|
|
dba_segments
|
||
|
|
GROUP BY
|
||
|
|
tablespace_name
|
||
|
|
, owner
|
||
|
|
, segment_type
|
||
|
|
ORDER BY
|
||
|
|
tablespace_name
|
||
|
|
, owner
|
||
|
|
, segment_type;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OWNER TO TABLESPACE - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="owner_to_tablespace"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Owner to Tablespace</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN tablespace_name FORMAT a75 HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN segment_type FORMAT a75 HEADING 'Segment Type' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999 HEADING 'Size (in Bytes)' ENTMAP off
|
||
|
|
COLUMN seg_count FORMAT 999,999,999,999 HEADING 'Segment Count' ENTMAP off
|
||
|
|
|
||
|
|
break on report on owner
|
||
|
|
compute sum label '<font color="#990000"><b>Total: </b></font>' of seg_count bytes on report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || owner || '</b></font>' owner
|
||
|
|
, '<div align="right">' || tablespace_name || '</div>' tablespace_name
|
||
|
|
, '<div align="right">' || segment_type || '</div>' segment_type
|
||
|
|
, sum(bytes) bytes
|
||
|
|
, count(*) seg_count
|
||
|
|
FROM
|
||
|
|
dba_segments
|
||
|
|
GROUP BY
|
||
|
|
owner
|
||
|
|
, tablespace_name
|
||
|
|
, segment_type
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, tablespace_name
|
||
|
|
, segment_type;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< UNDO Segments >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>UNDO Segments</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - UNDO RETENTION PARAMETERS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="undo_retention_parameters"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>UNDO Retention Parameters</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>undo_retention is specified in minutes</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a95 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN thread_number_print FORMAT a95 HEADING 'Thread Number' ENTMAP off
|
||
|
|
COLUMN name FORMAT a125 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN value HEADING 'Value' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print ON thread_number_print
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center">' || i.thread# || '</div>' thread_number_print
|
||
|
|
, '<div nowrap>' || p.name || '</div>' name
|
||
|
|
, (CASE p.name
|
||
|
|
WHEN 'undo_retention' THEN '<div nowrap align="right">' || TO_CHAR(TO_NUMBER(p.value)/60, '999,999,999,999,999') || '</div>'
|
||
|
|
ELSE
|
||
|
|
'<div nowrap align="right">' || p.value || '</div>'
|
||
|
|
END) value
|
||
|
|
FROM
|
||
|
|
gv$parameter p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
p.inst_id = i.inst_id
|
||
|
|
AND p.name LIKE 'undo%'
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, p.name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - UNDO SEGMENTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="undo_segments"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>UNDO Segments</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name FORMAT a75 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN tablespace FORMAT a85 HEADING 'Tablspace' ENTMAP off
|
||
|
|
COLUMN roll_name HEADING 'UNDO Segment Name' ENTMAP off
|
||
|
|
COLUMN in_extents HEADING 'Init/Next Extents' ENTMAP off
|
||
|
|
COLUMN m_extents HEADING 'Min/Max Extents' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN wraps FORMAT 999,999,999 HEADING 'Wraps' ENTMAP off
|
||
|
|
COLUMN shrinks FORMAT 999,999,999 HEADING 'Shrinks' ENTMAP off
|
||
|
|
COLUMN opt FORMAT 999,999,999,999 HEADING 'Opt. Size' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999 HEADING 'Bytes' ENTMAP off
|
||
|
|
COLUMN extents FORMAT 999,999,999 HEADING 'Extents' ENTMAP off
|
||
|
|
|
||
|
|
CLEAR COMPUTES BREAKS
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name ON tablespace
|
||
|
|
-- COMPUTE sum LABEL '<font color="#990000"><b>Total:</b></font>' OF bytes extents shrinks wraps ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap><font color="#336699"><b>' || NVL(i.instance_name, '<br>') || '</b></font></div>' instance_name
|
||
|
|
, '<div nowrap><font color="#336699"><b>' || a.tablespace_name || '</b></font></div>' tablespace
|
||
|
|
, '<div nowrap>' || a.owner || '.' || a.segment_name || '</div>' roll_name
|
||
|
|
, '<div align="right">' ||
|
||
|
|
TO_CHAR(a.initial_extent) || ' / ' ||
|
||
|
|
TO_CHAR(a.next_extent) ||
|
||
|
|
'</div>' in_extents
|
||
|
|
, '<div align="right">' ||
|
||
|
|
TO_CHAR(a.min_extents) || ' / ' ||
|
||
|
|
TO_CHAR(a.max_extents) ||
|
||
|
|
'</div>' m_extents
|
||
|
|
, DECODE( a.status
|
||
|
|
, 'OFFLINE'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || a.status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || a.status || '</font></b></div>') status
|
||
|
|
, b.bytes bytes
|
||
|
|
, b.extents extents
|
||
|
|
, d.shrinks shrinks
|
||
|
|
, d.wraps wraps
|
||
|
|
, d.optsize opt
|
||
|
|
FROM
|
||
|
|
dba_rollback_segs a
|
||
|
|
, dba_segments b
|
||
|
|
, v$rollname c
|
||
|
|
, v$rollstat d
|
||
|
|
, gv$parameter p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
a.segment_name = b.segment_name
|
||
|
|
AND a.segment_name = c.name (+)
|
||
|
|
AND c.usn = d.usn (+)
|
||
|
|
AND p.name (+) = 'undo_tablespace'
|
||
|
|
AND p.value (+) = a.tablespace_name
|
||
|
|
AND p.inst_id = i.inst_id (+)
|
||
|
|
ORDER BY
|
||
|
|
a.tablespace_name
|
||
|
|
, a.segment_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - UNDO SEGMENT CONTENTION - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="undo_segment_contention"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>UNDO Segment Contention</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>UNDO statistics from V$ROLLSTAT - (ordered by waits)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN roll_name HEADING 'UNDO Segment Name' ENTMAP off
|
||
|
|
COLUMN gets FORMAT 999,999,999 HEADING 'Gets' ENTMAP off
|
||
|
|
COLUMN waits FORMAT 999,999,999 HEADING 'Waits' ENTMAP off
|
||
|
|
COLUMN immediate_misses FORMAT 999,999,999 HEADING 'Immediate Misses' ENTMAP off
|
||
|
|
COLUMN hit_ratio HEADING 'Hit Ratio' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE SUM label '<font color="#990000"><b>Total:</b></font>' OF gets waits ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || b.name || '</b></font>' roll_name
|
||
|
|
, gets gets
|
||
|
|
, waits waits
|
||
|
|
, '<div align="right">' || TO_CHAR(ROUND(((gets - waits)*100)/gets, 2)) || '%</div>' hit_ratio
|
||
|
|
FROM
|
||
|
|
sys.v_$rollstat a
|
||
|
|
, sys.v_$rollname b
|
||
|
|
WHERE
|
||
|
|
a.USN = b.USN
|
||
|
|
ORDER BY
|
||
|
|
waits DESC;
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <b>Wait statistics</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN class HEADING 'Class'
|
||
|
|
COLUMN ratio HEADING 'Wait Ratio'
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || w.class || '</b></font>' class
|
||
|
|
, '<div align="right">' || TO_CHAR(ROUND(100*(w.count/SUM(s.value)),8)) || '%</div>' ratio
|
||
|
|
FROM
|
||
|
|
v$waitstat w
|
||
|
|
, v$sysstat s
|
||
|
|
WHERE
|
||
|
|
w.class IN ( 'system undo header'
|
||
|
|
, 'system undo block'
|
||
|
|
, 'undo header'
|
||
|
|
, 'undo block'
|
||
|
|
)
|
||
|
|
AND s.name IN ('db block gets', 'consistent gets')
|
||
|
|
GROUP BY
|
||
|
|
w.class
|
||
|
|
, w.count;
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< BACKUPS >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Backups</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - RMAN BACKUP JOBS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="rman_backup_jobs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>RMAN Backup Jobs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Last 10 RMAN backup jobs</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN backup_name FORMAT a130 HEADING 'Backup Name' ENTMAP off
|
||
|
|
COLUMN start_time FORMAT a75 HEADING 'Start Time' ENTMAP off
|
||
|
|
COLUMN elapsed_time FORMAT a75 HEADING 'Elapsed Time' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN input_type HEADING 'Input Type' ENTMAP off
|
||
|
|
COLUMN output_device_type HEADING 'Output Devices' ENTMAP off
|
||
|
|
COLUMN input_size HEADING 'Input Size' ENTMAP off
|
||
|
|
COLUMN output_size HEADING 'Output Size' ENTMAP off
|
||
|
|
COLUMN output_rate_per_sec HEADING 'Output Rate Per Sec' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap><b><font color="#336699">' || r.command_id || '</font></b></div>' backup_name
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(r.start_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' start_time
|
||
|
|
, '<div nowrap align="right">' || r.time_taken_display || '</div>' elapsed_time
|
||
|
|
, DECODE( r.status
|
||
|
|
, 'COMPLETED'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || r.status || '</font></b></div>'
|
||
|
|
, 'RUNNING'
|
||
|
|
, '<div align="center"><b><font color="#000099">' || r.status || '</font></b></div>'
|
||
|
|
, 'FAILED'
|
||
|
|
, '<div align="center"><b><font color="#990000">' || r.status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#663300">' || r.status || '</font></b></div>'
|
||
|
|
) status
|
||
|
|
, r.input_type input_type
|
||
|
|
, r.output_device_type output_device_type
|
||
|
|
, '<div nowrap align="right">' || r.input_bytes_display || '</div>' input_size
|
||
|
|
, '<div nowrap align="right">' || r.output_bytes_display || '</div>' output_size
|
||
|
|
, '<div nowrap align="right">' || r.output_bytes_per_sec_display || '</div>' output_rate_per_sec
|
||
|
|
FROM
|
||
|
|
(select
|
||
|
|
command_id
|
||
|
|
, start_time
|
||
|
|
, time_taken_display
|
||
|
|
, status
|
||
|
|
, input_type
|
||
|
|
, output_device_type
|
||
|
|
, input_bytes_display
|
||
|
|
, output_bytes_display
|
||
|
|
, output_bytes_per_sec_display
|
||
|
|
from v$rman_backup_job_details
|
||
|
|
order by start_time DESC
|
||
|
|
) r
|
||
|
|
WHERE
|
||
|
|
rownum < 11;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - RMAN CONFIGURATION - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="rman_configuration"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>RMAN Configuration</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>All non-default RMAN configuration settings</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name FORMAT a130 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN value HEADING 'Value' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap><b><font color="#336699">' || name || '</font></b></div>' name
|
||
|
|
, value
|
||
|
|
FROM
|
||
|
|
v$rman_configuration
|
||
|
|
ORDER BY
|
||
|
|
name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - RMAN BACKUP SETS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="rman_backup_sets"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>RMAN Backup Sets</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Available backup sets contained in the control file including available and expired backup sets</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN bs_key FORMAT a75 HEADING 'BS Key' ENTMAP off
|
||
|
|
COLUMN backup_type FORMAT a70 HEADING 'Backup Type' ENTMAP off
|
||
|
|
COLUMN device_type HEADING 'Device Type' ENTMAP off
|
||
|
|
COLUMN controlfile_included FORMAT a30 HEADING 'Controlfile Included?' ENTMAP off
|
||
|
|
COLUMN spfile_included FORMAT a30 HEADING 'SPFILE Included?' ENTMAP off
|
||
|
|
COLUMN incremental_level HEADING 'Incremental Level' ENTMAP off
|
||
|
|
COLUMN pieces FORMAT 999,999,999,999 HEADING '# of Pieces' ENTMAP off
|
||
|
|
COLUMN start_time FORMAT a75 HEADING 'Start Time' ENTMAP off
|
||
|
|
COLUMN completion_time FORMAT a75 HEADING 'End Time' ENTMAP off
|
||
|
|
COLUMN elapsed_seconds FORMAT 999,999,999,999,999 HEADING 'Elapsed Seconds' ENTMAP off
|
||
|
|
COLUMN tag HEADING 'Tag' ENTMAP off
|
||
|
|
COLUMN block_size FORMAT 999,999,999,999,999 HEADING 'Block Size' ENTMAP off
|
||
|
|
COLUMN keep FORMAT a40 HEADING 'Keep?' ENTMAP off
|
||
|
|
COLUMN keep_until FORMAT a75 HEADING 'Keep Until' ENTMAP off
|
||
|
|
COLUMN keep_options FORMAT a15 HEADING 'Keep Options' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total:</b></font>' OF pieces elapsed_seconds ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || bs.recid || '</b></font></div>' bs_key
|
||
|
|
, DECODE(backup_type
|
||
|
|
, 'L', '<div nowrap><font color="#990000">Archived Redo Logs</font></div>'
|
||
|
|
, 'D', '<div nowrap><font color="#000099">Datafile Full Backup</font></div>'
|
||
|
|
, 'I', '<div nowrap><font color="darkgreen">Incremental Backup</font></div>') backup_type
|
||
|
|
, '<div nowrap align="right">' || device_type || '</div>' device_type
|
||
|
|
, '<div align="center">' ||
|
||
|
|
DECODE(bs.controlfile_included, 'NO', '-', bs.controlfile_included) || '</div>' controlfile_included
|
||
|
|
, '<div align="center">' || NVL(sp.spfile_included, '-') || '</div>' spfile_included
|
||
|
|
, bs.incremental_level incremental_level
|
||
|
|
, bs.pieces pieces
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(bs.start_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' start_time
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(bs.completion_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' completion_time
|
||
|
|
, bs.elapsed_seconds elapsed_seconds
|
||
|
|
, bp.tag tag
|
||
|
|
, bs.block_size block_size
|
||
|
|
, '<div align="center">' || bs.keep || '</div>' keep
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(bs.keep_until, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' keep_until
|
||
|
|
, bs.keep_options keep_options
|
||
|
|
FROM
|
||
|
|
v$backup_set bs
|
||
|
|
, (select distinct
|
||
|
|
set_stamp
|
||
|
|
, set_count
|
||
|
|
, tag
|
||
|
|
, device_type
|
||
|
|
from v$backup_piece
|
||
|
|
where status in ('A', 'X')) bp
|
||
|
|
, (select distinct set_stamp, set_count, 'YES' spfile_included
|
||
|
|
from v$backup_spfile) sp
|
||
|
|
WHERE
|
||
|
|
bs.set_stamp = bp.set_stamp
|
||
|
|
AND bs.set_count = bp.set_count
|
||
|
|
AND bs.set_stamp = sp.set_stamp (+)
|
||
|
|
AND bs.set_count = sp.set_count (+)
|
||
|
|
ORDER BY
|
||
|
|
bs.recid;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - RMAN BACKUP PIECES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="rman_backup_pieces"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>RMAN Backup Pieces</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Available backup pieces contained in the control file including available and expired backup sets</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN bs_key FORMAT a75 HEADING 'BS Key' ENTMAP off
|
||
|
|
COLUMN piece# HEADING 'Piece #' ENTMAP off
|
||
|
|
COLUMN copy# HEADING 'Copy #' ENTMAP off
|
||
|
|
COLUMN bp_key HEADING 'BP Key' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN handle HEADING 'Handle' ENTMAP off
|
||
|
|
COLUMN start_time FORMAT a75 HEADING 'Start Time' ENTMAP off
|
||
|
|
COLUMN completion_time FORMAT a75 HEADING 'End Time' ENTMAP off
|
||
|
|
COLUMN elapsed_seconds FORMAT 999,999,999,999,999 HEADING 'Elapsed Seconds' ENTMAP off
|
||
|
|
COLUMN deleted FORMAT a10 HEADING 'Deleted?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON bs_key
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || bs.recid || '</b></font></div>' bs_key
|
||
|
|
, bp.piece# piece#
|
||
|
|
, bp.copy# copy#
|
||
|
|
, bp.recid bp_key
|
||
|
|
, DECODE( status
|
||
|
|
, 'A', '<div nowrap align="center"><font color="darkgreen"><b>Available</b></font></div>'
|
||
|
|
, 'D', '<div nowrap align="center"><font color="#000099"><b>Deleted</b></font></div>'
|
||
|
|
, 'X', '<div nowrap align="center"><font color="#990000"><b>Expired</b></font></div>') status
|
||
|
|
, handle handle
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(bp.start_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' start_time
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(bp.completion_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' completion_time
|
||
|
|
, bp.elapsed_seconds elapsed_seconds
|
||
|
|
FROM
|
||
|
|
v$backup_set bs
|
||
|
|
, v$backup_piece bp
|
||
|
|
WHERE
|
||
|
|
bs.set_stamp = bp.set_stamp
|
||
|
|
AND bs.set_count = bp.set_count
|
||
|
|
AND bp.status IN ('A', 'X')
|
||
|
|
ORDER BY
|
||
|
|
bs.recid
|
||
|
|
, piece#;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - RMAN BACKUP CONTROL FILES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="rman_backup_control_files"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>RMAN Backup Control Files</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Available automatic control files within all available (and expired) backup sets</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN bs_key FORMAT a75 HEADING 'BS Key' ENTMAP off
|
||
|
|
COLUMN piece# HEADING 'Piece #' ENTMAP off
|
||
|
|
COLUMN copy# HEADING 'Copy #' ENTMAP off
|
||
|
|
COLUMN bp_key HEADING 'BP Key' ENTMAP off
|
||
|
|
COLUMN controlfile_included FORMAT a75 HEADING 'Controlfile Included?' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN handle HEADING 'Handle' ENTMAP off
|
||
|
|
COLUMN start_time FORMAT a40 HEADING 'Start Time' ENTMAP off
|
||
|
|
COLUMN completion_time FORMAT a40 HEADING 'End Time' ENTMAP off
|
||
|
|
COLUMN elapsed_seconds FORMAT 999,999,999,999,999 HEADING 'Elapsed Seconds' ENTMAP off
|
||
|
|
COLUMN deleted FORMAT a10 HEADING 'Deleted?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON bs_key
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || bs.recid || '</b></font></div>' bs_key
|
||
|
|
, bp.piece# piece#
|
||
|
|
, bp.copy# copy#
|
||
|
|
, bp.recid bp_key
|
||
|
|
, '<div align="center"><font color="#663300"><b>' ||
|
||
|
|
DECODE(bs.controlfile_included, 'NO', '-', bs.controlfile_included) ||
|
||
|
|
'</b></font></div>' controlfile_included
|
||
|
|
, DECODE( status
|
||
|
|
, 'A', '<div nowrap align="center"><font color="darkgreen"><b>Available</b></font></div>'
|
||
|
|
, 'D', '<div nowrap align="center"><font color="#000099"><b>Deleted</b></font></div>'
|
||
|
|
, 'X', '<div nowrap align="center"><font color="#990000"><b>Expired</b></font></div>') status
|
||
|
|
, handle handle
|
||
|
|
FROM
|
||
|
|
v$backup_set bs
|
||
|
|
, v$backup_piece bp
|
||
|
|
WHERE
|
||
|
|
bs.set_stamp = bp.set_stamp
|
||
|
|
AND bs.set_count = bp.set_count
|
||
|
|
AND bp.status IN ('A', 'X')
|
||
|
|
AND bs.controlfile_included != 'NO'
|
||
|
|
ORDER BY
|
||
|
|
bs.recid
|
||
|
|
, piece#;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - RMAN BACKUP SPFILE - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="rman_backup_spfile"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>RMAN Backup SPFILE</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Available automatic SPFILE backups within all available (and expired) backup sets</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN bs_key FORMAT a75 HEADING 'BS Key' ENTMAP off
|
||
|
|
COLUMN piece# HEADING 'Piece #' ENTMAP off
|
||
|
|
COLUMN copy# HEADING 'Copy #' ENTMAP off
|
||
|
|
COLUMN bp_key HEADING 'BP Key' ENTMAP off
|
||
|
|
COLUMN spfile_included FORMAT a75 HEADING 'SPFILE Included?' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN handle HEADING 'Handle' ENTMAP off
|
||
|
|
COLUMN start_time FORMAT a40 HEADING 'Start Time' ENTMAP off
|
||
|
|
COLUMN completion_time FORMAT a40 HEADING 'End Time' ENTMAP off
|
||
|
|
COLUMN elapsed_seconds FORMAT 999,999,999,999,999 HEADING 'Elapsed Seconds' ENTMAP off
|
||
|
|
COLUMN deleted FORMAT a10 HEADING 'Deleted?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON bs_key
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || bs.recid || '</b></font></div>' bs_key
|
||
|
|
, bp.piece# piece#
|
||
|
|
, bp.copy# copy#
|
||
|
|
, bp.recid bp_key
|
||
|
|
, '<div align="center"><font color="#663300"><b>' ||
|
||
|
|
NVL(sp.spfile_included, '-') ||
|
||
|
|
'</b></font></div>' spfile_included
|
||
|
|
, DECODE( status
|
||
|
|
, 'A', '<div nowrap align="center"><font color="darkgreen"><b>Available</b></font></div>'
|
||
|
|
, 'D', '<div nowrap align="center"><font color="#000099"><b>Deleted</b></font></div>'
|
||
|
|
, 'X', '<div nowrap align="center"><font color="#990000"><b>Expired</b></font></div>') status
|
||
|
|
, handle handle
|
||
|
|
FROM
|
||
|
|
v$backup_set bs
|
||
|
|
, v$backup_piece bp
|
||
|
|
, (select distinct set_stamp, set_count, 'YES' spfile_included
|
||
|
|
from v$backup_spfile) sp
|
||
|
|
WHERE
|
||
|
|
bs.set_stamp = bp.set_stamp
|
||
|
|
AND bs.set_count = bp.set_count
|
||
|
|
AND bp.status IN ('A', 'X')
|
||
|
|
AND bs.set_stamp = sp.set_stamp
|
||
|
|
AND bs.set_count = sp.set_count
|
||
|
|
ORDER BY
|
||
|
|
bs.recid
|
||
|
|
, piece#;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ARCHIVING MODE - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="archiving_mode"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Archiving Mode</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN db_log_mode FORMAT a95 HEADING 'Database|Log Mode' ENTMAP off
|
||
|
|
COLUMN log_archive_start FORMAT a95 HEADING 'Automatic|Archival' ENTMAP off
|
||
|
|
COLUMN oldest_online_log_sequence FORMAT 999999999999999 HEADING 'Oldest Online |Log Sequence' ENTMAP off
|
||
|
|
COLUMN current_log_seq FORMAT 999999999999999 HEADING 'Current |Log Sequence' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#663300"><b>' || d.log_mode || '</b></font></div>' db_log_mode
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || p.log_archive_start || '</b></font></div>' log_archive_start
|
||
|
|
, c.current_log_seq current_log_seq
|
||
|
|
, o.oldest_online_log_sequence oldest_online_log_sequence
|
||
|
|
FROM
|
||
|
|
(select
|
||
|
|
DECODE( log_mode
|
||
|
|
, 'ARCHIVELOG', 'Archive Mode'
|
||
|
|
, 'NOARCHIVELOG', 'No Archive Mode'
|
||
|
|
, log_mode
|
||
|
|
) log_mode
|
||
|
|
from v$database
|
||
|
|
) d
|
||
|
|
, (select
|
||
|
|
DECODE( log_mode
|
||
|
|
, 'ARCHIVELOG', 'Enabled'
|
||
|
|
, 'NOARCHIVELOG', 'Disabled') log_archive_start
|
||
|
|
from v$database
|
||
|
|
) p
|
||
|
|
, (select a.sequence# current_log_seq
|
||
|
|
from v$log a
|
||
|
|
where a.status = 'CURRENT'
|
||
|
|
and thread# = &_thread_number
|
||
|
|
) c
|
||
|
|
, (select min(a.sequence#) oldest_online_log_sequence
|
||
|
|
from v$log a
|
||
|
|
where thread# = &_thread_number
|
||
|
|
) o
|
||
|
|
/
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ARCHIVE DESTINATIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="archive_destinations"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Archive Destinations</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN dest_id HEADING 'Destination|ID' ENTMAP off
|
||
|
|
COLUMN dest_name HEADING 'Destination|Name' ENTMAP off
|
||
|
|
COLUMN destination HEADING 'Destination' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN schedule HEADING 'Schedule' ENTMAP off
|
||
|
|
COLUMN archiver HEADING 'Archiver' ENTMAP off
|
||
|
|
COLUMN log_sequence FORMAT 999999999999999 HEADING 'Current Log|Sequence' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || a.dest_id || '</b></font></div>' dest_id
|
||
|
|
, a.dest_name dest_name
|
||
|
|
, a.destination destination
|
||
|
|
, DECODE( a.status
|
||
|
|
, 'VALID', '<div align="center"><b><font color="darkgreen">' || status || '</font></b></div>'
|
||
|
|
, 'INACTIVE', '<div align="center"><b><font color="#990000">' || status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#663300">' || status || '</font></b></div>' ) status
|
||
|
|
, DECODE( a.schedule
|
||
|
|
, 'ACTIVE', '<div align="center"><b><font color="darkgreen">' || schedule || '</font></b></div>'
|
||
|
|
, 'INACTIVE', '<div align="center"><b><font color="#990000">' || schedule || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#663300">' || schedule || '</font></b></div>' ) schedule
|
||
|
|
, a.archiver archiver
|
||
|
|
, a.log_sequence log_sequence
|
||
|
|
FROM
|
||
|
|
v$archive_dest a
|
||
|
|
ORDER BY
|
||
|
|
a.dest_id
|
||
|
|
/
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ARCHIVING INSTANCE PARAMETERS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="archiving_instance_parameters"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Archiving Instance Parameters</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name HEADING 'Parameter Name' ENTMAP off
|
||
|
|
COLUMN value HEADING 'Parameter Value' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || a.name || '</font></b>' name
|
||
|
|
, a.value value
|
||
|
|
FROM
|
||
|
|
v$parameter a
|
||
|
|
WHERE
|
||
|
|
a.name like 'log_%'
|
||
|
|
ORDER BY
|
||
|
|
a.name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ARCHIVING HISTORY - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="archiving_history"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Archiving History</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN thread# FORMAT a79 HEADING 'Thread#' ENTMAP off
|
||
|
|
COLUMN sequence# FORMAT a79 HEADING 'Sequence#' ENTMAP off
|
||
|
|
COLUMN name HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN first_change# HEADING 'First|Change #' ENTMAP off
|
||
|
|
COLUMN first_time FORMAT a75 HEADING 'First|Time' ENTMAP off
|
||
|
|
COLUMN next_change# HEADING 'Next|Change #' ENTMAP off
|
||
|
|
COLUMN next_time FORMAT a75 HEADING 'Next|Time' ENTMAP off
|
||
|
|
COLUMN log_size FORMAT 999,999,999,999,999 HEADING 'Size (in bytes)' ENTMAP off
|
||
|
|
COLUMN archived FORMAT a31 HEADING 'Archived?' ENTMAP off
|
||
|
|
COLUMN applied FORMAT a31 HEADING 'Applied?' ENTMAP off
|
||
|
|
COLUMN deleted FORMAT a31 HEADING 'Deleted?' ENTMAP off
|
||
|
|
COLUMN status FORMAT a75 HEADING 'Status' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON thread#
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><b><font color="#336699">' || thread# || '</font></b></div>' thread#
|
||
|
|
, '<div align="center"><b><font color="#336699">' || sequence# || '</font></b></div>' sequence#
|
||
|
|
, name
|
||
|
|
, first_change#
|
||
|
|
, '<div align="right" nowrap>' || TO_CHAR(first_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' first_time
|
||
|
|
, next_change#
|
||
|
|
, '<div align="right" nowrap>' || TO_CHAR(next_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' next_time
|
||
|
|
, (blocks * block_size) log_size
|
||
|
|
, '<div align="center">' || archived || '</div>' archived
|
||
|
|
, '<div align="center">' || applied || '</div>' applied
|
||
|
|
, '<div align="center">' || deleted || '</div>' deleted
|
||
|
|
, DECODE( status
|
||
|
|
, 'A', '<div align="center"><b><font color="darkgreen">Available</font></b></div>'
|
||
|
|
, 'D', '<div align="center"><b><font color="#663300">Deleted</font></b></div>'
|
||
|
|
, 'U', '<div align="center"><b><font color="#990000">Unavailable</font></b></div>'
|
||
|
|
, 'X', '<div align="center"><b><font color="#990000">Expired</font></b></div>'
|
||
|
|
) status
|
||
|
|
FROM
|
||
|
|
v$archived_log
|
||
|
|
WHERE
|
||
|
|
status in ('A')
|
||
|
|
ORDER BY
|
||
|
|
thread#
|
||
|
|
, sequence#;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FLASH RECOVERY AREA PARAMETERS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="flash_recovery_area_parameters"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Flash Recovery Area Parameters</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>db_recovery_file_dest_size is specified in bytes</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a95 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN thread_number_print FORMAT a95 HEADING 'Thread Number' ENTMAP off
|
||
|
|
COLUMN name FORMAT a125 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN value HEADING 'Value' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print ON thread_number_print
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center">' || i.thread# || '</div>' thread_number_print
|
||
|
|
, '<div nowrap>' || p.name || '</div>' name
|
||
|
|
, (CASE p.name
|
||
|
|
WHEN 'db_recovery_file_dest_size' THEN '<div nowrap align="right">' || TO_CHAR(p.value, '999,999,999,999,999') || '</div>'
|
||
|
|
ELSE
|
||
|
|
'<div nowrap align="right">' || NVL(p.value, '(null)') || '</div>'
|
||
|
|
END) value
|
||
|
|
FROM
|
||
|
|
gv$parameter p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
p.inst_id = i.inst_id
|
||
|
|
AND p.name IN ('db_recovery_file_dest_size', 'db_recovery_file_dest')
|
||
|
|
ORDER BY
|
||
|
|
1
|
||
|
|
, 3;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FLASH RECOVERY AREA STATUS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="flash_recovery_area_status"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Flash Recovery Area Status</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Current location, disk quota, space in use, space reclaimable by deleting files, and number of files in the Flash Recovery Area</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name FORMAT a75 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN space_limit FORMAT 99,999,999,999,999 HEADING 'Space Limit' ENTMAP off
|
||
|
|
COLUMN space_used FORMAT 99,999,999,999,999 HEADING 'Space Used' ENTMAP off
|
||
|
|
COLUMN space_used_pct FORMAT 999.99 HEADING '% Used' ENTMAP off
|
||
|
|
COLUMN space_reclaimable FORMAT 99,999,999,999,999 HEADING 'Space Reclaimable' ENTMAP off
|
||
|
|
COLUMN pct_reclaimable FORMAT 999.99 HEADING '% Reclaimable' ENTMAP off
|
||
|
|
COLUMN number_of_files FORMAT 999,999 HEADING 'Number of Files' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || name || '</b></font></div>' name
|
||
|
|
, space_limit space_limit
|
||
|
|
, space_used space_used
|
||
|
|
, ROUND((space_used / DECODE(space_limit, 0, 0.000001, space_limit))*100, 2) space_used_pct
|
||
|
|
, space_reclaimable space_reclaimable
|
||
|
|
, ROUND((space_reclaimable / DECODE(space_limit, 0, 0.000001, space_limit))*100, 2) pct_reclaimable
|
||
|
|
, number_of_files number_of_files
|
||
|
|
FROM
|
||
|
|
v$recovery_file_dest
|
||
|
|
ORDER BY
|
||
|
|
name;
|
||
|
|
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN file_type FORMAT a75 HEADING 'File Type'
|
||
|
|
COLUMN percent_space_used HEADING 'Percent Space Used'
|
||
|
|
COLUMN percent_space_reclaimable HEADING 'Percent Space Reclaimable'
|
||
|
|
COLUMN number_of_files FORMAT 999,999 HEADING 'Number of Files'
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || file_type || '</b></font></div>' file_type
|
||
|
|
, percent_space_used percent_space_used
|
||
|
|
, percent_space_reclaimable percent_space_reclaimable
|
||
|
|
, number_of_files number_of_files
|
||
|
|
FROM
|
||
|
|
v$flash_recovery_area_usage;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< FLASHBACK TECHNOLOGIES >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Flashback Technologies</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FLASHBACK DATABASE PARAMETERS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="flashback_database_parameters"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Flashback Database Parameters</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>db_flashback_retention_target is specified in minutes</b>
|
||
|
|
prompt <b>db_recovery_file_dest_size is specified in bytes</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a95 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN thread_number_print FORMAT a95 HEADING 'Thread Number' ENTMAP off
|
||
|
|
COLUMN name FORMAT a125 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN value HEADING 'Value' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print ON thread_number_print
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center">' || i.thread# || '</div>' thread_number_print
|
||
|
|
, '<div nowrap>' || p.name || '</div>' name
|
||
|
|
, (CASE p.name
|
||
|
|
WHEN 'db_recovery_file_dest_size' THEN '<div nowrap align="right">' || TO_CHAR(p.value, '999,999,999,999,999') || '</div>'
|
||
|
|
WHEN 'db_flashback_retention_target' THEN '<div nowrap align="right">' || TO_CHAR(p.value, '999,999,999,999,999') || '</div>'
|
||
|
|
ELSE
|
||
|
|
'<div nowrap align="right">' || NVL(p.value, '(null)') || '</div>'
|
||
|
|
END) value
|
||
|
|
FROM
|
||
|
|
gv$parameter p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
p.inst_id = i.inst_id
|
||
|
|
AND p.name IN ('db_flashback_retention_target', 'db_recovery_file_dest_size', 'db_recovery_file_dest')
|
||
|
|
ORDER BY
|
||
|
|
1
|
||
|
|
, 3;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FLASHBACK DATABASE STATUS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="flashback_database_status"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Flashback Database Status</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN dbid HEADING 'DB ID' ENTMAP off
|
||
|
|
COLUMN name FORMAT A75 HEADING 'DB Name' ENTMAP off
|
||
|
|
COLUMN log_mode FORMAT A75 HEADING 'Log Mode' ENTMAP off
|
||
|
|
COLUMN flashback_on FORMAT A75 HEADING 'Flashback DB On?' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || dbid || '</b></font></div>' dbid
|
||
|
|
, '<div align="center">' || name || '</div>' name
|
||
|
|
, '<div align="center">' || log_mode || '</div>' log_mode
|
||
|
|
, '<div align="center">' || flashback_on || '</div>' flashback_on
|
||
|
|
FROM v$database;
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN oldest_flashback_time FORMAT a125 HEADING 'Oldest Flashback Time' ENTMAP off
|
||
|
|
COLUMN oldest_flashback_scn HEADING 'Oldest Flashback SCN' ENTMAP off
|
||
|
|
COLUMN retention_target FORMAT 999,999 HEADING 'Retention Target (min)' ENTMAP off
|
||
|
|
COLUMN retention_target_hours FORMAT 999,999 HEADING 'Retention Target (hour)' ENTMAP off
|
||
|
|
COLUMN flashback_size FORMAT 9,999,999,999,999 HEADING 'Flashback Size' ENTMAP off
|
||
|
|
COLUMN estimated_flashback_size FORMAT 9,999,999,999,999 HEADING 'Estimated Flashback Size' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || TO_CHAR(oldest_flashback_time,'mm/dd/yyyy HH24:MI:SS') || '</b></font></div>' oldest_flashback_time
|
||
|
|
, oldest_flashback_scn oldest_flashback_scn
|
||
|
|
, retention_target retention_target
|
||
|
|
, retention_target/60 retention_target_hours
|
||
|
|
, flashback_size flashback_size
|
||
|
|
, estimated_flashback_size estimated_flashback_size
|
||
|
|
FROM
|
||
|
|
v$flashback_database_log
|
||
|
|
ORDER BY
|
||
|
|
1;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FLASHBACK DATABASE REDO TIME MATRIX - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="flashback_database_redo_time_matrix"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Flashback Database Redo Time Matrix</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN begin_time FORMAT a75 HEADING 'Begin Time' ENTMAP off
|
||
|
|
COLUMN end_time FORMAT a75 HEADING 'End Time' ENTMAP off
|
||
|
|
COLUMN flashback_data FORMAT 9,999,999,999,999 HEADING 'Flashback Data' ENTMAP off
|
||
|
|
COLUMN db_data FORMAT 9,999,999,999,999 HEADING 'DB Data' ENTMAP off
|
||
|
|
COLUMN redo_data FORMAT 9,999,999,999,999 HEADING 'Redo Data' ENTMAP off
|
||
|
|
COLUMN estimated_flashback_size FORMAT 9,999,999,999,999 HEADING 'Estimated Flashback Size' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="right">' || TO_CHAR(begin_time,'mm/dd/yyyy HH24:MI:SS') || '</div>' begin_time
|
||
|
|
, '<div align="right">' || TO_CHAR(end_time,'mm/dd/yyyy HH24:MI:SS') || '</div>' end_time
|
||
|
|
, flashback_data
|
||
|
|
, db_data
|
||
|
|
, redo_data
|
||
|
|
, estimated_flashback_size
|
||
|
|
FROM
|
||
|
|
v$flashback_database_stat
|
||
|
|
ORDER BY
|
||
|
|
begin_time;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< PERFORMANCE >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Performance</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - SGA INFORMATION - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="sga_information"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>SGA Information</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name FORMAT a79 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN name FORMAT a150 HEADING 'Pool Name' ENTMAP off
|
||
|
|
COLUMN value FORMAT 999,999,999,999,999 HEADING 'Bytes' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total:</b></font>' OF value ON instance_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name
|
||
|
|
, '<div align="left"><font color="#336699"><b>' || s.name || '</b></font></div>' name
|
||
|
|
, s.value value
|
||
|
|
FROM
|
||
|
|
gv$sga s
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
s.inst_id = i.inst_id
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, s.value DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - SGA TARGET ADVICE - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="sga_target_advice"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>SGA Target Advice</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt Modify the SGA_TARGET parameter (up to the size of the SGA_MAX_SIZE, if necessary) to reduce
|
||
|
|
prompt the number of "Estimated Physical Reads".
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name FORMAT a79 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN name FORMAT a79 HEADING 'Parameter Name' ENTMAP off
|
||
|
|
COLUMN value FORMAT a79 HEADING 'Value' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name
|
||
|
|
, p.name name
|
||
|
|
, (CASE p.name
|
||
|
|
WHEN 'sga_max_size' THEN '<div align="right">' || TO_CHAR(p.value, '999,999,999,999,999') || '</div>'
|
||
|
|
WHEN 'sga_target' THEN '<div align="right">' || TO_CHAR(p.value, '999,999,999,999,999') || '</div>'
|
||
|
|
ELSE
|
||
|
|
'<div align="right">' || p.value || '</div>'
|
||
|
|
END) value
|
||
|
|
FROM
|
||
|
|
gv$parameter p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
p.inst_id = i.inst_id
|
||
|
|
AND p.name IN ('sga_max_size', 'sga_target')
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, p.name;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name FORMAT a79 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN sga_size FORMAT 999,999,999,999,999 HEADING 'SGA Size' ENTMAP off
|
||
|
|
COLUMN sga_size_factor FORMAT 999,999,999,999,999 HEADING 'SGA Size Factor' ENTMAP off
|
||
|
|
COLUMN estd_db_time FORMAT 999,999,999,999,999 HEADING 'Estimated DB Time' ENTMAP off
|
||
|
|
COLUMN estd_db_time_factor FORMAT 999,999,999,999,999 HEADING 'Estimated DB Time Factor' ENTMAP off
|
||
|
|
COLUMN estd_physical_reads FORMAT 999,999,999,999,999 HEADING 'Estimated Physical Reads' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name
|
||
|
|
, s.sga_size
|
||
|
|
, s.sga_size_factor
|
||
|
|
, s.estd_db_time
|
||
|
|
, s.estd_db_time_factor
|
||
|
|
, s.estd_physical_reads
|
||
|
|
FROM
|
||
|
|
gv$sga_target_advice s
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
s.inst_id = i.inst_id
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, s.sga_size_factor;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - SGA (ASMM) DYNAMIC COMPONENTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="sga_asmm_dynamic_components"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>SGA (ASMM) Dynamic Components</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt Provides a summary report of all dynamic components as part of the Automatic Shared Memory
|
||
|
|
prompt Management (ASMM) configuration. This will display the total real memory allocation for the current
|
||
|
|
prompt SGA from the V$SGA_DYNAMIC_COMPONENTS view, which contains both manual and autotuned SGA components.
|
||
|
|
prompt As with the other manageability features of Oracle Database 10g, ASMM requires you to set the
|
||
|
|
prompt STATISTICS_LEVEL parameter to at least TYPICAL (the default) before attempting to enable ASMM. ASMM
|
||
|
|
prompt can be enabled by setting SGA_TARGET to a nonzero value in the initialization parameter file (pfile/spfile).
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name FORMAT a79 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN component FORMAT a79 HEADING 'Component Name' ENTMAP off
|
||
|
|
COLUMN current_size FORMAT 999,999,999,999 HEADING 'Current Size' ENTMAP off
|
||
|
|
COLUMN min_size FORMAT 999,999,999,999 HEADING 'Min Size' ENTMAP off
|
||
|
|
COLUMN max_size FORMAT 999,999,999,999 HEADING 'Max Size' ENTMAP off
|
||
|
|
COLUMN user_specified_size FORMAT 999,999,999,999 HEADING 'User Specified|Size' ENTMAP off
|
||
|
|
COLUMN oper_count FORMAT 999,999,999,999 HEADING 'Oper.|Count' ENTMAP off
|
||
|
|
COLUMN last_oper_type FORMAT a75 HEADING 'Last Oper.|Type' ENTMAP off
|
||
|
|
COLUMN last_oper_mode FORMAT a75 HEADING 'Last Oper.|Mode' ENTMAP off
|
||
|
|
COLUMN last_oper_time FORMAT a75 HEADING 'Last Oper.|Time' ENTMAP off
|
||
|
|
COLUMN granule_size FORMAT 999,999,999,999 HEADING 'Granule Size' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name
|
||
|
|
, sdc.component
|
||
|
|
, sdc.current_size
|
||
|
|
, sdc.min_size
|
||
|
|
, sdc.max_size
|
||
|
|
, sdc.user_specified_size
|
||
|
|
, sdc.oper_count
|
||
|
|
, sdc.last_oper_type
|
||
|
|
, sdc.last_oper_mode
|
||
|
|
, '<div align="right">' || NVL(TO_CHAR(sdc.last_oper_time, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' last_oper_time
|
||
|
|
, sdc.granule_size
|
||
|
|
FROM
|
||
|
|
gv$sga_dynamic_components sdc
|
||
|
|
, gv$instance i
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, sdc.component DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - PGA TARGET ADVICE - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="pga_target_advice"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>PGA Target Advice</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt The <b>V$PGA_TARGET_ADVICE</b> view predicts how the statistics cache hit percentage and over
|
||
|
|
prompt allocation count in V$PGASTAT will be impacted if you change the value of the
|
||
|
|
prompt initialization parameter PGA_AGGREGATE_TARGET. When you set the PGA_AGGREGATE_TARGET and
|
||
|
|
prompt WORKAREA_SIZE_POLICY to <b>AUTO</b> then the *_AREA_SIZE parameter are automatically ignored and
|
||
|
|
prompt Oracle will automatically use the computed value for these parameters. Use the results from
|
||
|
|
prompt the query below to adequately set the initialization parameter PGA_AGGREGATE_TARGET as to avoid
|
||
|
|
prompt any over allocation. If column ESTD_OVERALLOCATION_COUNT in the V$PGA_TARGET_ADVICE
|
||
|
|
prompt view (below) is nonzero, it indicates that PGA_AGGREGATE_TARGET is too small to even
|
||
|
|
prompt meet the minimum PGA memory needs. If PGA_AGGREGATE_TARGET is set within the over
|
||
|
|
prompt allocation zone, the memory manager will over-allocate memory and actual PGA memory
|
||
|
|
prompt consumed will be more than the limit you set. It is therefore meaningless to set a
|
||
|
|
prompt value of PGA_AGGREGATE_TARGET in that zone. After eliminating over-allocations, the
|
||
|
|
prompt goal is to maximize the PGA cache hit percentage, based on your response-time requirement
|
||
|
|
prompt and memory constraints.
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name FORMAT a79 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN name FORMAT a79 HEADING 'Parameter Name' ENTMAP off
|
||
|
|
COLUMN value FORMAT a79 HEADING 'Value' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name
|
||
|
|
, p.name name
|
||
|
|
, (CASE p.name
|
||
|
|
WHEN 'pga_aggregate_target' THEN '<div align="right">' || TO_CHAR(p.value, '999,999,999,999,999') || '</div>'
|
||
|
|
ELSE
|
||
|
|
'<div align="right">' || p.value || '</div>'
|
||
|
|
END) value
|
||
|
|
FROM
|
||
|
|
gv$parameter p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
p.inst_id = i.inst_id
|
||
|
|
AND p.name IN ('pga_aggregate_target', 'workarea_size_policy')
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, p.name;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name FORMAT a79 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN pga_target_for_estimate FORMAT 999,999,999,999,999 HEADING 'PGA Target for Estimate' ENTMAP off
|
||
|
|
COLUMN estd_extra_bytes_rw FORMAT 999,999,999,999,999 HEADING 'Estimated Extra Bytes R/W' ENTMAP off
|
||
|
|
COLUMN estd_pga_cache_hit_percentage FORMAT 999,999,999,999,999 HEADING 'Estimated PGA Cache Hit %' ENTMAP off
|
||
|
|
COLUMN estd_overalloc_count FORMAT 999,999,999,999,999 HEADING 'ESTD_OVERALLOC_COUNT' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name
|
||
|
|
, p.pga_target_for_estimate
|
||
|
|
, p.estd_extra_bytes_rw
|
||
|
|
, p.estd_pga_cache_hit_percentage
|
||
|
|
, p.estd_overalloc_count
|
||
|
|
FROM
|
||
|
|
gv$pga_target_advice p
|
||
|
|
, gv$instance i
|
||
|
|
WHERE
|
||
|
|
p.inst_id = i.inst_id
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, p.pga_target_for_estimate;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FILE I/O STATISTICS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="file_io_statistics"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>File I/O Statistics</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Ordered by "Physical Reads" since last startup of the Oracle instance</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN tablespace_name FORMAT a50 HEAD 'Tablespace' ENTMAP off
|
||
|
|
COLUMN fname HEAD 'File Name' ENTMAP off
|
||
|
|
COLUMN phyrds FORMAT 999,999,999,999,999 HEAD 'Physical Reads' ENTMAP off
|
||
|
|
COLUMN phywrts FORMAT 999,999,999,999,999 HEAD 'Physical Writes' ENTMAP off
|
||
|
|
COLUMN read_pct HEAD 'Read Pct.' ENTMAP off
|
||
|
|
COLUMN write_pct HEAD 'Write Pct.' ENTMAP off
|
||
|
|
COLUMN total_io FORMAT 999,999,999,999,999 HEAD 'Total I/O' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF phyrds phywrts total_io ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || df.tablespace_name || '</b></font>' tablespace_name
|
||
|
|
, df.file_name fname
|
||
|
|
, fs.phyrds phyrds
|
||
|
|
, '<div align="right">' || ROUND((fs.phyrds * 100) / (fst.pr + tst.pr), 2) || '%</div>' read_pct
|
||
|
|
, fs.phywrts phywrts
|
||
|
|
, '<div align="right">' || ROUND((fs.phywrts * 100) / (fst.pw + tst.pw), 2) || '%</div>' write_pct
|
||
|
|
, (fs.phyrds + fs.phywrts) total_io
|
||
|
|
FROM
|
||
|
|
sys.dba_data_files df
|
||
|
|
, v$filestat fs
|
||
|
|
, (select sum(f.phyrds) pr, sum(f.phywrts) pw from v$filestat f) fst
|
||
|
|
, (select sum(t.phyrds) pr, sum(t.phywrts) pw from v$tempstat t) tst
|
||
|
|
WHERE
|
||
|
|
df.file_id = fs.file#
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || tf.tablespace_name || '</b></font>' tablespace_name
|
||
|
|
, tf.file_name fname
|
||
|
|
, ts.phyrds phyrds
|
||
|
|
, '<div align="right">' || ROUND((ts.phyrds * 100) / (fst.pr + tst.pr), 2) || '%</div>' read_pct
|
||
|
|
, ts.phywrts phywrts
|
||
|
|
, '<div align="right">' || ROUND((ts.phywrts * 100) / (fst.pw + tst.pw), 2) || '%</div>' write_pct
|
||
|
|
, (ts.phyrds + ts.phywrts) total_io
|
||
|
|
FROM
|
||
|
|
sys.dba_temp_files tf
|
||
|
|
, v$tempstat ts
|
||
|
|
, (select sum(f.phyrds) pr, sum(f.phywrts) pw from v$filestat f) fst
|
||
|
|
, (select sum(t.phyrds) pr, sum(t.phywrts) pw from v$tempstat t) tst
|
||
|
|
WHERE
|
||
|
|
tf.file_id = ts.file#
|
||
|
|
ORDER BY phyrds DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FILE I/O TIMINGS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="file_io_timings"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>File I/O Timings</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Average time (in milliseconds) for an I/O call per datafile since last startup of the Oracle instance - (ordered by Physical Reads)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN fname HEAD 'File Name' ENTMAP off
|
||
|
|
COLUMN phyrds FORMAT 999,999,999,999,999 HEAD 'Physical Reads' ENTMAP off
|
||
|
|
COLUMN read_rate FORMAT 999,999,999,999,999.99 HEAD 'Average Read Time<br>(milliseconds per read)' ENTMAP off
|
||
|
|
COLUMN phywrts FORMAT 999,999,999,999,999 HEAD 'Physical Writes' ENTMAP off
|
||
|
|
COLUMN write_rate FORMAT 999,999,999,999,999.99 HEAD 'Average Write Time<br>(milliseconds per write)' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON REPORT
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF phyrds phywrts ON report
|
||
|
|
COMPUTE avg LABEL '<font color="#990000"><b>Average: </b></font>' OF read_rate write_rate ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || d.name || '</font></b>' fname
|
||
|
|
, s.phyrds phyrds
|
||
|
|
, ROUND((s.readtim/GREATEST(s.phyrds,1)), 2) read_rate
|
||
|
|
, s.phywrts phywrts
|
||
|
|
, ROUND((s.writetim/GREATEST(s.phywrts,1)),2) write_rate
|
||
|
|
FROM
|
||
|
|
v$filestat s
|
||
|
|
, v$datafile d
|
||
|
|
WHERE
|
||
|
|
s.file# = d.file#
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || t.name || '</font></b>' fname
|
||
|
|
, s.phyrds phyrds
|
||
|
|
, ROUND((s.readtim/GREATEST(s.phyrds,1)), 2) read_rate
|
||
|
|
, s.phywrts phywrts
|
||
|
|
, ROUND((s.writetim/GREATEST(s.phywrts,1)),2) write_rate
|
||
|
|
FROM
|
||
|
|
v$tempstat s
|
||
|
|
, v$tempfile t
|
||
|
|
WHERE
|
||
|
|
s.file# = t.file#
|
||
|
|
ORDER BY
|
||
|
|
2 DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - AVERAGE OVERALL I/O PER SECOND - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="average_overall_io_per_sec"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Average Overall I/O per Second</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Average overall I/O calls (physical read/write calls) since last startup of the Oracle instance</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
DECLARE
|
||
|
|
|
||
|
|
CURSOR get_file_io IS
|
||
|
|
SELECT
|
||
|
|
NVL(SUM(a.phyrds + a.phywrts), 0) sum_datafile_io
|
||
|
|
, TO_NUMBER(null) sum_tempfile_io
|
||
|
|
FROM
|
||
|
|
v$filestat a
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
TO_NUMBER(null) sum_datafile_io
|
||
|
|
, NVL(SUM(b.phyrds + b.phywrts), 0) sum_tempfile_io
|
||
|
|
FROM
|
||
|
|
v$tempstat b;
|
||
|
|
|
||
|
|
current_time DATE;
|
||
|
|
elapsed_time_seconds NUMBER;
|
||
|
|
sum_datafile_io NUMBER;
|
||
|
|
sum_datafile_io2 NUMBER;
|
||
|
|
sum_tempfile_io NUMBER;
|
||
|
|
sum_tempfile_io2 NUMBER;
|
||
|
|
total_io NUMBER;
|
||
|
|
datafile_io_per_sec NUMBER;
|
||
|
|
tempfile_io_per_sec NUMBER;
|
||
|
|
total_io_per_sec NUMBER;
|
||
|
|
|
||
|
|
BEGIN
|
||
|
|
OPEN get_file_io;
|
||
|
|
FOR i IN 1..2 LOOP
|
||
|
|
FETCH get_file_io INTO sum_datafile_io, sum_tempfile_io;
|
||
|
|
IF i = 1 THEN
|
||
|
|
sum_datafile_io2 := sum_datafile_io;
|
||
|
|
ELSE
|
||
|
|
sum_tempfile_io2 := sum_tempfile_io;
|
||
|
|
END IF;
|
||
|
|
END LOOP;
|
||
|
|
|
||
|
|
total_io := sum_datafile_io2 + sum_tempfile_io2;
|
||
|
|
SELECT sysdate INTO current_time FROM dual;
|
||
|
|
SELECT CEIL ((current_time - startup_time)*(60*60*24)) INTO elapsed_time_seconds FROM v$instance;
|
||
|
|
|
||
|
|
datafile_io_per_sec := sum_datafile_io2/elapsed_time_seconds;
|
||
|
|
tempfile_io_per_sec := sum_tempfile_io2/elapsed_time_seconds;
|
||
|
|
total_io_per_sec := total_io/elapsed_time_seconds;
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<table width="90%" border="1">');
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><th align="left" width="20%">Elapsed Time (in seconds)</th><td width="80%">' || TO_CHAR(elapsed_time_seconds, '9,999,999,999,999') || '</td></tr>');
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><th align="left" width="20%">Datafile I/O Calls per Second</th><td width="80%">' || TO_CHAR(datafile_io_per_sec, '9,999,999,999,999') || '</td></tr>');
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><th align="left" width="20%">Tempfile I/O Calls per Second</th><td width="80%">' || TO_CHAR(tempfile_io_per_sec, '9,999,999,999,999') || '</td></tr>');
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><th align="left" width="20%">Total I/O Calls per Second</th><td width="80%">' || TO_CHAR(total_io_per_sec, '9,999,999,999,999') || '</td></tr>');
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('</table>');
|
||
|
|
END;
|
||
|
|
/
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - REDO LOG CONTENTION - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="redo_log_contention"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Redo Log Contention</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>All latches like redo% - (ordered by misses)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name FORMAT a95 HEADING 'Latch Name'
|
||
|
|
COLUMN gets FORMAT 999,999,999,999,999,999 HEADING 'Gets'
|
||
|
|
COLUMN misses FORMAT 999,999,999,999 HEADING 'Misses'
|
||
|
|
COLUMN sleeps FORMAT 999,999,999,999 HEADING 'Sleeps'
|
||
|
|
COLUMN immediate_gets FORMAT 999,999,999,999,999,999 HEADING 'Immediate Gets'
|
||
|
|
COLUMN immediate_misses FORMAT 999,999,999,999 HEADING 'Immediate Misses'
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total:</b></font>' OF gets misses sleeps immediate_gets immediate_misses ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || INITCAP(name) || '</b></font></div>' name
|
||
|
|
, gets
|
||
|
|
, misses
|
||
|
|
, sleeps
|
||
|
|
, immediate_gets
|
||
|
|
, immediate_misses
|
||
|
|
FROM sys.v_$latch
|
||
|
|
WHERE name LIKE 'redo%'
|
||
|
|
ORDER BY 1;
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <b>System statistics like redo%</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name FORMAT a95 HEADING 'Statistics Name'
|
||
|
|
COLUMN value FORMAT 999,999,999,999,999 HEADING 'Value'
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || INITCAP(name) || '</b></font></div>' name
|
||
|
|
, value
|
||
|
|
FROM v$sysstat
|
||
|
|
WHERE name LIKE 'redo%'
|
||
|
|
ORDER BY 1;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - FULL TABLE SCANS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="full_table_scans"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Full Table Scans</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN large_table_scans FORMAT 999,999,999,999,999 HEADING 'Large Table Scans' ENTMAP off
|
||
|
|
COLUMN small_table_scans FORMAT 999,999,999,999,999 HEADING 'Small Table Scans' ENTMAP off
|
||
|
|
COLUMN pct_large_scans HEADING 'Pct. Large Scans' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.value large_table_scans
|
||
|
|
, b.value small_table_scans
|
||
|
|
, '<div align="right">' || ROUND(100*a.value/DECODE((a.value+b.value),0,1,(a.value+b.value)),2) || '%</div>' pct_large_scans
|
||
|
|
FROM
|
||
|
|
v$sysstat a
|
||
|
|
, v$sysstat b
|
||
|
|
WHERE
|
||
|
|
a.name = 'table scans (long tables)'
|
||
|
|
AND b.name = 'table scans (short tables)';
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - SORTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="sorts"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Sorts</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN disk_sorts FORMAT 999,999,999,999,999 HEADING 'Disk Sorts' ENTMAP off
|
||
|
|
COLUMN memory_sorts FORMAT 999,999,999,999,999 HEADING 'Memory Sorts' ENTMAP off
|
||
|
|
COLUMN pct_disk_sorts HEADING 'Pct. Disk Sorts' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.value disk_sorts
|
||
|
|
, b.value memory_sorts
|
||
|
|
, '<div align="right">' || ROUND(100*a.value/DECODE((a.value+b.value),0,1,(a.value+b.value)),2) || '%</div>' pct_disk_sorts
|
||
|
|
FROM
|
||
|
|
v$sysstat a
|
||
|
|
, v$sysstat b
|
||
|
|
WHERE
|
||
|
|
a.name = 'sorts (disk)'
|
||
|
|
AND b.name = 'sorts (memory)';
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OUTLINES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_outlines"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Outlines</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN category FORMAT a125 HEADING 'Category' ENTMAP off
|
||
|
|
COLUMN owner FORMAT a125 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN name FORMAT a125 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN used HEADING 'Used?' ENTMAP off
|
||
|
|
COLUMN timestamp FORMAT a125 HEADING 'Time Stamp' ENTMAP off
|
||
|
|
COLUMN version HEADING 'Version' ENTMAP off
|
||
|
|
COLUMN sql_text HEADING 'SQL Text' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap><font color="#336699"><b>' || category || '</b></font></div>' category
|
||
|
|
, owner
|
||
|
|
, name
|
||
|
|
, used
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(timestamp, 'mm/dd/yyyy HH24:MI:SS') || '</div>' timestamp
|
||
|
|
, version
|
||
|
|
, sql_text
|
||
|
|
FROM
|
||
|
|
dba_outlines
|
||
|
|
ORDER BY
|
||
|
|
category
|
||
|
|
, owner
|
||
|
|
, name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OUTLINE HINTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_outline_hints"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Outline Hints</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN category FORMAT a125 HEADING 'Category' ENTMAP off
|
||
|
|
COLUMN owner FORMAT a125 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN name FORMAT a125 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN node HEADING 'Node' ENTMAP off
|
||
|
|
COLUMN join_pos HEADING 'Join Position' ENTMAP off
|
||
|
|
COLUMN hint HEADING 'Hint' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON category ON owner ON name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap><font color="#336699"><b>' || a.category || '</b></font></div>' category
|
||
|
|
, a.owner owner
|
||
|
|
, a.name name
|
||
|
|
, '<div align="center">' || b.node || '</div>' node
|
||
|
|
, '<div align="center">' || b.join_pos || '</div>' join_pos
|
||
|
|
, b.hint hint
|
||
|
|
FROM
|
||
|
|
dba_outlines a
|
||
|
|
, dba_outline_hints b
|
||
|
|
WHERE
|
||
|
|
a.owner = b.owner
|
||
|
|
AND b.name = b.name
|
||
|
|
ORDER BY
|
||
|
|
category
|
||
|
|
, owner
|
||
|
|
, name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - SQL STATEMENTS WITH MOST BUFFER GETS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="sql_statements_with_most_buffer_gets"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>SQL Statements With Most Buffer Gets</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Top 100 SQL statements with buffer gets greater than 1000</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN username FORMAT a75 HEADING 'Username' ENTMAP off
|
||
|
|
COLUMN buffer_gets FORMAT 999,999,999,999,999 HEADING 'Buffer Gets' ENTMAP off
|
||
|
|
COLUMN executions FORMAT 999,999,999,999,999 HEADING 'Executions' ENTMAP off
|
||
|
|
COLUMN gets_per_exec FORMAT 999,999,999,999,999 HEADING 'Buffer Gets / Execution' ENTMAP off
|
||
|
|
COLUMN sql_text HEADING 'SQL Text' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || UPPER(b.username) || '</b></font>' username
|
||
|
|
, a.buffer_gets buffer_gets
|
||
|
|
, a.executions executions
|
||
|
|
, (a.buffer_gets / decode(a.executions, 0, 1, a.executions)) gets_per_exec
|
||
|
|
, a.sql_text sql_text
|
||
|
|
FROM
|
||
|
|
(SELECT ai.buffer_gets, ai.executions, ai.sql_text, ai.parsing_user_id
|
||
|
|
FROM sys.v_$sqlarea ai
|
||
|
|
ORDER BY ai.buffer_gets
|
||
|
|
) a
|
||
|
|
, dba_users b
|
||
|
|
WHERE
|
||
|
|
a.parsing_user_id = b.user_id
|
||
|
|
AND a.buffer_gets > 1000
|
||
|
|
AND b.username NOT IN ('SYS','SYSTEM')
|
||
|
|
AND rownum < 101
|
||
|
|
ORDER BY
|
||
|
|
a.buffer_gets DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - SQL STATEMENTS WITH MOST DISK READS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="sql_statements_with_most_disk_reads"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>SQL Statements With Most Disk Reads</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Top 100 SQL statements with disk reads greater than 1000</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN username FORMAT a75 HEADING 'Username' ENTMAP off
|
||
|
|
COLUMN disk_reads FORMAT 999,999,999,999,999 HEADING 'Disk Reads' ENTMAP off
|
||
|
|
COLUMN executions FORMAT 999,999,999,999,999 HEADING 'Executions' ENTMAP off
|
||
|
|
COLUMN reads_per_exec FORMAT 999,999,999,999,999 HEADING 'Reads / Execution' ENTMAP off
|
||
|
|
COLUMN sql_text HEADING 'SQL Text' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || UPPER(b.username) || '</b></font>' username
|
||
|
|
, a.disk_reads disk_reads
|
||
|
|
, a.executions executions
|
||
|
|
, (a.disk_reads / decode(a.executions, 0, 1, a.executions)) reads_per_exec
|
||
|
|
, a.sql_text sql_text
|
||
|
|
FROM
|
||
|
|
(SELECT ai.disk_reads, ai.executions, ai.sql_text, ai.parsing_user_id
|
||
|
|
FROM sys.v_$sqlarea ai
|
||
|
|
ORDER BY ai.buffer_gets
|
||
|
|
) a
|
||
|
|
, dba_users b
|
||
|
|
WHERE
|
||
|
|
a.parsing_user_id = b.user_id
|
||
|
|
AND a.disk_reads > 1000
|
||
|
|
AND b.username NOT IN ('SYS','SYSTEM')
|
||
|
|
AND rownum < 101
|
||
|
|
ORDER BY
|
||
|
|
a.disk_reads DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< AUTOMATIC WORKLOAD REPOSITORY - (AWR) >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Automatic Workload Repository - (AWR)</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - WORKLOAD REPOSITORY INFORMATION - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="awr_workload_repository_information"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Workload Repository Information</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Instances found in the "Workload Repository"</b>
|
||
|
|
prompt <b>The instance running this report (&_instance_name) is indicated in "<font color="darkgreen">GREEN</font>"</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN dbbid FORMAT a75 HEAD 'Database ID' ENTMAP off
|
||
|
|
COLUMN dbb_name FORMAT a75 HEAD 'Database Name' ENTMAP off
|
||
|
|
COLUMN instt_name FORMAT a75 HEAD 'Instance Name' ENTMAP off
|
||
|
|
COLUMN instt_num FORMAT 9999999999 HEAD 'Instance Number' ENTMAP off
|
||
|
|
COLUMN host FORMAT a75 HEAD 'Host' ENTMAP off
|
||
|
|
COLUMN host_platform FORMAT a125 HEAD 'Host Platform' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DISTINCT (CASE WHEN cd.dbid = wr.dbid
|
||
|
|
AND
|
||
|
|
cd.name = wr.db_name
|
||
|
|
AND
|
||
|
|
ci.instance_number = wr.instance_number
|
||
|
|
AND
|
||
|
|
ci.instance_name = wr.instance_name
|
||
|
|
THEN '<div align="left"><font color="darkgreen"><b>' || wr.dbid || '</b></font></div>'
|
||
|
|
ELSE '<div align="left"><font color="#663300"><b>' || wr.dbid || '</b></font></div>'
|
||
|
|
END) dbbid
|
||
|
|
, wr.db_name dbb_name
|
||
|
|
, wr.instance_name instt_name
|
||
|
|
, wr.instance_number instt_num
|
||
|
|
, wr.host_name host
|
||
|
|
, cd.platform_name host_platform
|
||
|
|
FROM
|
||
|
|
dba_hist_database_instance wr
|
||
|
|
, v$database cd
|
||
|
|
, v$instance ci
|
||
|
|
ORDER BY
|
||
|
|
wr.instance_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - AWR SNAPSHOT SETTINGS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="awr_snapshot_settings"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>AWR Snapshot Settings</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt Use the <b>DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS</b> procedure to modify the interval
|
||
|
|
prompt of the snapshot generation and how long the snapshots are retained in the Workload Repository. The
|
||
|
|
prompt default interval is 60 minutes and can be set to a value between 10 minutes and 5,256,000 (1 year).
|
||
|
|
prompt The default retention period is 10,080 minutes (7 days) and can be set to a value between
|
||
|
|
prompt 1,440 minutes (1 day) and 52,560,000 minutes (100 years).
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN dbbid FORMAT a75 HEAD 'Database ID' ENTMAP off
|
||
|
|
COLUMN dbb_name FORMAT a75 HEAD 'Database Name' ENTMAP off
|
||
|
|
COLUMN snap_interval FORMAT a75 HEAD 'Snap Interval' ENTMAP off
|
||
|
|
COLUMN retention FORMAT a75 HEAD 'Retention Period' ENTMAP off
|
||
|
|
COLUMN topnsql FORMAT a75 HEAD 'Top N SQL' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || s.dbid || '</b></font></div>' dbbid
|
||
|
|
, d.name dbb_name
|
||
|
|
, s.snap_interval snap_interval
|
||
|
|
, s.retention retention
|
||
|
|
, s.topnsql
|
||
|
|
FROM
|
||
|
|
dba_hist_wr_control s
|
||
|
|
, v$database d
|
||
|
|
WHERE
|
||
|
|
s.dbid = d.dbid
|
||
|
|
ORDER BY
|
||
|
|
dbbid;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - AWR SNAPSHOT LIST - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="awr_snapshot_list"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>AWR Snapshot List</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a75 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN snap_id FORMAT a75 HEADING 'Snap ID' ENTMAP off
|
||
|
|
COLUMN startup_time FORMAT a75 HEADING 'Instance Startup Time' ENTMAP off
|
||
|
|
COLUMN begin_interval_time FORMAT a75 HEADING 'Begin Interval Time' ENTMAP off
|
||
|
|
COLUMN end_interval_time FORMAT a75 HEADING 'End Interval Time' ENTMAP off
|
||
|
|
COLUMN elapsed_time FORMAT 999,999,999.99 HEADING 'Elapsed Time (min)' ENTMAP off
|
||
|
|
COLUMN db_time FORMAT 999,999,999.99 HEADING 'DB Time (min)' ENTMAP off
|
||
|
|
COLUMN pct_db_time FORMAT a75 HEADING '% DB Time' ENTMAP off
|
||
|
|
COLUMN cpu_time FORMAT 999,999,999.99 HEADING 'CPU Time (min)' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON instance_name_print ON startup_time
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center"><font color="#336699"><b>' || s.snap_id || '</b></font></div>' snap_id
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(s.startup_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' startup_time
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(s.begin_interval_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' begin_interval_time
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(s.end_interval_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' end_interval_time
|
||
|
|
, ROUND(EXTRACT(DAY FROM s.end_interval_time - s.begin_interval_time) * 1440 +
|
||
|
|
EXTRACT(HOUR FROM s.end_interval_time - s.begin_interval_time) * 60 +
|
||
|
|
EXTRACT(MINUTE FROM s.end_interval_time - s.begin_interval_time) +
|
||
|
|
EXTRACT(SECOND FROM s.end_interval_time - s.begin_interval_time) / 60, 2) elapsed_time
|
||
|
|
, ROUND((e.value - b.value)/1000000/60, 2) db_time
|
||
|
|
, '<div align="right">' ||
|
||
|
|
ROUND(((((e.value - b.value)/1000000/60) / (EXTRACT(DAY FROM s.end_interval_time - s.begin_interval_time) * 1440 +
|
||
|
|
EXTRACT(HOUR FROM s.end_interval_time - s.begin_interval_time) * 60 +
|
||
|
|
EXTRACT(MINUTE FROM s.end_interval_time - s.begin_interval_time) +
|
||
|
|
EXTRACT(SECOND FROM s.end_interval_time - s.begin_interval_time) / 60) ) * 100), 2)
|
||
|
|
|| ' %</div>' pct_db_time
|
||
|
|
FROM
|
||
|
|
dba_hist_snapshot s
|
||
|
|
, gv$instance i
|
||
|
|
, dba_hist_sys_time_model e
|
||
|
|
, dba_hist_sys_time_model b
|
||
|
|
WHERE
|
||
|
|
i.instance_number = s.instance_number
|
||
|
|
AND e.snap_id = s.snap_id
|
||
|
|
AND b.snap_id = s.snap_id - 1
|
||
|
|
AND e.stat_id = b.stat_id
|
||
|
|
AND e.instance_number = b.instance_number
|
||
|
|
AND e.instance_number = s.instance_number
|
||
|
|
AND e.stat_name = 'DB time'
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, s.snap_id;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - AWR SNAPSHOT SIZE ESTIMATES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="awr_snapshot_size_estimates"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>AWR Snapshot Size Estimates</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
DECLARE
|
||
|
|
|
||
|
|
CURSOR get_instances IS
|
||
|
|
SELECT COUNT(DISTINCT instance_number)
|
||
|
|
FROM wrm$_database_instance;
|
||
|
|
|
||
|
|
CURSOR get_wr_control_info IS
|
||
|
|
SELECT snapint_num, retention_num
|
||
|
|
FROM wrm$_wr_control;
|
||
|
|
|
||
|
|
CURSOR get_snaps IS
|
||
|
|
SELECT
|
||
|
|
SUM(all_snaps)
|
||
|
|
, SUM(good_snaps)
|
||
|
|
, SUM(today_snaps)
|
||
|
|
, SYSDATE - MIN(begin_interval_time)
|
||
|
|
FROM
|
||
|
|
(SELECT
|
||
|
|
1 AS all_snaps
|
||
|
|
, (CASE WHEN s.status = 0 THEN 1 ELSE 0 END) AS good_snaps
|
||
|
|
, (CASE WHEN (s.end_interval_time > SYSDATE - 1) THEN 1 ELSE 0 END) AS today_snaps
|
||
|
|
, CAST(s.begin_interval_time AS DATE) AS begin_interval_time
|
||
|
|
FROM wrm$_snapshot s
|
||
|
|
);
|
||
|
|
|
||
|
|
CURSOR sysaux_occ_usage IS
|
||
|
|
SELECT
|
||
|
|
occupant_name
|
||
|
|
, schema_name
|
||
|
|
, space_usage_kbytes/1024 space_usage_mb
|
||
|
|
FROM
|
||
|
|
v$sysaux_occupants
|
||
|
|
ORDER BY
|
||
|
|
space_usage_kbytes DESC
|
||
|
|
, occupant_name;
|
||
|
|
|
||
|
|
mb_format CONSTANT VARCHAR2(30) := '99,999,990.0';
|
||
|
|
kb_format CONSTANT VARCHAR2(30) := '999,999,990';
|
||
|
|
pct_format CONSTANT VARCHAR2(30) := '990.0';
|
||
|
|
snapshot_interval NUMBER;
|
||
|
|
retention_interval NUMBER;
|
||
|
|
all_snaps NUMBER;
|
||
|
|
awr_size NUMBER;
|
||
|
|
snap_size NUMBER;
|
||
|
|
awr_average_size NUMBER;
|
||
|
|
est_today_snaps NUMBER;
|
||
|
|
awr_size_past24 NUMBER;
|
||
|
|
good_snaps NUMBER;
|
||
|
|
today_snaps NUMBER;
|
||
|
|
num_days NUMBER;
|
||
|
|
num_instances NUMBER;
|
||
|
|
|
||
|
|
BEGIN
|
||
|
|
|
||
|
|
OPEN get_instances;
|
||
|
|
FETCH get_instances INTO num_instances;
|
||
|
|
CLOSE get_instances;
|
||
|
|
|
||
|
|
OPEN get_wr_control_info;
|
||
|
|
FETCH get_wr_control_info INTO snapshot_interval, retention_interval;
|
||
|
|
CLOSE get_wr_control_info;
|
||
|
|
|
||
|
|
OPEN get_snaps;
|
||
|
|
FETCH get_snaps INTO all_snaps, good_snaps, today_snaps, num_days;
|
||
|
|
CLOSE get_snaps;
|
||
|
|
|
||
|
|
FOR occ_rec IN sysaux_occ_usage
|
||
|
|
LOOP
|
||
|
|
IF (occ_rec.occupant_name = 'SM/AWR') THEN
|
||
|
|
awr_size := occ_rec.space_usage_mb;
|
||
|
|
END IF;
|
||
|
|
END LOOP;
|
||
|
|
|
||
|
|
snap_size := awr_size/all_snaps;
|
||
|
|
awr_average_size := snap_size*86400/snapshot_interval;
|
||
|
|
|
||
|
|
today_snaps := today_snaps / num_instances;
|
||
|
|
|
||
|
|
IF (num_days < 1) THEN
|
||
|
|
est_today_snaps := ROUND(today_snaps / num_days);
|
||
|
|
ELSE
|
||
|
|
est_today_snaps := today_snaps;
|
||
|
|
END IF;
|
||
|
|
|
||
|
|
awr_size_past24 := snap_size * est_today_snaps;
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<table width="90%" border="1">');
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><th align="center" colspan="3">Estimates based on ' || ROUND(snapshot_interval/60) || ' minute snapshot intervals</th></tr>');
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><td>AWR size/day</td><td align="right">'
|
||
|
|
|| TO_CHAR(awr_average_size, mb_format)
|
||
|
|
|| ' MB</td><td align="right">(' || TRIM(TO_CHAR(snap_size*1024, kb_format)) || ' K/snap * '
|
||
|
|
|| ROUND(86400/snapshot_interval) || ' snaps/day)</td></tr>' );
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><td>AWR size/wk</td><td align="right">'
|
||
|
|
|| TO_CHAR(awr_average_size * 7, mb_format)
|
||
|
|
|| ' MB</td><td align="right">(size_per_day * 7) per instance</td></tr>' );
|
||
|
|
IF (num_instances > 1) THEN
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><td>AWR size/wk</td><td align="right">'
|
||
|
|
|| TO_CHAR(awr_average_size * 7 * num_instances, mb_format)
|
||
|
|
|| ' MB</td><td align="right">(size_per_day * 7) per database</td></tr>' );
|
||
|
|
END IF;
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><th align="center" colspan="3">Estimates based on ' || ROUND(today_snaps) || ' snaps in past 24 hours</th></tr>');
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><td>AWR size/day</td><td align="right">'
|
||
|
|
|| TO_CHAR(awr_size_past24, mb_format)
|
||
|
|
|| ' MB</td><td align="right">('
|
||
|
|
|| TRIM(TO_CHAR(snap_size*1024, kb_format)) || ' K/snap and '
|
||
|
|
|| ROUND(today_snaps) || ' snaps in past '
|
||
|
|
|| ROUND(least(num_days*24,24),1) || ' hours)</td></tr>' );
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><td>AWR size/wk</td><td align="right">'
|
||
|
|
|| TO_CHAR(awr_size_past24 * 7, mb_format)
|
||
|
|
|| ' MB</td><td align="right">(size_per_day * 7) per instance</td></tr>' );
|
||
|
|
IF (num_instances > 1) THEN
|
||
|
|
DBMS_OUTPUT.PUT_LINE('<tr><td>AWR size/wk</td><td align="right">'
|
||
|
|
|| TO_CHAR(awr_size_past24 * 7 * num_instances, mb_format)
|
||
|
|
|| ' MB</td><td align="right">(size_per_day * 7) per database</td></tr>' );
|
||
|
|
END IF;
|
||
|
|
|
||
|
|
DBMS_OUTPUT.PUT_LINE('</table>');
|
||
|
|
|
||
|
|
END;
|
||
|
|
/
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - AWR BASELINES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="awr_baselines"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>AWR Baselines</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt Use the <b>DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE</b> procedure to create a named baseline.
|
||
|
|
prompt A baseline (also known as a preserved snapshot set) is a pair of AWR snapshots that represents a
|
||
|
|
prompt specific period of database usage. The Oracle database server will exempt the AWR snapshots
|
||
|
|
prompt assigned to a specific baseline from the automated purge routine. The main purpose of a baseline
|
||
|
|
prompt is to preserve typical run-time statistics in the AWR repository which can then be compared to
|
||
|
|
prompt current performance or similar periods in the past.
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN dbbid FORMAT a75 HEAD 'Database ID' ENTMAP off
|
||
|
|
COLUMN dbb_name FORMAT a75 HEAD 'Database Name' ENTMAP off
|
||
|
|
COLUMN baseline_id HEAD 'Baseline ID' ENTMAP off
|
||
|
|
COLUMN baseline_name FORMAT a75 HEAD 'Baseline Name' ENTMAP off
|
||
|
|
COLUMN start_snap_id HEAD 'Beginning Snapshot ID' ENTMAP off
|
||
|
|
COLUMN start_snap_time FORMAT a75 HEAD 'Beginning Snapshot Time' ENTMAP off
|
||
|
|
COLUMN end_snap_id HEAD 'Ending Snapshot ID' ENTMAP off
|
||
|
|
COLUMN end_snap_time FORMAT a75 HEAD 'Ending Snapshot Time' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || b.dbid || '</b></font></div>' dbbid
|
||
|
|
, d.name dbb_name
|
||
|
|
, b.baseline_id baseline_id
|
||
|
|
, baseline_name baseline_name
|
||
|
|
, b.start_snap_id start_snap_id
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(b.start_snap_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' start_snap_time
|
||
|
|
, b.end_snap_id end_snap_id
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(b.end_snap_time, 'mm/dd/yyyy HH24:MI:SS') || '</div>' end_snap_time
|
||
|
|
FROM
|
||
|
|
dba_hist_baseline b
|
||
|
|
, v$database d
|
||
|
|
WHERE
|
||
|
|
b.dbid = d.dbid
|
||
|
|
ORDER BY
|
||
|
|
dbbid
|
||
|
|
, b.baseline_id;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< SESSIONS >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Sessions</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - CURRENT SESSIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="current_sessions"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Current Sessions</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a45 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN thread_number_print FORMAT a45 HEADING 'Thread Number' ENTMAP off
|
||
|
|
COLUMN count FORMAT a45 HEADING 'Current No. of Processes' ENTMAP off
|
||
|
|
COLUMN value FORMAT a45 HEADING 'Max No. of Processes' ENTMAP off
|
||
|
|
COLUMN pct_usage FORMAT a45 HEADING '% Usage' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || a.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center">' || a.thread# || '</div>' thread_number_print
|
||
|
|
, '<div align="center">' || TO_CHAR(a.count) || '</div>' count
|
||
|
|
, '<div align="center">' || b.value || '</div>' value
|
||
|
|
, '<div align="center">' || TO_CHAR(ROUND(100*(a.count / b.value), 2)) || '%</div>' pct_usage
|
||
|
|
FROM
|
||
|
|
(select count(*) count, a1.inst_id, a2.instance_name, a2.thread#
|
||
|
|
from gv$session a1
|
||
|
|
, gv$instance a2
|
||
|
|
where a1.inst_id = a2.inst_id
|
||
|
|
group by a1.inst_id
|
||
|
|
, a2.instance_name
|
||
|
|
, a2.thread#) a
|
||
|
|
, (select value, inst_id from gv$parameter where name='processes') b
|
||
|
|
WHERE
|
||
|
|
a.inst_id = b.inst_id
|
||
|
|
ORDER BY
|
||
|
|
a.instance_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - USER SESSION MATRIX - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="user_session_matrix"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>User Session Matrix</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>User sessions (excluding SYS and background processes)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a75 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN thread_number_print FORMAT a75 HEADING 'Thread Number' ENTMAP off
|
||
|
|
COLUMN username FORMAT a79 HEADING 'Oracle User' ENTMAP off
|
||
|
|
COLUMN num_user_sess FORMAT 999,999,999,999 HEADING 'Total Number of Logins' ENTMAP off
|
||
|
|
COLUMN count_a FORMAT 999,999,999 HEADING 'Active Logins' ENTMAP off
|
||
|
|
COLUMN count_i FORMAT 999,999,999 HEADING 'Inactive Logins' ENTMAP off
|
||
|
|
COLUMN count_k FORMAT 999,999,999 HEADING 'Killed Logins' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print ON thread_number_print
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, '<div align="center"><font color="#336699"><b>' || i.thread# || '</b></font></div>' thread_number_print
|
||
|
|
, '<div align="left"><font color="#000000">' || NVL(sess.username, '[B.G. Process]') || '</font></div>' username
|
||
|
|
, count(*) num_user_sess
|
||
|
|
, NVL(act.count, 0) count_a
|
||
|
|
, NVL(inact.count, 0) count_i
|
||
|
|
, NVL(killed.count, 0) count_k
|
||
|
|
FROM
|
||
|
|
gv$session sess
|
||
|
|
, gv$instance i
|
||
|
|
, (SELECT count(*) count, NVL(username, '[B.G. Process]') username, inst_id
|
||
|
|
FROM gv$session
|
||
|
|
WHERE status = 'ACTIVE'
|
||
|
|
GROUP BY username, inst_id) act
|
||
|
|
, (SELECT count(*) count, NVL(username, '[B.G. Process]') username, inst_id
|
||
|
|
FROM gv$session
|
||
|
|
WHERE status = 'INACTIVE'
|
||
|
|
GROUP BY username, inst_id) inact
|
||
|
|
, (SELECT count(*) count, NVL(username, '[B.G. Process]') username, inst_id
|
||
|
|
FROM gv$session
|
||
|
|
WHERE status = 'KILLED'
|
||
|
|
GROUP BY username, inst_id) killed
|
||
|
|
WHERE
|
||
|
|
sess.inst_id = i.inst_id
|
||
|
|
AND (
|
||
|
|
NVL(sess.username, '[B.G. Process]') = act.username (+)
|
||
|
|
AND
|
||
|
|
sess.inst_id = act.inst_id (+)
|
||
|
|
)
|
||
|
|
AND (
|
||
|
|
NVL(sess.username, '[B.G. Process]') = inact.username (+)
|
||
|
|
AND
|
||
|
|
sess.inst_id = inact.inst_id (+)
|
||
|
|
)
|
||
|
|
AND (
|
||
|
|
NVL(sess.username, '[B.G. Process]') = killed.username (+)
|
||
|
|
AND
|
||
|
|
sess.inst_id = killed.inst_id (+)
|
||
|
|
)
|
||
|
|
AND sess.username NOT IN ('SYS')
|
||
|
|
GROUP BY
|
||
|
|
i.instance_name
|
||
|
|
, i.thread#
|
||
|
|
, sess.username
|
||
|
|
, act.count
|
||
|
|
, inact.count
|
||
|
|
, killed.count
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, i.thread#
|
||
|
|
, sess.username;
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ENABLED TRACES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_enabled_traces"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Enabled Traces</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b><u>End-to-End Application Tracing from View DBA_ENABLED_TRACES.</u></b>
|
||
|
|
prompt <li> <b>Trace Type:</b> Possible values are CLIENT_ID, SESSION, SERVICE, SERVICE_MODULE, SERVICE_MODULE_ACTION, and DATABASE, based on the type of tracing enabled.
|
||
|
|
prompt <li> <b>Primary ID:</b> Specific client identifier (username) or service name.
|
||
|
|
prompt <p>
|
||
|
|
|
||
|
|
prompt <b><u>Application tracing is enabled using the DBMS_MONITOR package and the following procedures:</u></b>
|
||
|
|
prompt <li> <b>CLIENT_ID_TRACE_ENABLE:</b> Enable tracing based on client identifier (username).
|
||
|
|
prompt <li> <b>CLIENT_ID_TRACE_DISABLE:</b> Disable client identifier tracing.
|
||
|
|
prompt <li> <b>SESSION_TRACE_ENABLE:</b> Enable tracing based on SID and SERIAL# of V$SESSION.
|
||
|
|
prompt <li> <b>SESSION_TRACE_DISABLE:</b> Disable session tracing.
|
||
|
|
prompt <li> <b>SERV_MOD_ACT_TRACE_ENABLE:</b> Enable tracing for a given combination of service name, module, and action.
|
||
|
|
prompt <li> <b>SERV_MOD_ACT_TRACE_DISABLE:</b> Disable service, module, and action tracing.
|
||
|
|
prompt <li> <b>DATABASE_TRACE_ENABLE:</b> Enable tracing for the entire database.
|
||
|
|
prompt <li> <b>DATABASE_TRACE_DISABLE:</b> Disable database tracing.
|
||
|
|
prompt <p>
|
||
|
|
|
||
|
|
prompt <b><font color="#ff0000">Hint</font>:</b> In a shared environment where you have more than one session to trace, it is
|
||
|
|
prompt possible to end up with many trace files when tracing is enabled (i.e. connection pools).
|
||
|
|
prompt Oracle10<i>g</i> introduces the <b>trcsess</b> command-line utility to combine all the relevant
|
||
|
|
prompt trace files based on a session or client identifier or the service name, module name, and
|
||
|
|
prompt action name hierarchy combination. The output trace file from the trcsess command can then be
|
||
|
|
prompt sent to tkprof for a formatted output. Type trcsess at the command-line without any arguments to
|
||
|
|
prompt show the parameters and usage.
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN trace_type FORMAT a75 HEADING 'Trace Type' ENTMAP off
|
||
|
|
COLUMN primary_id FORMAT a75 HEADING 'Primary ID' ENTMAP off
|
||
|
|
COLUMN qualifier_id1 FORMAT a75 HEADING 'Module Name' ENTMAP off
|
||
|
|
COLUMN qualifier_id2 FORMAT a75 HEADING 'Action Name' ENTMAP off
|
||
|
|
COLUMN waits FORMAT a75 HEADING 'Waits?' ENTMAP off
|
||
|
|
COLUMN binds FORMAT a75 HEADING 'Binds?' ENTMAP off
|
||
|
|
COLUMN instance_name_print FORMAT a75 HEADING 'Instance Name' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || trace_type || '</b></font></div>' trace_type
|
||
|
|
, '<div align="left">' || NVL(primary_id, '<br>') || '</div>' primary_id
|
||
|
|
, '<div align="left">' || NVL(qualifier_id1, '<br>') || '</div>' qualifier_id1
|
||
|
|
, '<div align="left">' || NVL(qualifier_id2, '<br>') || '</div>' qualifier_id2
|
||
|
|
, '<div align="center">' || waits || '</div>' waits
|
||
|
|
, '<div align="center">' || binds || '</div>' binds
|
||
|
|
, '<div align="left">' || NVL(instance_name, '<br>') || '</div>' instance_name_print
|
||
|
|
FROM
|
||
|
|
dba_enabled_traces
|
||
|
|
ORDER BY
|
||
|
|
trace_type
|
||
|
|
, primary_id
|
||
|
|
, qualifier_id1
|
||
|
|
, qualifier_id2;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ENABLED AGGREGATIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_enabled_aggregations"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Enabled Aggregations</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b><u>Statistics Aggregation from View DBA_ENABLED_AGGREGATIONS.</u></b>
|
||
|
|
prompt <li> <b>Aggregation Type:</b> Possible values are CLIENT_ID, SERVICE_MODULE, and SERVICE_MODULE_ACTION, based on the type of statistics being gathered.
|
||
|
|
prompt <li> <b>Primary ID:</b> Specific client identifier (username) or service name.
|
||
|
|
prompt <p>
|
||
|
|
|
||
|
|
prompt <b><u>Statistics aggregation is enabled using the DBMS_MONITOR package and the following procedures.</u></b>
|
||
|
|
prompt Note that statistics gathering is global for the database and is persistent across instance starts
|
||
|
|
prompt and restarts.
|
||
|
|
prompt <li> <b>CLIENT_ID_STAT_ENABLE:</b> Enable statistics gathering based on client identifier (username).
|
||
|
|
prompt <li> <b>CLIENT_ID_STAT_DISABLE:</b> Disable client identifier statistics gathering.
|
||
|
|
prompt <li> <b>SERV_MOD_ACT_STAT_ENABLE:</b> Enable statistics gathering for a given combination of service name, module, and action.
|
||
|
|
prompt <li> <b>SERV_MOD_ACT_STAT_DISABLE:</b> Disable service, module, and action statistics gathering.
|
||
|
|
prompt <p>
|
||
|
|
|
||
|
|
prompt <b><font color="#ff0000">Hint</font>:</b> While the DBA_ENABLED_AGGREGATIONS provides global statistics for currently enabled
|
||
|
|
prompt statistics, several other views can be used to query statistics aggregation values: V$CLIENT_STATS,
|
||
|
|
prompt V$SERVICE_STATS, V$SERV_MOD_ACT_STATS, and V$SERVICEMETRIC.
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN aggregation_type FORMAT a75 HEADING 'Aggregation Type' ENTMAP off
|
||
|
|
COLUMN primary_id FORMAT a75 HEADING 'Primary ID' ENTMAP off
|
||
|
|
COLUMN qualifier_id1 FORMAT a75 HEADING 'Module Name' ENTMAP off
|
||
|
|
COLUMN qualifier_id2 FORMAT a75 HEADING 'Action Name' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || aggregation_type || '</b></font></div>' aggregation_type
|
||
|
|
, '<div align="left">' || NVL(primary_id, '<br>') || '</div>' primary_id
|
||
|
|
, '<div align="left">' || NVL(qualifier_id1, '<br>') || '</div>' qualifier_id1
|
||
|
|
, '<div align="left">' || NVL(qualifier_id2, '<br>') || '</div>' qualifier_id2
|
||
|
|
FROM
|
||
|
|
dba_enabled_aggregations
|
||
|
|
ORDER BY
|
||
|
|
aggregation_type
|
||
|
|
, primary_id
|
||
|
|
, qualifier_id1
|
||
|
|
, qualifier_id2;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< SECURITY >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Security</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - USER ACCOUNTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="user_accounts"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>User Accounts</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN username FORMAT a75 HEAD 'Username' ENTMAP off
|
||
|
|
COLUMN account_status FORMAT a75 HEAD 'Account Status' ENTMAP off
|
||
|
|
COLUMN expiry_date FORMAT a75 HEAD 'Expire Date' ENTMAP off
|
||
|
|
COLUMN default_tablespace FORMAT a75 HEAD 'Default Tbs.' ENTMAP off
|
||
|
|
COLUMN temporary_tablespace FORMAT a75 HEAD 'Temp Tbs.' ENTMAP off
|
||
|
|
COLUMN created FORMAT a75 HEAD 'Created On' ENTMAP off
|
||
|
|
COLUMN profile FORMAT a75 HEAD 'Profile' ENTMAP off
|
||
|
|
COLUMN sysdba FORMAT a75 HEAD 'SYSDBA' ENTMAP off
|
||
|
|
COLUMN sysoper FORMAT a75 HEAD 'SYSOPER' ENTMAP off
|
||
|
|
|
||
|
|
SELECT distinct
|
||
|
|
'<b><font color="#336699">' || a.username || '</font></b>' username
|
||
|
|
, DECODE( a.account_status
|
||
|
|
, 'OPEN'
|
||
|
|
, '<div align="left"><b><font color="darkgreen">' || a.account_status || '</font></b></div>'
|
||
|
|
, '<div align="left"><b><font color="#663300">' || a.account_status || '</font></b></div>') account_status
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(a.expiry_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' expiry_date
|
||
|
|
, a.default_tablespace default_tablespace
|
||
|
|
, a.temporary_tablespace temporary_tablespace
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(a.created, 'mm/dd/yyyy HH24:MI:SS') || '</div>' created
|
||
|
|
, a.profile profile
|
||
|
|
, '<div nowrap align="center">' || NVL(DECODE(p.sysdba,'TRUE', 'TRUE',''), '<br>') || '</div>' sysdba
|
||
|
|
, '<div nowrap align="center">' || NVL(DECODE(p.sysoper,'TRUE','TRUE',''), '<br>') || '</div>' sysoper
|
||
|
|
FROM
|
||
|
|
dba_users a
|
||
|
|
, v$pwfile_users p
|
||
|
|
WHERE
|
||
|
|
p.username (+) = a.username
|
||
|
|
ORDER BY
|
||
|
|
username;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - USERS WITH DBA PRIVILEGES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="users_with_dba_privileges"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Users With DBA Privileges</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN grantee FORMAT a70 HEADING 'Grantee' ENTMAP off
|
||
|
|
COLUMN granted_role FORMAT a35 HEADING 'Granted Role' ENTMAP off
|
||
|
|
COLUMN admin_option FORMAT a75 HEADING 'Admin. Option?' ENTMAP off
|
||
|
|
COLUMN default_role FORMAT a75 HEADING 'Default Role?' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || grantee || '</font></b>' grantee
|
||
|
|
, '<div align="center">' || granted_role || '</div>' granted_role
|
||
|
|
, DECODE( admin_option
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || admin_option || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || admin_option || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || admin_option || '</b></font></div>') admin_option
|
||
|
|
, DECODE( default_role
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || default_role || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || default_role || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || default_role || '</b></font></div>') default_role
|
||
|
|
FROM
|
||
|
|
dba_role_privs
|
||
|
|
WHERE
|
||
|
|
granted_role = 'DBA'
|
||
|
|
ORDER BY
|
||
|
|
grantee
|
||
|
|
, granted_role;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ROLES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="roles"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Roles</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN role FORMAT a70 HEAD 'Role Name' ENTMAP off
|
||
|
|
COLUMN grantee FORMAT a35 HEAD 'Grantee' ENTMAP off
|
||
|
|
COLUMN admin_option FORMAT a75 HEAD 'Admin Option?' ENTMAP off
|
||
|
|
COLUMN default_role FORMAT a75 HEAD 'Default Role?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON role
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || b.role || '</font></b>' role
|
||
|
|
, a.grantee grantee
|
||
|
|
, DECODE( a.admin_option
|
||
|
|
, null
|
||
|
|
, '<br>'
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || a.admin_option || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || a.admin_option || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || a.admin_option || '</b></font></div>') admin_option
|
||
|
|
, DECODE( a.default_role
|
||
|
|
, null
|
||
|
|
, '<br>'
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || a.default_role || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || a.default_role || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || a.default_role || '</b></font></div>') default_role
|
||
|
|
FROM
|
||
|
|
dba_role_privs a
|
||
|
|
, dba_roles b
|
||
|
|
WHERE
|
||
|
|
granted_role(+) = b.role
|
||
|
|
ORDER BY
|
||
|
|
b.role
|
||
|
|
, a.grantee;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DEFAULT PASSWORDS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="default_passwords"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Default Passwords</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>User(s) with default password</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN username HEADING 'Username' ENTMAP off
|
||
|
|
COLUMN account_status FORMAT a75 HEADING 'Account Status' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || username || '</font></b>' username
|
||
|
|
, DECODE( account_status
|
||
|
|
, 'OPEN'
|
||
|
|
, '<div align="left"><b><font color="darkgreen">' || account_status || '</font></b></div>'
|
||
|
|
, '<div align="left"><b><font color="#663300">' || account_status || '</font></b></div>') account_status
|
||
|
|
FROM dba_users
|
||
|
|
WHERE password IN (
|
||
|
|
'E066D214D5421CCC' -- dbsnmp
|
||
|
|
, '24ABAB8B06281B4C' -- ctxsys
|
||
|
|
, '72979A94BAD2AF80' -- mdsys
|
||
|
|
, 'C252E8FA117AF049' -- odm
|
||
|
|
, 'A7A32CD03D3CE8D5' -- odm_mtr
|
||
|
|
, '88A2B2C183431F00' -- ordplugins
|
||
|
|
, '7EFA02EC7EA6B86F' -- ordsys
|
||
|
|
, '4A3BA55E08595C81' -- outln
|
||
|
|
, 'F894844C34402B67' -- scott
|
||
|
|
, '3F9FBD883D787341' -- wk_proxy
|
||
|
|
, '79DF7A1BD138CF11' -- wk_sys
|
||
|
|
, '7C9BA362F8314299' -- wmsys
|
||
|
|
, '88D8364765FCE6AF' -- xdb
|
||
|
|
, 'F9DA8977092B7B81' -- tracesvr
|
||
|
|
, '9300C0977D7DC75E' -- oas_public
|
||
|
|
, 'A97282CE3D94E29E' -- websys
|
||
|
|
, 'AC9700FD3F1410EB' -- lbacsys
|
||
|
|
, 'E7B5D92911C831E1' -- rman
|
||
|
|
, 'AC98877DE1297365' -- perfstat
|
||
|
|
, 'D4C5016086B2DC6A' -- sys
|
||
|
|
, 'D4DF7931AB130E37') -- system
|
||
|
|
ORDER BY
|
||
|
|
username;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DB LINKS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="db_links"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>DB Links</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN db_link FORMAT a75 HEADING 'DB Link Name' ENTMAP off
|
||
|
|
COLUMN username HEADING 'Username' ENTMAP off
|
||
|
|
COLUMN host HEADING 'Host' ENTMAP off
|
||
|
|
COLUMN created FORMAT a75 HEADING 'Created' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || owner || '</font></b>' owner
|
||
|
|
, db_link
|
||
|
|
, username
|
||
|
|
, host
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(created, 'mm/dd/yyyy HH24:MI:SS') || '</div>' created
|
||
|
|
FROM dba_db_links
|
||
|
|
ORDER BY owner, db_link;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< OBJECTS >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Objects</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OBJECT SUMMARY - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="object_summary"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Object Summary</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a60 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN object_type FORMAT a25 HEADING 'Object Type' ENTMAP off
|
||
|
|
COLUMN obj_count FORMAT 999,999,999,999 HEADING 'Object Count' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner SKIP 2
|
||
|
|
-- compute sum label "" of obj_count on owner
|
||
|
|
-- compute sum label '<font color="#990000"><b>Grand Total: </b></font>' of obj_count on report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF obj_count ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || owner || '</font></b>' owner
|
||
|
|
, object_type object_type
|
||
|
|
, count(*) obj_count
|
||
|
|
FROM
|
||
|
|
dba_objects
|
||
|
|
GROUP BY
|
||
|
|
owner
|
||
|
|
, object_type
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, object_type;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - SEGMENT SUMMARY - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="segment_summary"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Segment Summary</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a50 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN segment_type FORMAT a25 HEADING 'Segment Type' ENTMAP off
|
||
|
|
COLUMN seg_count FORMAT 999,999,999,999 HEADING 'Segment Count' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999 HEADING 'Size (in Bytes)' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner SKIP 2
|
||
|
|
-- COMPUTE sum LABEL "" OF seg_count bytes ON owner
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF seg_count bytes ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || owner || '</font></b>' owner
|
||
|
|
, segment_type segment_type
|
||
|
|
, count(*) seg_count
|
||
|
|
, sum(bytes) bytes
|
||
|
|
FROM
|
||
|
|
dba_segments
|
||
|
|
GROUP BY
|
||
|
|
owner
|
||
|
|
, segment_type
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, segment_type;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TOP 100 SEGMENTS (BY SIZE) - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="top_100_segments_by_size"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Top 100 Segments (by size)</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN segment_name HEADING 'Segment Name' ENTMAP off
|
||
|
|
COLUMN partition_name HEADING 'Partition Name' ENTMAP off
|
||
|
|
COLUMN segment_type HEADING 'Segment Type' ENTMAP off
|
||
|
|
COLUMN tablespace_name HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999,999 HEADING 'Size (in bytes)' ENTMAP off
|
||
|
|
COLUMN extents FORMAT 999,999,999,999,999,999 HEADING 'Extents' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF bytes extents ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.owner
|
||
|
|
, a.segment_name
|
||
|
|
, a.partition_name
|
||
|
|
, a.segment_type
|
||
|
|
, a.tablespace_name
|
||
|
|
, a.bytes
|
||
|
|
, a.extents
|
||
|
|
FROM
|
||
|
|
(select
|
||
|
|
b.owner
|
||
|
|
, b.segment_name
|
||
|
|
, b.partition_name
|
||
|
|
, b.segment_type
|
||
|
|
, b.tablespace_name
|
||
|
|
, b.bytes
|
||
|
|
, b.extents
|
||
|
|
from
|
||
|
|
dba_segments b
|
||
|
|
order by
|
||
|
|
b.bytes desc
|
||
|
|
) a
|
||
|
|
WHERE
|
||
|
|
rownum < 100;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TOP 100 SEGMENTS (BY EXTENTS) - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="top_100_segments_by_extents"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Top 100 Segments (by number of extents)</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN segment_name HEADING 'Segment Name' ENTMAP off
|
||
|
|
COLUMN partition_name HEADING 'Partition Name' ENTMAP off
|
||
|
|
COLUMN segment_type HEADING 'Segment Type' ENTMAP off
|
||
|
|
COLUMN tablespace_name HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN extents FORMAT 999,999,999,999,999,999 HEADING 'Extents' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999,999 HEADING 'Size (in bytes)' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF extents bytes ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.owner
|
||
|
|
, a.segment_name
|
||
|
|
, a.partition_name
|
||
|
|
, a.segment_type
|
||
|
|
, a.tablespace_name
|
||
|
|
, a.extents
|
||
|
|
, a.bytes
|
||
|
|
FROM
|
||
|
|
(select
|
||
|
|
b.owner
|
||
|
|
, b.segment_name
|
||
|
|
, b.partition_name
|
||
|
|
, b.segment_type
|
||
|
|
, b.tablespace_name
|
||
|
|
, b.bytes
|
||
|
|
, b.extents
|
||
|
|
from
|
||
|
|
dba_segments b
|
||
|
|
order by
|
||
|
|
b.extents desc
|
||
|
|
) a
|
||
|
|
WHERE
|
||
|
|
rownum < 100;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DIRECTORIES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_directories"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Directories</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN directory_name FORMAT a75 HEADING 'Directory Name' ENTMAP off
|
||
|
|
COLUMN directory_path HEADING 'Directory Path' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, '<b><font color="#663300">' || directory_name || '</font></b>' directory_name
|
||
|
|
, '<tt>' || directory_path || '</tt>' directory_path
|
||
|
|
FROM
|
||
|
|
dba_directories
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, directory_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DIRECTORY PRIVILEGES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_directory_privileges"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Directory Privileges</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN table_name FORMAT a75 HEADING 'Directory Name' ENTMAP off
|
||
|
|
COLUMN grantee FORMAT a75 HEADING 'Grantee' ENTMAP off
|
||
|
|
COLUMN privilege FORMAT a75 HEADING 'Privilege' ENTMAP off
|
||
|
|
COLUMN grantable FORMAT a75 HEADING 'Grantable?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON table_name ON grantee
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<b><font color="#336699">' || table_name || '</font></b>' table_name
|
||
|
|
, '<b><font color="#663300">' || grantee || '</font></b>' grantee
|
||
|
|
, privilege privilege
|
||
|
|
, DECODE( grantable
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || grantable || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || grantable || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || grantable || '</b></font></div>') grantable
|
||
|
|
FROM
|
||
|
|
dba_tab_privs
|
||
|
|
WHERE
|
||
|
|
privilege IN ('READ', 'WRITE')
|
||
|
|
ORDER BY
|
||
|
|
table_name
|
||
|
|
, grantee
|
||
|
|
, privilege;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - LIBRARIES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_libraries"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Libraries</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN library_name FORMAT a75 HEADING 'Library Name' ENTMAP off
|
||
|
|
COLUMN file_spec HEADING 'File Spec' ENTMAP off
|
||
|
|
COLUMN dynamic FORMAT a75 HEADING 'Dynamic?' ENTMAP off
|
||
|
|
COLUMN status FORMAT a75 HEADING 'Status' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, '<b><font color="#663300">' || library_name || '</font></b>' library_name
|
||
|
|
, file_spec file_spec
|
||
|
|
, '<div align="center">' || dynamic || '</div>' dynamic
|
||
|
|
, DECODE( status
|
||
|
|
, 'VALID'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || status || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || status || '</b></font></div>' ) status
|
||
|
|
FROM
|
||
|
|
dba_libraries
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, library_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TYPES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_types"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Types</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Excluding all internal system schemas (i.e. CTXSYS, MDSYS, SYS, SYSTEM)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN type_name FORMAT a75 HEADING 'Type Name' ENTMAP off
|
||
|
|
COLUMN typecode FORMAT a75 HEADING 'Type Code' ENTMAP off
|
||
|
|
COLUMN attributes FORMAT a75 HEADING 'Num. Attributes' ENTMAP off
|
||
|
|
COLUMN methods FORMAT a75 HEADING 'Num. Methods' ENTMAP off
|
||
|
|
COLUMN predefined FORMAT a75 HEADING 'Predefined?' ENTMAP off
|
||
|
|
COLUMN incomplete FORMAT a75 HEADING 'Incomplete?' ENTMAP off
|
||
|
|
COLUMN final FORMAT a75 HEADING 'Final?' ENTMAP off
|
||
|
|
COLUMN instantiable FORMAT a75 HEADING 'Instantiable?' ENTMAP off
|
||
|
|
COLUMN supertype_owner FORMAT a75 HEADING 'Super Owner' ENTMAP off
|
||
|
|
COLUMN supertype_name FORMAT a75 HEADING 'Super Name' ENTMAP off
|
||
|
|
COLUMN local_attributes FORMAT a75 HEADING 'Local Attributes' ENTMAP off
|
||
|
|
COLUMN local_methods FORMAT a75 HEADING 'Local Methods' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || t.owner || '</b></font></div>' owner
|
||
|
|
, '<div nowrap>' || t.type_name || '</div>' type_name
|
||
|
|
, '<div nowrap>' || t.typecode || '</div>' typecode
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(t.attributes, '999,999') || '</div>' attributes
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(t.methods, '999,999') || '</div>' methods
|
||
|
|
, '<div nowrap align="center">' || t.predefined || '</div>' predefined
|
||
|
|
, '<div nowrap align="center">' || t.incomplete || '</div>' incomplete
|
||
|
|
, '<div nowrap align="center">' || t.final || '</div>' final
|
||
|
|
, '<div nowrap align="center">' || t.instantiable || '</div>' instantiable
|
||
|
|
, '<div nowrap align="left">' || NVL(t.supertype_owner, '<br>') || '</div>' supertype_owner
|
||
|
|
, '<div nowrap align="left">' || NVL(t.supertype_name, '<br>') || '</div>' supertype_name
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(t.local_attributes, '999,999'), '<br>') || '</div>' local_attributes
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(t.local_methods, '999,999'), '<br>') || '</div>' local_methods
|
||
|
|
FROM
|
||
|
|
dba_types t
|
||
|
|
WHERE
|
||
|
|
t.owner NOT IN ( 'CTXSYS'
|
||
|
|
, 'DBSNMP'
|
||
|
|
, 'DMSYS'
|
||
|
|
, 'EXFSYS'
|
||
|
|
, 'IX'
|
||
|
|
, 'LBACSYS'
|
||
|
|
, 'MDSYS'
|
||
|
|
, 'OLAPSYS'
|
||
|
|
, 'ORDSYS'
|
||
|
|
, 'OUTLN'
|
||
|
|
, 'SYS'
|
||
|
|
, 'SYSMAN'
|
||
|
|
, 'SYSTEM'
|
||
|
|
, 'WKSYS'
|
||
|
|
, 'WMSYS'
|
||
|
|
, 'XDB')
|
||
|
|
ORDER BY
|
||
|
|
t.owner
|
||
|
|
, t.type_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TYPE ATTRIBUTES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_type_attributes"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Type Attributes</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Excluding all internal system schemas (i.e. CTXSYS, MDSYS, SYS, SYSTEM)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN type_name FORMAT a75 HEADING 'Type Name' ENTMAP off
|
||
|
|
COLUMN typecode FORMAT a75 HEADING 'Type Code' ENTMAP off
|
||
|
|
COLUMN attribute_name FORMAT a75 HEADING 'Attribute Name' ENTMAP off
|
||
|
|
COLUMN attribute_datatype FORMAT a75 HEADING 'Attribute Data Type' ENTMAP off
|
||
|
|
COLUMN inherited FORMAT a75 HEADING 'Inherited?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner ON type_name ON typecode
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || t.owner || '</b></font></div>' owner
|
||
|
|
, '<div nowrap>' || t.type_name || '</div>' type_name
|
||
|
|
, '<div nowrap>' || t.typecode || '</div>' typecode
|
||
|
|
, '<div nowrap>' || a.attr_name || '</div>' attribute_name
|
||
|
|
, (CASE
|
||
|
|
WHEN (a.length IS NOT NULL)
|
||
|
|
THEN a.attr_type_name || '(' || a.length || ')'
|
||
|
|
WHEN (a.attr_type_name='NUMBER' AND (a.precision IS NOT NULL AND a.scale IS NOT NULL))
|
||
|
|
THEN a.attr_type_name || '(' || a.precision || ',' || a.scale || ')'
|
||
|
|
WHEN (a.attr_type_name='NUMBER' AND (a.precision IS NOT NULL AND a.scale IS NULL))
|
||
|
|
THEN a.attr_type_name || '(' || a.precision || ')'
|
||
|
|
ELSE
|
||
|
|
a.attr_type_name
|
||
|
|
END) attribute_datatype
|
||
|
|
, DECODE( a.inherited
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || a.inherited || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || a.inherited || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || a.inherited || '</b></font></div>') inherited
|
||
|
|
FROM
|
||
|
|
dba_types t
|
||
|
|
, dba_type_attrs a
|
||
|
|
WHERE
|
||
|
|
t.owner = a.owner
|
||
|
|
AND t.type_name = a.type_name
|
||
|
|
AND t.owner NOT IN ( 'CTXSYS'
|
||
|
|
, 'DBSNMP'
|
||
|
|
, 'DMSYS'
|
||
|
|
, 'EXFSYS'
|
||
|
|
, 'IX'
|
||
|
|
, 'LBACSYS'
|
||
|
|
, 'MDSYS'
|
||
|
|
, 'OLAPSYS'
|
||
|
|
, 'ORDSYS'
|
||
|
|
, 'OUTLN'
|
||
|
|
, 'SYS'
|
||
|
|
, 'SYSMAN'
|
||
|
|
, 'SYSTEM'
|
||
|
|
, 'WKSYS'
|
||
|
|
, 'WMSYS'
|
||
|
|
, 'XDB')
|
||
|
|
ORDER BY
|
||
|
|
t.owner
|
||
|
|
, t.type_name
|
||
|
|
, t.typecode
|
||
|
|
, a.attr_no;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TYPE METHODS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_type_methods"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Type Methods</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Excluding all internal system schemas (i.e. CTXSYS, MDSYS, SYS, SYSTEM)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN type_name FORMAT a75 HEADING 'Type Name' ENTMAP off
|
||
|
|
COLUMN typecode FORMAT a75 HEADING 'Type Code' ENTMAP off
|
||
|
|
COLUMN method_name FORMAT a75 HEADING 'Method Name' ENTMAP off
|
||
|
|
COLUMN method_type FORMAT a75 HEADING 'Method Type' ENTMAP off
|
||
|
|
COLUMN num_parameters FORMAT a75 HEADING 'Num. Parameters' ENTMAP off
|
||
|
|
COLUMN results FORMAT a75 HEADING 'Results' ENTMAP off
|
||
|
|
COLUMN final FORMAT a75 HEADING 'Final?' ENTMAP off
|
||
|
|
COLUMN instantiable FORMAT a75 HEADING 'Instantiable?' ENTMAP off
|
||
|
|
COLUMN overriding FORMAT a75 HEADING 'Overriding?' ENTMAP off
|
||
|
|
COLUMN inherited FORMAT a75 HEADING 'Inherited?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner ON type_name ON typecode
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || t.owner || '</b></font></div>' owner
|
||
|
|
, '<div nowrap>' || t.type_name || '</div>' type_name
|
||
|
|
, '<div nowrap>' || t.typecode || '</div>' typecode
|
||
|
|
, '<div nowrap>' || m.method_name || '</div>' method_name
|
||
|
|
, '<div nowrap>' || m.method_type || '</div>' method_type
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(m.parameters, '999,999') || '</div>' num_parameters
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(m.results, '999,999') || '</div>' results
|
||
|
|
, '<div nowrap align="center">' || m.final || '</div>' final
|
||
|
|
, '<div nowrap align="center">' || m.instantiable || '</div>' instantiable
|
||
|
|
, '<div nowrap align="center">' || m.overriding || '</div>' overriding
|
||
|
|
, DECODE( m.inherited
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || m.inherited || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || m.inherited || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || m.inherited || '</b></font></div>') inherited
|
||
|
|
FROM
|
||
|
|
dba_types t
|
||
|
|
, dba_type_methods m
|
||
|
|
WHERE
|
||
|
|
t.owner = m.owner
|
||
|
|
AND t.type_name = m.type_name
|
||
|
|
AND t.owner NOT IN ( 'CTXSYS'
|
||
|
|
, 'DBSNMP'
|
||
|
|
, 'DMSYS'
|
||
|
|
, 'EXFSYS'
|
||
|
|
, 'IX'
|
||
|
|
, 'LBACSYS'
|
||
|
|
, 'MDSYS'
|
||
|
|
, 'OLAPSYS'
|
||
|
|
, 'ORDSYS'
|
||
|
|
, 'OUTLN'
|
||
|
|
, 'SYS'
|
||
|
|
, 'SYSMAN'
|
||
|
|
, 'SYSTEM'
|
||
|
|
, 'WKSYS'
|
||
|
|
, 'WMSYS'
|
||
|
|
, 'XDB')
|
||
|
|
ORDER BY
|
||
|
|
t.owner
|
||
|
|
, t.type_name
|
||
|
|
, t.typecode
|
||
|
|
, m.method_no;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - COLLECTIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_collections"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Collections</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Excluding all internal system schemas (i.e. CTXSYS, MDSYS, SYS, SYSTEM)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN type_name FORMAT a75 HEADING 'Type Name' ENTMAP off
|
||
|
|
COLUMN coll_type FORMAT a75 HEADING 'Collection Type' ENTMAP off
|
||
|
|
COLUMN upper_bound FORMAT a75 HEADING 'VARRAY Limit' ENTMAP off
|
||
|
|
COLUMN elem_type_owner FORMAT a75 HEADING 'Element Type Owner' ENTMAP off
|
||
|
|
COLUMN elem_datatype FORMAT a75 HEADING 'Element Data Type' ENTMAP off
|
||
|
|
COLUMN character_set_name FORMAT a75 HEADING 'Character Set' ENTMAP off
|
||
|
|
COLUMN elem_storage FORMAT a75 HEADING 'Element Storage' ENTMAP off
|
||
|
|
COLUMN nulls_stored FORMAT a75 HEADING 'Nulls Stored?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner ON type_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || c.owner || '</b></font></div>' owner
|
||
|
|
, '<div nowrap>' || c.type_name || '</div>' type_name
|
||
|
|
, '<div nowrap>' || c.coll_type || '</div>' coll_type
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(c.upper_bound, '9,999,999,999'), '<br>') || '</div>' upper_bound
|
||
|
|
, '<div nowrap>' || NVL(c.elem_type_owner, '<br>') || '</div>' elem_type_owner
|
||
|
|
, (CASE
|
||
|
|
WHEN (c.length IS NOT NULL)
|
||
|
|
THEN c.elem_type_name || '(' || c.length || ')'
|
||
|
|
WHEN (c.elem_type_name='NUMBER' AND (c.precision IS NOT NULL AND c.scale IS NOT NULL))
|
||
|
|
THEN c.elem_type_name || '(' || c.precision || ',' || c.scale || ')'
|
||
|
|
WHEN (c.elem_type_name='NUMBER' AND (c.precision IS NOT NULL AND c.scale IS NULL))
|
||
|
|
THEN c.elem_type_name || '(' || c.precision || ')'
|
||
|
|
ELSE
|
||
|
|
c.elem_type_name
|
||
|
|
END) elem_datatype
|
||
|
|
, '<div nowrap>' || NVL(c.character_set_name, '<br>') || '</div>' character_set_name
|
||
|
|
, '<div nowrap>' || NVL(c.elem_storage, '<br>') || '</div>' elem_storage
|
||
|
|
, DECODE( c.nulls_stored
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || c.nulls_stored || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || c.nulls_stored || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || c.nulls_stored || '</b></font></div>') nulls_stored
|
||
|
|
FROM
|
||
|
|
dba_coll_types c
|
||
|
|
WHERE
|
||
|
|
c.owner NOT IN ( 'CTXSYS'
|
||
|
|
, 'DBSNMP'
|
||
|
|
, 'DMSYS'
|
||
|
|
, 'EXFSYS'
|
||
|
|
, 'IX'
|
||
|
|
, 'LBACSYS'
|
||
|
|
, 'MDSYS'
|
||
|
|
, 'OLAPSYS'
|
||
|
|
, 'ORDSYS'
|
||
|
|
, 'OUTLN'
|
||
|
|
, 'SYS'
|
||
|
|
, 'SYSMAN'
|
||
|
|
, 'SYSTEM'
|
||
|
|
, 'WKSYS'
|
||
|
|
, 'WMSYS'
|
||
|
|
, 'XDB')
|
||
|
|
ORDER BY
|
||
|
|
c.owner
|
||
|
|
, c.type_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - LOB SEGMENTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_lob_segments"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>LOB Segments</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Excluding all internal system schemas (i.e. CTXSYS, MDSYS, SYS, SYSTEM)</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a85 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN table_name FORMAT a75 HEADING 'Table Name' ENTMAP off
|
||
|
|
COLUMN column_name FORMAT a75 HEADING 'Column Name' ENTMAP off
|
||
|
|
COLUMN segment_name FORMAT a125 HEADING 'LOB Segment Name' ENTMAP off
|
||
|
|
COLUMN tablespace_name FORMAT a75 HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN lob_segment_bytes FORMAT a75 HEADING 'Segment Size' ENTMAP off
|
||
|
|
COLUMN index_name FORMAT a125 HEADING 'LOB Index Name' ENTMAP off
|
||
|
|
COLUMN in_row FORMAT a75 HEADING 'In Row?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner ON table_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || l.owner || '</b></font></div>' owner
|
||
|
|
, '<div nowrap>' || l.table_name || '</div>' table_name
|
||
|
|
, '<div nowrap>' || l.column_name || '</div>' column_name
|
||
|
|
, '<div nowrap>' || l.segment_name || '</div>' segment_name
|
||
|
|
, '<div nowrap>' || s.tablespace_name || '</div>' tablespace_name
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(s.bytes, '999,999,999,999,999') || '</div>' lob_segment_bytes
|
||
|
|
, '<div nowrap>' || l.index_name || '</div>' index_name
|
||
|
|
, DECODE( l.in_row
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || l.in_row || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || l.in_row || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || l.in_row || '</b></font></div>') in_row
|
||
|
|
FROM
|
||
|
|
dba_lobs l
|
||
|
|
, dba_segments s
|
||
|
|
WHERE
|
||
|
|
l.owner = s.owner
|
||
|
|
AND l.segment_name = s.segment_name
|
||
|
|
AND l.owner NOT IN ( 'CTXSYS'
|
||
|
|
, 'DBSNMP'
|
||
|
|
, 'DMSYS'
|
||
|
|
, 'EXFSYS'
|
||
|
|
, 'IX'
|
||
|
|
, 'LBACSYS'
|
||
|
|
, 'MDSYS'
|
||
|
|
, 'OLAPSYS'
|
||
|
|
, 'ORDSYS'
|
||
|
|
, 'OUTLN'
|
||
|
|
, 'SYS'
|
||
|
|
, 'SYSMAN'
|
||
|
|
, 'SYSTEM'
|
||
|
|
, 'WKSYS'
|
||
|
|
, 'WMSYS'
|
||
|
|
, 'XDB')
|
||
|
|
ORDER BY
|
||
|
|
l.owner
|
||
|
|
, l.table_name
|
||
|
|
, l.column_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OBJECTS UNABLE TO EXTEND - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="objects_unable_to_extend"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Objects Unable to Extend</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Segments that cannot extend because of MAXEXTENTS or not enough space</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN tablespace_name HEADING 'Tablespace Name' ENTMAP off
|
||
|
|
COLUMN segment_name HEADING 'Segment Name' ENTMAP off
|
||
|
|
COLUMN segment_type HEADING 'Segment Type' ENTMAP off
|
||
|
|
COLUMN next_extent FORMAT 999,999,999,999,999 HEADING 'Next Extent' ENTMAP off
|
||
|
|
COLUMN max FORMAT 999,999,999,999,999 HEADING 'Max. Piece Size' ENTMAP off
|
||
|
|
COLUMN sum FORMAT 999,999,999,999,999 HEADING 'Sum of Bytes' ENTMAP off
|
||
|
|
COLUMN extents FORMAT 999,999,999,999,999 HEADING 'Num. of Extents' ENTMAP off
|
||
|
|
COLUMN max_extents FORMAT 999,999,999,999,999 HEADING 'Max Extents' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || ds.owner || '</b></font></div>' owner
|
||
|
|
, ds.tablespace_name tablespace_name
|
||
|
|
, ds.segment_name segment_name
|
||
|
|
, ds.segment_type segment_type
|
||
|
|
, ds.next_extent next_extent
|
||
|
|
, NVL(dfs.max, 0) max
|
||
|
|
, NVL(dfs.sum, 0) sum
|
||
|
|
, ds.extents extents
|
||
|
|
, ds.max_extents max_extents
|
||
|
|
FROM
|
||
|
|
dba_segments ds
|
||
|
|
, (select
|
||
|
|
max(bytes) max
|
||
|
|
, sum(bytes) sum
|
||
|
|
, tablespace_name
|
||
|
|
from
|
||
|
|
dba_free_space
|
||
|
|
group by
|
||
|
|
tablespace_name
|
||
|
|
) dfs
|
||
|
|
WHERE
|
||
|
|
(ds.next_extent > nvl(dfs.max, 0)
|
||
|
|
OR
|
||
|
|
ds.extents >= ds.max_extents)
|
||
|
|
AND ds.tablespace_name = dfs.tablespace_name (+)
|
||
|
|
AND ds.owner NOT IN ('SYS','SYSTEM')
|
||
|
|
ORDER BY
|
||
|
|
ds.owner
|
||
|
|
, ds.tablespace_name
|
||
|
|
, ds.segment_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OBJECTS WHICH ARE NEARING MAXEXTENTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="objects_which_are_nearing_maxextents"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Objects Which Are Nearing MAXEXTENTS</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Segments where number of EXTENTS is less than 1/2 of MAXEXTENTS</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN tablespace_name FORMAT a30 HEADING 'Tablespace name' ENTMAP off
|
||
|
|
COLUMN segment_name FORMAT a30 HEADING 'Segment Name' ENTMAP off
|
||
|
|
COLUMN segment_type FORMAT a20 HEADING 'Segment Type' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999 HEADING 'Size (in bytes)' ENTMAP off
|
||
|
|
COLUMN next_extent FORMAT 999,999,999,999,999 HEADING 'Next Extent Size' ENTMAP off
|
||
|
|
COLUMN pct_increase HEADING '% Increase' ENTMAP off
|
||
|
|
COLUMN extents FORMAT 999,999,999,999,999 HEADING 'Num. of Extents' ENTMAP off
|
||
|
|
COLUMN max_extents FORMAT 999,999,999,999,999 HEADING 'Max Extents' ENTMAP off
|
||
|
|
COLUMN pct_util FORMAT a35 HEADING '% Utilized' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
owner
|
||
|
|
, tablespace_name
|
||
|
|
, segment_name
|
||
|
|
, segment_type
|
||
|
|
, bytes
|
||
|
|
, next_extent
|
||
|
|
, pct_increase
|
||
|
|
, extents
|
||
|
|
, max_extents
|
||
|
|
, '<div align="right">' || ROUND((extents/max_extents)*100, 2) || '%</div>' pct_util
|
||
|
|
FROM
|
||
|
|
dba_segments
|
||
|
|
WHERE
|
||
|
|
extents > max_extents/2
|
||
|
|
AND max_extents != 0
|
||
|
|
ORDER BY
|
||
|
|
(extents/max_extents) DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - INVALID OBJECTS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="invalid_objects"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Invalid Objects</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a85 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN object_name FORMAT a30 HEADING 'Object Name' ENTMAP off
|
||
|
|
COLUMN object_type FORMAT a20 HEADING 'Object Type' ENTMAP off
|
||
|
|
COLUMN status FORMAT a75 HEADING 'Status' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
COMPUTE count LABEL '<font color="#990000"><b>Grand Total: </b></font>' OF object_name ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, object_name
|
||
|
|
, object_type
|
||
|
|
, DECODE( status
|
||
|
|
, 'VALID'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || status || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || status || '</b></font></div>' ) status
|
||
|
|
FROM dba_objects
|
||
|
|
WHERE status <> 'VALID'
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, object_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - PROCEDURAL OBJECT ERRORS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="procedural_object_errors"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Procedural Object Errors</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>All records from DBA_ERRORS</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a85 HEAD 'Schema' ENTMAP off
|
||
|
|
COLUMN name FORMAT a30 HEAD 'Object Name' ENTMAP off
|
||
|
|
COLUMN type FORMAT a15 HEAD 'Object Type' ENTMAP off
|
||
|
|
COLUMN sequence FORMAT 999,999 HEAD 'Sequence' ENTMAP off
|
||
|
|
COLUMN line FORMAT 999,999 HEAD 'Line' ENTMAP off
|
||
|
|
COLUMN position FORMAT 999,999 HEAD 'Position' ENTMAP off
|
||
|
|
COLUMN text HEAD 'Text' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, name
|
||
|
|
, type
|
||
|
|
, sequence
|
||
|
|
, line
|
||
|
|
, position
|
||
|
|
, text
|
||
|
|
FROM
|
||
|
|
dba_errors
|
||
|
|
ORDER BY
|
||
|
|
1
|
||
|
|
, 2
|
||
|
|
, 3;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OBJECTS WITHOUT STATISTICS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="objects_without_statistics"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Objects Without Statistics</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a95 HEAD 'Owner' ENTMAP off
|
||
|
|
COLUMN object_type FORMAT a20 HEAD 'Object Type' ENTMAP off
|
||
|
|
COLUMN count FORMAT 999,999,999,999 HEAD 'Count' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
COMPUTE count LABEL '<font color="#990000"><b>Total: </b></font>' OF object_name ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, 'Table' object_type
|
||
|
|
, count(*) count
|
||
|
|
FROM
|
||
|
|
sys.dba_tables
|
||
|
|
WHERE
|
||
|
|
last_analyzed IS NULL
|
||
|
|
AND owner NOT IN ('SYS','SYSTEM')
|
||
|
|
AND partitioned = 'NO'
|
||
|
|
GROUP BY
|
||
|
|
owner
|
||
|
|
, 'Table'
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, 'Index' object_type
|
||
|
|
, count(*) count
|
||
|
|
FROM
|
||
|
|
sys.dba_indexes
|
||
|
|
WHERE
|
||
|
|
last_analyzed IS NULL
|
||
|
|
AND owner NOT IN ('SYS','SYSTEM')
|
||
|
|
AND partitioned = 'NO'
|
||
|
|
GROUP BY
|
||
|
|
owner
|
||
|
|
, 'Index'
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || table_owner || '</b></font></div>' owner
|
||
|
|
, 'Table Partition' object_type
|
||
|
|
, count(*) count
|
||
|
|
FROM
|
||
|
|
sys.dba_tab_partitions
|
||
|
|
WHERE
|
||
|
|
last_analyzed IS NULL
|
||
|
|
AND table_owner NOT IN ('SYS','SYSTEM')
|
||
|
|
GROUP BY
|
||
|
|
table_owner
|
||
|
|
, 'Table Partition'
|
||
|
|
UNION
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || index_owner || '</b></font></div>' owner
|
||
|
|
, 'Index Partition' object_type
|
||
|
|
, count(*) count
|
||
|
|
FROM
|
||
|
|
sys.dba_ind_partitions
|
||
|
|
WHERE
|
||
|
|
last_analyzed IS NULL
|
||
|
|
AND index_owner NOT IN ('SYS','SYSTEM')
|
||
|
|
GROUP BY
|
||
|
|
index_owner
|
||
|
|
, 'Index Partition'
|
||
|
|
ORDER BY
|
||
|
|
1
|
||
|
|
, 2
|
||
|
|
, 3;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - TABLES SUFFERING FROM ROW CHAINING/MIGRATION - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="tables_suffering_from_row_chaining_migration"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Tables Suffering From Row Chaining/Migration</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b><font color="#990000">NOTE</font>: Tables must have statistics gathered</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN table_name HEADING 'Table Name' ENTMAP off
|
||
|
|
COLUMN partition_name HEADING 'Partition Name' ENTMAP off
|
||
|
|
COLUMN num_rows FORMAT 999,999,999,999,999 HEADING 'Total Rows' ENTMAP off
|
||
|
|
COLUMN pct_chained_rows FORMAT a65 HEADING '% Chained Rows' ENTMAP off
|
||
|
|
COLUMN avg_row_length FORMAT 999,999,999,999,999 HEADING 'Avg Row Length' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
owner owner
|
||
|
|
, table_name table_name
|
||
|
|
, '' partition_name
|
||
|
|
, num_rows num_rows
|
||
|
|
, '<div align="right">' || ROUND((chain_cnt/num_rows)*100, 2) || '%</div>' pct_chained_rows
|
||
|
|
, avg_row_len avg_row_length
|
||
|
|
FROM
|
||
|
|
(select
|
||
|
|
owner
|
||
|
|
, table_name
|
||
|
|
, chain_cnt
|
||
|
|
, num_rows
|
||
|
|
, avg_row_len
|
||
|
|
from
|
||
|
|
sys.dba_tables
|
||
|
|
where
|
||
|
|
chain_cnt is not null
|
||
|
|
and num_rows is not null
|
||
|
|
and chain_cnt > 0
|
||
|
|
and num_rows > 0
|
||
|
|
and owner != 'SYS')
|
||
|
|
UNION ALL
|
||
|
|
SELECT
|
||
|
|
table_owner owner
|
||
|
|
, table_name table_name
|
||
|
|
, partition_name partition_name
|
||
|
|
, num_rows num_rows
|
||
|
|
, '<div align="right">' || ROUND((chain_cnt/num_rows)*100, 2) || '%</div>' pct_chained_rows
|
||
|
|
, avg_row_len avg_row_length
|
||
|
|
FROM
|
||
|
|
(select
|
||
|
|
table_owner
|
||
|
|
, table_name
|
||
|
|
, partition_name
|
||
|
|
, chain_cnt
|
||
|
|
, num_rows
|
||
|
|
, avg_row_len
|
||
|
|
from
|
||
|
|
sys.dba_tab_partitions
|
||
|
|
where
|
||
|
|
chain_cnt is not null
|
||
|
|
and num_rows is not null
|
||
|
|
and chain_cnt > 0
|
||
|
|
and num_rows > 0
|
||
|
|
and table_owner != 'SYS') b
|
||
|
|
WHERE
|
||
|
|
(chain_cnt/num_rows)*100 > 10;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - USERS WITH DEFAULT TABLESPACE - (SYSTEM) - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="users_with_default_tablespace_defined_as_system"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Users With Default Tablespace - (SYSTEM)</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN username FORMAT a75 HEADING 'Username' ENTMAP off
|
||
|
|
COLUMN default_tablespace FORMAT a125 HEADING 'Default Tablespace' ENTMAP off
|
||
|
|
COLUMN temporary_tablespace FORMAT a125 HEADING 'Temporary Tablespace' ENTMAP off
|
||
|
|
COLUMN created FORMAT a75 HEADING 'Created' ENTMAP off
|
||
|
|
COLUMN account_status FORMAT a75 HEADING 'Account Status' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || username || '</font></b>' username
|
||
|
|
, '<div align="left">' || default_tablespace || '</div>' default_tablespace
|
||
|
|
, '<div align="left">' || temporary_tablespace || '</div>' temporary_tablespace
|
||
|
|
, '<div align="right">' || TO_CHAR(created, 'mm/dd/yyyy HH24:MI:SS') || '</div>' created
|
||
|
|
, DECODE( account_status
|
||
|
|
, 'OPEN'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || account_status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#663300">' || account_status || '</font></b></div>') account_status
|
||
|
|
FROM
|
||
|
|
dba_users
|
||
|
|
WHERE
|
||
|
|
default_tablespace = 'SYSTEM'
|
||
|
|
ORDER BY
|
||
|
|
username;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - USERS WITH DEFAULT TEMPORARY TABLESPACE - (SYSTEM) - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="users_with_default_temporary_tablespace_as_system"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Users With Default Temporary Tablespace - (SYSTEM)</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN username FORMAT a75 HEADING 'Username' ENTMAP off
|
||
|
|
COLUMN default_tablespace FORMAT a125 HEADING 'Default Tablespace' ENTMAP off
|
||
|
|
COLUMN temporary_tablespace FORMAT a125 HEADING 'Temporary Tablespace' ENTMAP off
|
||
|
|
COLUMN created FORMAT a75 HEADING 'Created' ENTMAP off
|
||
|
|
COLUMN account_status FORMAT a75 HEADING 'Account Status' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<font color="#336699"><b>' || username || '</font></b>' username
|
||
|
|
, '<div align="center">' || default_tablespace || '</div>' default_tablespace
|
||
|
|
, '<div align="center">' || temporary_tablespace || '</div>' temporary_tablespace
|
||
|
|
, '<div align="right">' || TO_CHAR(created, 'mm/dd/yyyy HH24:MI:SS') || '</div>' created
|
||
|
|
, DECODE( account_status
|
||
|
|
, 'OPEN'
|
||
|
|
, '<div align="center"><b><font color="darkgreen">' || account_status || '</font></b></div>'
|
||
|
|
, '<div align="center"><b><font color="#663300">' || account_status || '</font></b></div>') account_status
|
||
|
|
FROM
|
||
|
|
dba_users
|
||
|
|
WHERE
|
||
|
|
temporary_tablespace = 'SYSTEM'
|
||
|
|
ORDER BY
|
||
|
|
username;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - OBJECTS IN THE SYSTEM TABLESPACE - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="objects_in_the_system_tablespace"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Objects in the SYSTEM Tablespace</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN segment_name FORMAT a125 HEADING 'Segment Name' ENTMAP off
|
||
|
|
COLUMN segment_type FORMAT a75 HEADING 'Type' ENTMAP off
|
||
|
|
COLUMN tablespace_name FORMAT a125 HEADING 'Tablespace' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999 HEADING 'Bytes|Alloc' ENTMAP off
|
||
|
|
COLUMN extents FORMAT 999,999,999,999,999 HEADING 'Extents' ENTMAP off
|
||
|
|
COLUMN max_extents FORMAT 999,999,999,999,999 HEADING 'Max|Ext' ENTMAP off
|
||
|
|
COLUMN initial_extent FORMAT 999,999,999,999,999 HEADING 'Initial|Ext' ENTMAP off
|
||
|
|
COLUMN next_extent FORMAT 999,999,999,999,999 HEADING 'Next|Ext' ENTMAP off
|
||
|
|
COLUMN pct_increase FORMAT 999,999,999,999,999 HEADING 'Pct|Inc' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
COMPUTE count LABEL '<font color="#990000"><b>Total Count: </b></font>' OF segment_name ON report
|
||
|
|
COMPUTE sum LABEL '<font color="#990000"><b>Total Bytes: </b></font>' OF bytes ON report
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, segment_name
|
||
|
|
, segment_type
|
||
|
|
, tablespace_name
|
||
|
|
, bytes
|
||
|
|
, extents
|
||
|
|
, initial_extent
|
||
|
|
, next_extent
|
||
|
|
, pct_increase
|
||
|
|
FROM
|
||
|
|
dba_segments
|
||
|
|
WHERE
|
||
|
|
owner NOT IN ('SYS','SYSTEM')
|
||
|
|
AND tablespace_name = 'SYSTEM'
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, segment_name
|
||
|
|
, extents DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - RECYCLE BIN - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_recycle_bin"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Recycle Bin</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a85 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN original_name HEADING 'Original|Name' ENTMAP off
|
||
|
|
COLUMN type HEADING 'Object|Type' ENTMAP off
|
||
|
|
COLUMN object_name HEADING 'Object|Name' ENTMAP off
|
||
|
|
COLUMN ts_name HEADING 'Tablespace' ENTMAP off
|
||
|
|
COLUMN operation HEADING 'Operation' ENTMAP off
|
||
|
|
COLUMN createtime HEADING 'Create|Time' ENTMAP off
|
||
|
|
COLUMN droptime HEADING 'Drop|Time' ENTMAP off
|
||
|
|
COLUMN can_undrop HEADING 'Can|Undrop?' ENTMAP off
|
||
|
|
COLUMN can_purge HEADING 'Can|Purge?' ENTMAP off
|
||
|
|
COLUMN bytes FORMAT 999,999,999,999,999 HEADING 'Bytes' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, original_name
|
||
|
|
, type
|
||
|
|
, object_name
|
||
|
|
, ts_name
|
||
|
|
, operation
|
||
|
|
, '<div nowrap align="right">' || NVL(createtime, '<br>') || '</div>' createtime
|
||
|
|
, '<div nowrap align="right">' || NVL(droptime, '<br>') || '</div>' droptime
|
||
|
|
, DECODE( can_undrop
|
||
|
|
, null
|
||
|
|
, '<BR>'
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || can_undrop || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || can_undrop || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || can_undrop || '</b></font></div>') can_undrop
|
||
|
|
, DECODE( can_purge
|
||
|
|
, null
|
||
|
|
, '<BR>'
|
||
|
|
, 'YES'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || can_purge || '</b></font></div>'
|
||
|
|
, 'NO'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || can_purge || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#663300"><b>' || can_purge || '</b></font></div>') can_purge
|
||
|
|
, (space * p.blocksize) bytes
|
||
|
|
FROM
|
||
|
|
dba_recyclebin r
|
||
|
|
, (SELECT value blocksize FROM v$parameter WHERE name='db_block_size') p
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, object_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< ONLINE ANALYTICAL PROCESSING - (OLAP) >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Online Analytical Processing - (OLAP)</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DIMENSIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_dimensions"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Dimensions</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN dimension_name FORMAT a75 HEADING 'Dimension Name' ENTMAP off
|
||
|
|
COLUMN invalid FORMAT a75 HEADING 'Invalid?' ENTMAP off
|
||
|
|
COLUMN compile_state FORMAT a75 HEADING 'Compile State' ENTMAP off
|
||
|
|
COLUMN revision HEADING 'Revision' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || dd.owner || '</b></font></div>' owner
|
||
|
|
, dd.dimension_name dimension_name
|
||
|
|
, '<div align="center">' || dd.invalid || '</div>' invalid
|
||
|
|
, DECODE( dd.compile_state
|
||
|
|
, 'VALID'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || dd.compile_state || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || dd.compile_state || '</b></font></div>' ) compile_state
|
||
|
|
, '<div align="center">' || dd.revision || '</div>' revision
|
||
|
|
FROM
|
||
|
|
dba_dimensions dd
|
||
|
|
ORDER BY
|
||
|
|
dd.owner
|
||
|
|
, dd.dimension_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DIMENSION LEVELS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_dimension_levels"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Dimension Levels</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN dimension_name FORMAT a75 HEADING 'Dimension Name' ENTMAP off
|
||
|
|
COLUMN level_name FORMAT a75 HEADING 'Level Name' ENTMAP off
|
||
|
|
COLUMN level_table_name FORMAT a75 HEADING 'Source Table' ENTMAP off
|
||
|
|
COLUMN column_name FORMAT a75 HEADING 'Column Name(s)' ENTMAP off
|
||
|
|
COLUMN key_position FORMAT a75 HEADING 'Column Position' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON owner ON dimension_name ON level_name ON level_table_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || d.owner || '</b></font></div>' owner
|
||
|
|
, d.dimension_name dimension_name
|
||
|
|
, l.level_name level_name
|
||
|
|
, l.detailobj_owner || '.' || l.detailobj_name level_table_name
|
||
|
|
, k.column_name column_name
|
||
|
|
, '<div align="center">' || TO_CHAR(k.key_position, '999,999') || '</div>' key_position
|
||
|
|
FROM
|
||
|
|
dba_dimensions d
|
||
|
|
, dba_dim_levels l
|
||
|
|
, dba_dim_level_key k
|
||
|
|
WHERE
|
||
|
|
d.owner = l.owner
|
||
|
|
AND d.dimension_name = l.dimension_name
|
||
|
|
AND d.owner = k.owner
|
||
|
|
AND d.dimension_name = k.dimension_name
|
||
|
|
AND l.level_name = k.level_name
|
||
|
|
ORDER by
|
||
|
|
l.owner
|
||
|
|
, l.dimension_name
|
||
|
|
, l.level_name
|
||
|
|
, level_table_name
|
||
|
|
, k.key_position;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DIMENSION ATTRIBUTES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_dimension_attributes"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Dimension Attributes</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN dimension_name FORMAT a75 HEADING 'Dimension Name' ENTMAP off
|
||
|
|
COLUMN level_name FORMAT a75 HEADING 'Level Name' ENTMAP off
|
||
|
|
COLUMN level_table_name FORMAT a75 HEADING 'Source Table' ENTMAP off
|
||
|
|
COLUMN column_name FORMAT a75 HEADING 'Attribute Source Column' ENTMAP off
|
||
|
|
COLUMN inferred FORMAT a75 HEADING 'Inferred?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner ON dimension_name ON level_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || d.owner || '</b></font></div>' owner
|
||
|
|
, d.dimension_name dimension_name
|
||
|
|
, l.level_name level_name
|
||
|
|
, l.detailobj_owner || '.' || l.detailobj_name level_table_name
|
||
|
|
, a.column_name column_name
|
||
|
|
, '<div align="center">' || a.inferred || '</div>' inferred
|
||
|
|
FROM
|
||
|
|
dba_dimensions d
|
||
|
|
, dba_dim_levels l
|
||
|
|
, dba_dim_attributes a
|
||
|
|
WHERE
|
||
|
|
d.owner = l.owner
|
||
|
|
AND d.dimension_name = l.dimension_name
|
||
|
|
AND d.owner = a.owner
|
||
|
|
AND d.dimension_name = a.dimension_name
|
||
|
|
AND l.level_name = a.level_name
|
||
|
|
ORDER by
|
||
|
|
l.owner
|
||
|
|
, l.dimension_name
|
||
|
|
, l.level_name
|
||
|
|
, level_table_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DIMENSION HIERARCHIES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_dimension_hierarchies"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Dimension Hierarchies</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN dimension_name FORMAT a75 HEADING 'Dimension Name' ENTMAP off
|
||
|
|
COLUMN hierarchy_name FORMAT a75 HEADING 'Hierarchy Name' ENTMAP off
|
||
|
|
COLUMN parent_level_name FORMAT a75 HEADING 'Parent Level' ENTMAP off
|
||
|
|
COLUMN child_level_name FORMAT a75 HEADING 'Child Level' ENTMAP off
|
||
|
|
COLUMN position FORMAT a75 HEADING 'Position' ENTMAP off
|
||
|
|
COLUMN join_key_id FORMAT a75 HEADING 'Join Key ID' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON owner ON dimension_name ON hierarchy_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || d.owner || '</b></font></div>' owner
|
||
|
|
, d.dimension_name dimension_name
|
||
|
|
, h.hierarchy_name hierarchy_name
|
||
|
|
, c.parent_level_name parent_level_name
|
||
|
|
, c.child_level_name child_level_name
|
||
|
|
, '<div align="center">' || TO_CHAR(c.position, '999,999') || '</div>' position
|
||
|
|
, '<div align="center">' || NVL(c.join_key_id,'<br>') || '</div>' join_key_id
|
||
|
|
FROM
|
||
|
|
dba_dimensions d
|
||
|
|
, dba_dim_hierarchies h
|
||
|
|
, dba_dim_child_of c
|
||
|
|
WHERE
|
||
|
|
d.owner = h.owner
|
||
|
|
AND d.dimension_name = h.dimension_name
|
||
|
|
AND d.owner = c.owner
|
||
|
|
AND d.dimension_name = c.dimension_name
|
||
|
|
AND h.hierarchy_name = c.hierarchy_name
|
||
|
|
ORDER BY
|
||
|
|
d.owner
|
||
|
|
, d.dimension_name
|
||
|
|
, h.hierarchy_name
|
||
|
|
, c.position DESC;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - CUBES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_cubes"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Cubes</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN cube_name FORMAT a75 HEADING 'Cube Name' ENTMAP off
|
||
|
|
COLUMN invalid FORMAT a75 HEADING 'Valid?' ENTMAP off
|
||
|
|
COLUMN display_name FORMAT a75 HEADING 'Display Name' ENTMAP off
|
||
|
|
COLUMN description FORMAT a275 HEADING 'Description' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || c.owner || '</b></font></div>' owner
|
||
|
|
, c.cube_name cube_name
|
||
|
|
, DECODE( c.invalid
|
||
|
|
, 'O'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>Yes</b></font></div>'
|
||
|
|
, '1'
|
||
|
|
, '<div align="center"><font color="#990000"><b>No</b></font></div>'
|
||
|
|
, 'Y'
|
||
|
|
, '<div align="center"><font color="#990000"><b>No</b></font></div>'
|
||
|
|
, 'N'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>Yes</b></font></div>'
|
||
|
|
, '<div align="center">' || invalid || '</div>') invalid
|
||
|
|
, c.display_name display_name
|
||
|
|
, REPLACE(REPLACE(c.description, '<', '\<'), '>', '\>') description
|
||
|
|
FROM
|
||
|
|
dba_olap_cubes c
|
||
|
|
ORDER BY
|
||
|
|
c.owner
|
||
|
|
, c.cube_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - MATERIALIZED VIEWS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_olap_materialized_views"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Materialized Views</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN mview_name FORMAT a75 HEADING 'MView|Name' ENTMAP off
|
||
|
|
COLUMN master_link FORMAT a75 HEADING 'Master|Link' ENTMAP off
|
||
|
|
COLUMN updatable FORMAT a75 HEADING 'Updatable?' ENTMAP off
|
||
|
|
COLUMN update_log FORMAT a75 HEADING 'Update|Log' ENTMAP off
|
||
|
|
COLUMN rewrite_enabled FORMAT a75 HEADING 'Rewrite|Enabled?' ENTMAP off
|
||
|
|
COLUMN refresh_mode FORMAT a75 HEADING 'Refresh|Mode' ENTMAP off
|
||
|
|
COLUMN refresh_method FORMAT a75 HEADING 'Refresh|Method' ENTMAP off
|
||
|
|
COLUMN build_mode FORMAT a75 HEADING 'Build|Mode' ENTMAP off
|
||
|
|
COLUMN fast_refreshable FORMAT a75 HEADING 'Fast|Refreshable' ENTMAP off
|
||
|
|
COLUMN last_refresh_type FORMAT a75 HEADING 'Last Refresh|Type' ENTMAP off
|
||
|
|
COLUMN last_refresh_date FORMAT a75 HEADING 'Last Refresh|Date' ENTMAP off
|
||
|
|
COLUMN staleness FORMAT a75 HEADING 'Staleness' ENTMAP off
|
||
|
|
COLUMN compile_state FORMAT a75 HEADING 'Compile State' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || m.owner || '</b></font></div>' owner
|
||
|
|
, m.mview_name mview_name
|
||
|
|
, m.master_link master_link
|
||
|
|
, '<div align="center">' || NVL(m.updatable,'<br>') || '</div>' updatable
|
||
|
|
, update_log update_log
|
||
|
|
, '<div align="center">' || NVL(m.rewrite_enabled,'<br>') || '</div>' rewrite_enabled
|
||
|
|
, m.refresh_mode refresh_mode
|
||
|
|
, m.refresh_method refresh_method
|
||
|
|
, m.build_mode build_mode
|
||
|
|
, m.fast_refreshable fast_refreshable
|
||
|
|
, m.last_refresh_type last_refresh_type
|
||
|
|
, '<div nowrap align="right">' || TO_CHAR(m.last_refresh_date, 'mm/dd/yyyy HH24:MI:SS') || '</div>' last_refresh_date
|
||
|
|
, m.staleness staleness
|
||
|
|
, DECODE( m.compile_state
|
||
|
|
, 'VALID'
|
||
|
|
, '<div align="center"><font color="darkgreen"><b>' || m.compile_state || '</b></font></div>'
|
||
|
|
, '<div align="center"><font color="#990000"><b>' || m.compile_state || '</b></font></div>' ) compile_state
|
||
|
|
FROM
|
||
|
|
dba_mviews m
|
||
|
|
ORDER BY
|
||
|
|
owner
|
||
|
|
, mview_name
|
||
|
|
/
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - MATERIALIZED VIEW LOGS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_olap_materialized_view_logs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Materialized View Logs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN log_owner FORMAT a75 HEADING 'Log Owner' ENTMAP off
|
||
|
|
COLUMN log_table FORMAT a75 HEADING 'Log Table' ENTMAP off
|
||
|
|
COLUMN master FORMAT a75 HEADING 'Master' ENTMAP off
|
||
|
|
COLUMN log_trigger FORMAT a75 HEADING 'Log Trigger' ENTMAP off
|
||
|
|
COLUMN rowids FORMAT a75 HEADING 'Rowids?' ENTMAP off
|
||
|
|
COLUMN primary_key FORMAT a75 HEADING 'Primary Key?' ENTMAP off
|
||
|
|
COLUMN object_id FORMAT a75 HEADING 'Object ID?' ENTMAP off
|
||
|
|
COLUMN filter_columns FORMAT a75 HEADING 'Filter Columns?' ENTMAP off
|
||
|
|
COLUMN sequence FORMAT a75 HEADING 'Sequence?' ENTMAP off
|
||
|
|
COLUMN include_new_values FORMAT a75 HEADING 'Include New Values?' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON log_owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || ml.log_owner || '</b></font></div>' log_owner
|
||
|
|
, ml.log_table log_table
|
||
|
|
, ml.master master
|
||
|
|
, ml.log_trigger log_trigger
|
||
|
|
, '<div align="center">' || NVL(ml.rowids,'<br>') || '</div>' rowids
|
||
|
|
, '<div align="center">' || NVL(ml.primary_key,'<br>') || '</div>' primary_key
|
||
|
|
, '<div align="center">' || NVL(ml.object_id,'<br>') || '</div>' object_id
|
||
|
|
, '<div align="center">' || NVL(ml.filter_columns,'<br>') || '</div>' filter_columns
|
||
|
|
, '<div align="center">' || NVL(ml.sequence,'<br>') || '</div>' sequence
|
||
|
|
, '<div align="center">' || NVL(ml.include_new_values,'<br>') || '</div>' include_new_values
|
||
|
|
FROM
|
||
|
|
dba_mview_logs ml
|
||
|
|
ORDER BY
|
||
|
|
ml.log_owner
|
||
|
|
, ml.master;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - MATERIALIZED VIEW REFRESH GROUPS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="dba_olap_materialized_view_refresh_groups"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Materialized View Refresh Groups</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN name FORMAT a75 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN broken FORMAT a75 HEADING 'Broken?' ENTMAP off
|
||
|
|
COLUMN next_date FORMAT a75 HEADING 'Next Date' ENTMAP off
|
||
|
|
COLUMN interval FORMAT a75 HEADING 'Interval' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div nowrap align="left"><font color="#336699"><b>' || rowner || '</b></font></div>' owner
|
||
|
|
, '<div align="left">' || rname || '</div>' name
|
||
|
|
, '<div align="center">' || broken || '</div>' broken
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' next_date
|
||
|
|
, '<div nowrap align="right">' || interval || '</div>' interval
|
||
|
|
FROM
|
||
|
|
dba_refresh
|
||
|
|
ORDER BY
|
||
|
|
rowner
|
||
|
|
, rname
|
||
|
|
/
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< DATA PUMP >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Data Pump</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DATA PUMP JOBS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="data_pump_jobs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Data Pump Jobs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner_name FORMAT a75 HEADING 'Owner Name' ENTMAP off
|
||
|
|
COLUMN job_name FORMAT a75 HEADING 'Job Name' ENTMAP off
|
||
|
|
COLUMN operation FORMAT a75 HEADING 'Operation' ENTMAP off
|
||
|
|
COLUMN job_mode FORMAT a75 HEADING 'Job Mode' ENTMAP off
|
||
|
|
COLUMN state FORMAT a75 HEADING 'State' ENTMAP off
|
||
|
|
COLUMN degree FORMAT 999,999,999 HEADING 'Degree' ENTMAP off
|
||
|
|
COLUMN attached_sessions FORMAT 999,999,999 HEADING 'Attached Sessions' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || dpj.owner_name || '</b></font></div>' owner_name
|
||
|
|
, dpj.job_name job_name
|
||
|
|
, dpj.operation operation
|
||
|
|
, dpj.job_mode job_mode
|
||
|
|
, dpj.state state
|
||
|
|
, dpj.degree degree
|
||
|
|
, dpj.attached_sessions attached_sessions
|
||
|
|
FROM
|
||
|
|
dba_datapump_jobs dpj
|
||
|
|
ORDER BY
|
||
|
|
dpj.owner_name
|
||
|
|
, dpj.job_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DATA PUMP SESSIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="data_pump_sessions"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Data Pump Sessions</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a75 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN owner_name FORMAT a75 HEADING 'Owner Name' ENTMAP off
|
||
|
|
COLUMN job_name FORMAT a75 HEADING 'Job Name' ENTMAP off
|
||
|
|
COLUMN session_type FORMAT a75 HEADING 'Session Type' ENTMAP off
|
||
|
|
COLUMN sid HEADING 'SID' ENTMAP off
|
||
|
|
COLUMN serial_no HEADING 'Serial#' ENTMAP off
|
||
|
|
COLUMN oracle_username FORMAT a75 HEADING 'Oracle Username' ENTMAP off
|
||
|
|
COLUMN os_username FORMAT a75 HEADING 'O/S Username' ENTMAP off
|
||
|
|
COLUMN os_pid HEADING 'O/S PID' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print ON owner_name ON job_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, dj.owner_name owner_name
|
||
|
|
, dj.job_name job_name
|
||
|
|
, ds.type session_type
|
||
|
|
, s.sid sid
|
||
|
|
, s.serial# serial_no
|
||
|
|
, s.username oracle_username
|
||
|
|
, s.osuser os_username
|
||
|
|
, p.spid os_pid
|
||
|
|
FROM
|
||
|
|
gv$datapump_job dj
|
||
|
|
, gv$datapump_session ds
|
||
|
|
, gv$session s
|
||
|
|
, gv$instance i
|
||
|
|
, gv$process p
|
||
|
|
WHERE
|
||
|
|
s.inst_id = i.inst_id
|
||
|
|
AND s.inst_id = p.inst_id
|
||
|
|
AND ds.inst_id = i.inst_id
|
||
|
|
AND dj.inst_id = i.inst_id
|
||
|
|
AND s.saddr = ds.saddr
|
||
|
|
AND s.paddr = p.addr (+)
|
||
|
|
AND dj.job_id = ds.job_id
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, dj.owner_name
|
||
|
|
, dj.job_name
|
||
|
|
, ds.type;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DATA PUMP JOB PROGRESS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="data_pump_job_progress"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Data Pump Job Progress</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN instance_name_print FORMAT a75 HEADING 'Instance Name' ENTMAP off
|
||
|
|
COLUMN owner_name FORMAT a75 HEADING 'Owner Name' ENTMAP off
|
||
|
|
COLUMN job_name FORMAT a75 HEADING 'Job Name' ENTMAP off
|
||
|
|
COLUMN session_type FORMAT a75 HEADING 'Session Type' ENTMAP off
|
||
|
|
COLUMN start_time HEADING 'Start Time' ENTMAP off
|
||
|
|
COLUMN time_remaining FORMAT 9,999,999,999,999 HEADING 'Time Remaining (min.)' ENTMAP off
|
||
|
|
COLUMN sofar FORMAT 9,999,999,999,999 HEADING 'Bytes Completed So Far' ENTMAP off
|
||
|
|
COLUMN totalwork FORMAT 9,999,999,999,999 HEADING 'Total Bytes for Job' ENTMAP off
|
||
|
|
COLUMN pct_completed HEADING '% Completed' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON instance_name_print ON owner_name ON job_name
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="center"><font color="#336699"><b>' || i.instance_name || '</b></font></div>' instance_name_print
|
||
|
|
, dj.owner_name owner_name
|
||
|
|
, dj.job_name job_name
|
||
|
|
, ds.type session_type
|
||
|
|
, '<div align="center" nowrap>' || TO_CHAR(sl.start_time,'mm/dd/yyyy HH24:MI:SS') || '</div>' start_time
|
||
|
|
, ROUND(sl.time_remaining/60,0) time_remaining
|
||
|
|
, sl.sofar sofar
|
||
|
|
, sl.totalwork totalwork
|
||
|
|
, '<div align="right">' || TRUNC(ROUND((sl.sofar/sl.totalwork) * 100, 1)) || '%</div>' pct_completed
|
||
|
|
FROM
|
||
|
|
gv$datapump_job dj
|
||
|
|
, gv$datapump_session ds
|
||
|
|
, gv$session s
|
||
|
|
, gv$instance i
|
||
|
|
, gv$session_longops sl
|
||
|
|
WHERE
|
||
|
|
s.inst_id = i.inst_id
|
||
|
|
AND ds.inst_id = i.inst_id
|
||
|
|
AND dj.inst_id = i.inst_id
|
||
|
|
AND sl.inst_id = i.inst_id
|
||
|
|
AND s.saddr = ds.saddr
|
||
|
|
AND dj.job_id = ds.job_id
|
||
|
|
AND sl.sid = s.sid
|
||
|
|
AND sl.serial# = s.serial#
|
||
|
|
AND ds.type = 'MASTER'
|
||
|
|
ORDER BY
|
||
|
|
i.instance_name
|
||
|
|
, dj.owner_name
|
||
|
|
, dj.job_name
|
||
|
|
, ds.type;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< NETWORKING >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Networking</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - MTS DISPATCHER STATISTICS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="mts_dispatcher_statistics"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>MTS Dispatcher Statistics</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
prompt <b>Dispatcher rate</b>
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN avg_loop_rate HEADING 'Avg|Loop|Rate' ENTMAP off
|
||
|
|
COLUMN avg_event_rate HEADING 'Avg|Event|Rate' ENTMAP off
|
||
|
|
COLUMN avg_events_per_loop HEADING 'Avg|Events|Per|Loop' ENTMAP off
|
||
|
|
COLUMN avg_msg_rate HEADING 'Avg|Msg|Rate' ENTMAP off
|
||
|
|
COLUMN avg_svr_buf_rate HEADING 'Avg|Svr|Buf|Rate' ENTMAP off
|
||
|
|
COLUMN avg_svr_byte_rate HEADING 'Avg|Svr|Byte|Rate' ENTMAP off
|
||
|
|
COLUMN avg_svr_byte_per_buf HEADING 'Avg|Svr|Byte|Per|Buf' ENTMAP off
|
||
|
|
COLUMN avg_clt_buf_rate HEADING 'Avg|Clt|Buf|Rate' ENTMAP off
|
||
|
|
COLUMN avg_clt_byte_rate HEADING 'Avg|Clt|Byte|Rate' ENTMAP off
|
||
|
|
COLUMN avg_clt_byte_per_buf HEADING 'Avg|Clt|Byte|Per|Buf' ENTMAP off
|
||
|
|
COLUMN avg_buf_rate HEADING 'Avg|Buf|Rate' ENTMAP off
|
||
|
|
COLUMN avg_byte_rate HEADING 'Avg|Byte|Rate' ENTMAP off
|
||
|
|
COLUMN avg_byte_per_buf HEADING 'Avg|Byte|Per|Buf' ENTMAP off
|
||
|
|
COLUMN avg_in_connect_rate HEADING 'Avg|In|Connect|Rate' ENTMAP off
|
||
|
|
COLUMN avg_out_connect_rate HEADING 'Avg|Out|Connect|Rate' ENTMAP off
|
||
|
|
COLUMN avg_reconnect_rate HEADING 'Avg|Reconnect|Rate' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
name
|
||
|
|
, avg_loop_rate
|
||
|
|
, avg_event_rate
|
||
|
|
, avg_events_per_loop
|
||
|
|
, avg_msg_rate
|
||
|
|
, avg_svr_buf_rate
|
||
|
|
, avg_svr_byte_rate
|
||
|
|
, avg_svr_byte_per_buf
|
||
|
|
, avg_clt_buf_rate
|
||
|
|
, avg_clt_byte_rate
|
||
|
|
, avg_clt_byte_per_buf
|
||
|
|
, avg_buf_rate
|
||
|
|
, avg_byte_rate
|
||
|
|
, avg_byte_per_buf
|
||
|
|
, avg_in_connect_rate
|
||
|
|
, avg_out_connect_rate
|
||
|
|
, avg_reconnect_rate
|
||
|
|
FROM
|
||
|
|
v$dispatcher_rate
|
||
|
|
ORDER BY
|
||
|
|
name;
|
||
|
|
|
||
|
|
|
||
|
|
COLUMN protocol HEADING 'Protocol' ENTMAP off
|
||
|
|
COLUMN total_busy_rate HEADING 'Total Busy Rate' ENTMAP off
|
||
|
|
|
||
|
|
prompt <b>Dispatcher busy rate</b>
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.network protocol
|
||
|
|
, (SUM(a.BUSY) / (SUM(a.BUSY) + SUM(a.IDLE))) total_busy_rate
|
||
|
|
FROM
|
||
|
|
v$dispatcher a
|
||
|
|
GROUP BY
|
||
|
|
a.network;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - MTS DISPATCHER RESPONSE QUEUE WAIT STATS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="mts_dispatcher_response_queue_wait_stats"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>MTS Dispatcher Response Queue Wait Stats</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN type HEADING 'Type' ENTMAP off
|
||
|
|
COLUMN avg_wait HEADING 'Avg Wait Time Per Response' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.type
|
||
|
|
, DECODE( SUM(a.totalq), 0, 'NO RESPONSES', SUM(a.wait)/SUM(a.totalq) || ' HUNDREDTHS OF SECONDS') avg_wait
|
||
|
|
FROM
|
||
|
|
v$queue a
|
||
|
|
WHERE
|
||
|
|
a.type='DISPATCHER'
|
||
|
|
GROUP BY
|
||
|
|
a.type;
|
||
|
|
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - MTS SHARED SERVER WAIT STATISTICS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="mts_shared_server_wait_statistics"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>MTS Shared Server Wait Statistics</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN avg_wait HEADING 'Average Wait Time Per Request' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DECODE(a.totalq, 0, 'No Requests', a.wait/a.totalq || ' HUNDREDTHS OF SECONDS') avg_wait
|
||
|
|
FROM
|
||
|
|
v$queue a
|
||
|
|
WHERE
|
||
|
|
a.type='COMMON';
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +============================================================================+
|
||
|
|
-- | |
|
||
|
|
-- | <<<<< REPLICATION >>>>> |
|
||
|
|
-- | |
|
||
|
|
-- +============================================================================+
|
||
|
|
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Replication</u></b></font></center>
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - REPLICATION SUMMARY - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="replication_summary"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Replication Summary</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN gname HEADING 'Current Database Name' ENTMAP off
|
||
|
|
COLUMN admin_request HEADING '# Admin. Requests' ENTMAP off
|
||
|
|
COLUMN status HEADING '# Admin. Request Errors' ENTMAP off
|
||
|
|
COLUMN df_txn HEADING '# Def. Trans' ENTMAP off
|
||
|
|
COLUMN df_error HEADING '# Def. Tran Errors' ENTMAP off
|
||
|
|
COLUMN complete HEADING '# Complete Trans in Queue' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
g.global_name gname
|
||
|
|
, d.admin_request admin_request
|
||
|
|
, e.status status
|
||
|
|
, dt.tran df_txn
|
||
|
|
, de.error df_error
|
||
|
|
, c.complete complete
|
||
|
|
FROM
|
||
|
|
(select global_name from global_name) g
|
||
|
|
, (select count(id) admin_request
|
||
|
|
from sys.dba_repcatlog) d
|
||
|
|
, (select count(status) status
|
||
|
|
from sys.dba_repcatlog
|
||
|
|
where status = 'ERROR') e
|
||
|
|
, (select count(*) tran
|
||
|
|
from deftrandest) dt
|
||
|
|
, (select count(*) error
|
||
|
|
from deferror) de
|
||
|
|
, (select count(a.deferred_tran_id) complete
|
||
|
|
from deftran a
|
||
|
|
where a.deferred_tran_id not in
|
||
|
|
(select b.deferred_tran_id
|
||
|
|
from deftrandest b)
|
||
|
|
) c
|
||
|
|
/
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - DEFERRED TRANSACTIONS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="deferred_transactions"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Deferred Transactions</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN source HEADING 'Source' ENTMAP off
|
||
|
|
COLUMN dest HEADING 'Target' ENTMAP off
|
||
|
|
COLUMN trans HEADING '# Def. Trans' ENTMAP off
|
||
|
|
COLUMN errors HEADING '# Def. Tran Errors' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
source
|
||
|
|
, dest
|
||
|
|
, trans
|
||
|
|
, errors
|
||
|
|
FROM
|
||
|
|
(select
|
||
|
|
e.origin_tran_db source
|
||
|
|
, e.destination dest
|
||
|
|
, 'n/a' trans
|
||
|
|
, to_char(count(*)) errors
|
||
|
|
from
|
||
|
|
deferror e
|
||
|
|
group by
|
||
|
|
e.origin_tran_db
|
||
|
|
, e.destination
|
||
|
|
union
|
||
|
|
select
|
||
|
|
g.global_name source
|
||
|
|
, d.dblink dest
|
||
|
|
, to_char(count(*)) trans
|
||
|
|
, 'n/a' errors
|
||
|
|
from
|
||
|
|
(select global_name from global_name) g
|
||
|
|
, deftran t
|
||
|
|
, deftrandest d
|
||
|
|
where
|
||
|
|
d.deferred_tran_id = t.deferred_tran_id
|
||
|
|
group by
|
||
|
|
g.global_name, d.dblink
|
||
|
|
);
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - ADMINISTRATIVE REQUEST JOBS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="administrative_request_jobs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Administrative Request Jobs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN job HEADING 'Job ID' ENTMAP off
|
||
|
|
COLUMN priv_user HEADING 'Privilege Schema' ENTMAP off
|
||
|
|
COLUMN what FORMAT a175 HEADING 'Definition' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN next_date FORMAT a75 HEADING 'Start' ENTMAP off
|
||
|
|
COLUMN interval HEADING 'Interval' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
job job
|
||
|
|
, priv_user priv_user
|
||
|
|
, what what
|
||
|
|
, DECODE(broken, 'Y', 'Broken', 'Normal') status
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' next_date
|
||
|
|
, interval
|
||
|
|
FROM
|
||
|
|
sys.dba_jobs
|
||
|
|
WHERE
|
||
|
|
what LIKE '%dbms_repcat.do_deferred_repcat_admin%'
|
||
|
|
ORDER BY
|
||
|
|
1;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - INITIALIZATION PARAMETERS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="rep_initialization_parameters"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Initialization Parameters</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN pname FORMAT a55 HEADING 'Parameter Name' ENTMAP off
|
||
|
|
COLUMN value FORMAT a55 HEADING 'Value' ENTMAP off
|
||
|
|
COLUMN isdefault FORMAT a55 HEADING 'Is Default?' ENTMAP off
|
||
|
|
COLUMN issys_modifiable FORMAT a55 HEADING 'Is Dynamic?' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
DECODE( isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<b><font color="#336699">' || SUBSTR(name,0,512) || '</font></b>'
|
||
|
|
, '<b><font color="#336699">' || SUBSTR(name,0,512) || '</font></b>' ) pname
|
||
|
|
, DECODE( isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<font color="#663300"><b>' || SUBSTR(value,0,512) || '</b></font>'
|
||
|
|
, SUBSTR(value,0,512) ) value
|
||
|
|
, DECODE( isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || isdefault || '</b></font></div>'
|
||
|
|
, '<div align="right">' || isdefault || '</div>') isdefault
|
||
|
|
, DECODE( isdefault
|
||
|
|
, 'FALSE'
|
||
|
|
, '<div align="right"><font color="#663300"><b>' || issys_modifiable || '</b></font></div>'
|
||
|
|
, '<div align="right">' || issys_modifiable || '</div>') issys_modifiable
|
||
|
|
FROM
|
||
|
|
v$parameter
|
||
|
|
WHERE
|
||
|
|
name IN ( 'compatible'
|
||
|
|
, 'commit_point_strength'
|
||
|
|
, 'dblink_encrypt_login'
|
||
|
|
, 'distributed_lock_timeout'
|
||
|
|
, 'distributed_recovery_connection_hold_time'
|
||
|
|
, 'distributed_transactions'
|
||
|
|
, 'global_names'
|
||
|
|
, 'job_queue_interval'
|
||
|
|
, 'job_queue_processes'
|
||
|
|
, 'max_transaction_branches'
|
||
|
|
, 'open_links'
|
||
|
|
, 'open_links_per_instance'
|
||
|
|
, 'parallel_automatic_tuning'
|
||
|
|
, 'parallel_max_servers'
|
||
|
|
, 'parallel_min_servers'
|
||
|
|
, 'parallel_server_idle_time'
|
||
|
|
, 'processes'
|
||
|
|
, 'remote_dependencies_mode'
|
||
|
|
, 'replication_dependency_tracking'
|
||
|
|
, 'shared_pool_size'
|
||
|
|
, 'utl_file_dir'
|
||
|
|
)
|
||
|
|
ORDER BY name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (SCHEDULE) - PURGE JOBS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="schedule_purge_jobs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Schedule) - Purge Jobs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN job HEADING 'Job ID' ENTMAP off
|
||
|
|
COLUMN priv_user HEADING 'Privilege Schema' ENTMAP off
|
||
|
|
COLUMN status HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN next_date FORMAT a75 HEADING 'Start' ENTMAP off
|
||
|
|
COLUMN interval HEADING 'Interval' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
j.job job
|
||
|
|
, j.priv_user priv_user
|
||
|
|
, decode(broken, 'Y', 'Broken', 'Normal') status
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(s.next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' next_date
|
||
|
|
, s.interval interval
|
||
|
|
FROM
|
||
|
|
sys.defschedule s
|
||
|
|
, sys.dba_jobs j
|
||
|
|
WHERE
|
||
|
|
s.dblink = (select global_name from global_name)
|
||
|
|
AND s.interval is not null AND s.job = j.job
|
||
|
|
ORDER BY
|
||
|
|
1;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (SCHEDULE) - PUSH JOBS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="schedule_push_jobs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Schedule) - Push Jobs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN job HEADING 'Job ID' ENTMAP off
|
||
|
|
COLUMN priv_user HEADING 'Privilege Schema' ENTMAP off
|
||
|
|
COLUMN dblink HEADING 'Target' ENTMAP off
|
||
|
|
COLUMN broken HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN next_date FORMAT a75 HEADING 'Start' ENTMAP off
|
||
|
|
COLUMN interval HEADING 'Interval' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
j.job job
|
||
|
|
, j.priv_user priv_user
|
||
|
|
, s.dblink dblink
|
||
|
|
, decode(j.broken, 'Y', 'Broken', 'Normal') broken
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(s.next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' next_date
|
||
|
|
, s.interval interval
|
||
|
|
FROM
|
||
|
|
sys.defschedule s
|
||
|
|
, sys.dba_jobs j
|
||
|
|
WHERE
|
||
|
|
s.dblink != (select global_name from global_name)
|
||
|
|
AND s.interval is not null
|
||
|
|
AND s.job = j.job
|
||
|
|
ORDER BY
|
||
|
|
1;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (SCHEDULE) - REFRESH JOBS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="schedule_refresh_jobs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Schedule) - Refresh Jobs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN job HEADING 'Job ID' ENTMAP off
|
||
|
|
COLUMN priv_user HEADING 'Privilege Schema' ENTMAP off
|
||
|
|
COLUMN refresh_group HEADING 'Refresh Group' ENTMAP off
|
||
|
|
COLUMN broken HEADING 'Status' ENTMAP off
|
||
|
|
COLUMN next_date FORMAT a75 HEADING 'Start' ENTMAP off
|
||
|
|
COLUMN interval FORMAT a75 HEADING 'Interval' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
j.job job
|
||
|
|
, j.priv_user priv_user
|
||
|
|
, r.rowner || '.' || r.rname refresh_group
|
||
|
|
, decode(j.broken, 'Y', 'Broken', 'Normal') broken
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(j.next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' next_date
|
||
|
|
, '<div nowrap align="right">' || j.interval || '</div>' interval
|
||
|
|
FROM
|
||
|
|
sys.dba_refresh r
|
||
|
|
, sys.dba_jobs j
|
||
|
|
WHERE
|
||
|
|
r.job = j.job
|
||
|
|
order by
|
||
|
|
1;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MULTI-MASTER) - MASTER GROUPS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="multimaster_master_groups"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Multi-Master) - Master Groups</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN name HEADING 'Master Group' ENTMAP off
|
||
|
|
COLUMN num_def_trans HEADING '# Def. Trans' ENTMAP off
|
||
|
|
COLUMN num_tran_errors HEADING '# Def. Tran Errors' ENTMAP off
|
||
|
|
COLUMN num_admin_requests HEADING '# Admin. Requests' ENTMAP off
|
||
|
|
COLUMN num_admin_request_errors HEADING '# Admin. Request Errors' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
g.gname name
|
||
|
|
, NVL(t.cnt1, 0) num_def_trans
|
||
|
|
, NVL(ie.cnt2, 0) num_tran_errors
|
||
|
|
, NVL(a.cnt3, 0) num_admin_requests
|
||
|
|
, NVL(b.cnt4, 0) num_admin_request_errors
|
||
|
|
FROM
|
||
|
|
(select distinct gname
|
||
|
|
from dba_repgroup
|
||
|
|
where master='Y') g
|
||
|
|
, (select
|
||
|
|
rog rog
|
||
|
|
, count(dt.deferred_tran_id) cnt1
|
||
|
|
from (select distinct
|
||
|
|
ro.gname rog
|
||
|
|
, d.deferred_tran_id dft
|
||
|
|
from
|
||
|
|
dba_repobject ro
|
||
|
|
, defcall d
|
||
|
|
, deftrANDest td
|
||
|
|
where
|
||
|
|
ro.sname = d.schemaname
|
||
|
|
AND ro.oname = d.packagename
|
||
|
|
AND ro.type in ('TABLE', 'PACKAGE', 'SNAPSHOT')
|
||
|
|
AND td.deferred_tran_id = d.deferred_tran_id
|
||
|
|
) t0, deftrANDest dt
|
||
|
|
where
|
||
|
|
dt.deferred_tran_id = dft
|
||
|
|
group by rog
|
||
|
|
) t
|
||
|
|
, (select distinct
|
||
|
|
ro.gname
|
||
|
|
, count(distinct e.deferred_tran_id) cnt2
|
||
|
|
from
|
||
|
|
dba_repobject ro
|
||
|
|
, defcall d
|
||
|
|
, deferror e
|
||
|
|
where
|
||
|
|
ro.sname = d.schemaname
|
||
|
|
AND ro.oname = d.packagename
|
||
|
|
AND ro.type in ('TABLE', 'PACKAGE', 'SNAPSHOT')
|
||
|
|
AND e.deferred_tran_id = d.deferred_tran_id
|
||
|
|
AND e.callno = d.callno
|
||
|
|
group by ro.gname
|
||
|
|
) ie
|
||
|
|
, (select gname, count(*) cnt3
|
||
|
|
from dba_repcatlog
|
||
|
|
group by gname
|
||
|
|
) a
|
||
|
|
, (select gname, count(*) cnt4
|
||
|
|
from dba_repcatlog
|
||
|
|
where status = 'ERROR'
|
||
|
|
group BY gname
|
||
|
|
) b
|
||
|
|
WHERE
|
||
|
|
g.gname = ie.gname (+)
|
||
|
|
AND g.gname = t.rog (+)
|
||
|
|
AND g.gname = a.gname (+)
|
||
|
|
AND g.gname = b.gname (+)
|
||
|
|
ORDER BY
|
||
|
|
g.gname;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MULTI-MASTER) - MASTER GROUPS AND SITES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="multimaster_master_groups_and_sites"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Multi-Master) - Master Groups and Sites</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN master_group HEADING 'Master Group' ENTMAP off
|
||
|
|
COLUMN sites HEADING 'Sites' ENTMAP off
|
||
|
|
COLUMN master_definition_site HEADING 'Master Definition Site' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
gname master_group
|
||
|
|
, dblink sites
|
||
|
|
, DECODE(masterdef, 'Y', 'YES', 'N', 'NO') master_definition_site
|
||
|
|
FROM
|
||
|
|
sys.dba_repsites
|
||
|
|
WHERE
|
||
|
|
master = 'Y'
|
||
|
|
AND gname NOT IN (
|
||
|
|
SELECT gname from sys.dba_repsites
|
||
|
|
WHERE snapmaster = 'Y'
|
||
|
|
)
|
||
|
|
ORDER BY
|
||
|
|
gname;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MATERIALIZED VIEW) - MASTER SITE SUMMARY - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="materialized_view_master_site_summary"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Materialized View) - Master Site Summary</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN mgroup HEADING '# of Master Groups' ENTMAP off
|
||
|
|
COLUMN mvgroup HEADING '# of Registered MV Groups' ENTMAP off
|
||
|
|
COLUMN mv HEADING '# of Registered MVs' ENTMAP off
|
||
|
|
COLUMN mvlog HEADING '# of MV Logs' ENTMAP off
|
||
|
|
COLUMN template HEADING '# of Templates' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.mgroup mgroup
|
||
|
|
, b.mvgroup mvgroup
|
||
|
|
, c.mv mv
|
||
|
|
, d.mvlog mvlog
|
||
|
|
, e.template template
|
||
|
|
FROM
|
||
|
|
(select count(g.gname) mgroup
|
||
|
|
from sys.dba_repgroup g, sys.dba_repsites s
|
||
|
|
where g.master = 'Y'
|
||
|
|
and s.master = 'Y'
|
||
|
|
and g.gname = s.gname
|
||
|
|
and s.my_dblink = 'Y') a
|
||
|
|
, (select count(*) mvGROUP
|
||
|
|
from sys.dba_registered_snapshot_groups) b
|
||
|
|
, (select count(*) mv
|
||
|
|
from sys.dba_registered_snapshots) c
|
||
|
|
, (select count(*) mvlog
|
||
|
|
from sys.dba_snapshot_logs) d
|
||
|
|
, (select count(*) template
|
||
|
|
from sys.dba_repcat_refresh_templates) e;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN log_owner FORMAT a75 HEADING 'Log Owner' ENTMAP off
|
||
|
|
COLUMN log_table HEADING 'Log Table' ENTMAP off
|
||
|
|
COLUMN master HEADING 'Master' ENTMAP off
|
||
|
|
COLUMN rowids FORMAT a75 HEADING 'Row ID' ENTMAP off
|
||
|
|
COLUMN primary_key FORMAT a75 HEADING 'Primary Key' ENTMAP off
|
||
|
|
COLUMN filter_columns FORMAT a75 HEADING 'Filter Columns' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON log_owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || log_owner || '</b></font></div>' log_owner
|
||
|
|
, log_table
|
||
|
|
, master
|
||
|
|
, '<div align="center">' || rowids || '</div>' rowids
|
||
|
|
, '<div align="center">' || primary_key || '</div>' primary_key
|
||
|
|
, '<div align="center">' || filter_columns || '</div>' filter_columns
|
||
|
|
FROM
|
||
|
|
sys.dba_snapshot_logs
|
||
|
|
ORDER BY
|
||
|
|
log_owner;
|
||
|
|
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN ref_temp_name HEADING 'Refresh Template Name' ENTMAP off
|
||
|
|
COLUMN owner HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN public_template HEADING 'Public' ENTMAP off
|
||
|
|
COLUMN instantiated HEADING '# of Instantiated Sites' ENTMAP off
|
||
|
|
COLUMN template_comment HEADING 'Comment' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
rt.refresh_template_name ref_temp_name
|
||
|
|
, owner owner
|
||
|
|
, decode(public_template, 'Y', 'YES', 'NO') public_template
|
||
|
|
, rs.instantiated instantiated
|
||
|
|
, rt.template_comment template_comment
|
||
|
|
FROM
|
||
|
|
sys.dba_repcat_refresh_templates rt
|
||
|
|
, (SELECT y.refresh_template_name, count(x.status) instantiated
|
||
|
|
FROM sys.dba_repcat_template_sites x, sys.dba_repcat_refresh_templates y
|
||
|
|
WHERE x.refresh_template_name(+) = y.refresh_template_name
|
||
|
|
GROUP BY y.refresh_template_name) rs
|
||
|
|
WHERE
|
||
|
|
rt.refresh_template_name(+) = rs.refresh_template_name
|
||
|
|
ORDER BY
|
||
|
|
rt.refresh_template_name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MATERIALIZED VIEW) - MASTER SITE LOGS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="materialized_view_master_site_logs"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Materialized View) - Master Site Logs</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN log_owner FORMAT a75 HEADING 'Log Owner' ENTMAP off
|
||
|
|
COLUMN log_table HEADING 'Log Table' ENTMAP off
|
||
|
|
COLUMN master HEADING 'Master' ENTMAP off
|
||
|
|
COLUMN rowids FORMAT a75 HEADING 'Row ID' ENTMAP off
|
||
|
|
COLUMN primary_key FORMAT a75 HEADING 'Primary Key' ENTMAP off
|
||
|
|
COLUMN filter_columns FORMAT a75 HEADING 'Filter Columns' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON report ON log_owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || log_owner || '</b></font></div>' log_owner
|
||
|
|
, log_table
|
||
|
|
, master
|
||
|
|
, '<div align="center">' || rowids || '</div>' rowids
|
||
|
|
, '<div align="center">' || primary_key || '</div>' primary_key
|
||
|
|
, '<div align="center">' || filter_columns || '</div>' filter_columns
|
||
|
|
FROM
|
||
|
|
sys.dba_snapshot_logs
|
||
|
|
ORDER BY
|
||
|
|
log_owner;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MATERIALIZED VIEW) - MASTER SITE TEMPLATES - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="materialized_view_master_site_templates"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Materialized View) - Master Site Templates</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN refresh_template_name HEADING 'Refresh Template Name' ENTMAP off
|
||
|
|
COLUMN public_template HEADING 'Public' ENTMAP off
|
||
|
|
COLUMN instantiated HEADING '# of Instantiated Sites' ENTMAP off
|
||
|
|
COLUMN template_comment HEADING 'Comment' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || owner || '</b></font></div>' owner
|
||
|
|
, rt.refresh_template_name refresh_template_name
|
||
|
|
, decode(public_template, 'Y', 'YES', 'NO') public_template
|
||
|
|
, rs.instantiated instantiated
|
||
|
|
, rt.template_comment template_comment
|
||
|
|
FROM
|
||
|
|
sys.dba_repcat_refresh_templates rt
|
||
|
|
, ( SELECT y.refresh_template_name, count(x.status) instantiated
|
||
|
|
FROM sys.dba_repcat_template_sites x, sys.dba_repcat_refresh_templates y
|
||
|
|
WHERE x.refresh_template_name(+) = y.refresh_template_name
|
||
|
|
GROUP BY y.refresh_template_name
|
||
|
|
) rs
|
||
|
|
WHERE
|
||
|
|
rt.refresh_template_name(+) = rs.refresh_template_name
|
||
|
|
ORDER BY
|
||
|
|
owner;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MATERIALIZED VIEW) - SITE SUMMARY - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="materialized_view_summary"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Materialized View) - Site Summary</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN mvgroup HEADING '# of Materialized View Groups' ENTMAP off
|
||
|
|
COLUMN mv HEADING '# of Materialized Views' ENTMAP off
|
||
|
|
COLUMN rgroup HEADING '# of Refresh Groups' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
a.mvgroup mvgroup
|
||
|
|
, b.mv mv
|
||
|
|
, c.rgroup rgroup
|
||
|
|
FROM
|
||
|
|
( select count(s.gname) mvgroup
|
||
|
|
from sys.dba_repsites s
|
||
|
|
where s.snapmaster = 'Y') a
|
||
|
|
, ( select count(*) mv
|
||
|
|
from sys.dba_snapshots) b
|
||
|
|
, ( select count(*) rgroup
|
||
|
|
from sys.dba_refresh) c;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MATERIALIZED VIEW) - SITE GROUPS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="materialized_view_groups"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Materialized View) - Site Groups</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN gname HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN dblink HEADING 'Master' ENTMAP off
|
||
|
|
COLUMN propagation HEADING 'Propagation' ENTMAP off
|
||
|
|
COLUMN remark HEADING 'Remark' ENTMAP off
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
s.gname gname
|
||
|
|
, s.dblink dblink
|
||
|
|
, decode(s.prop_updates, 0, 'Async', 'Sync') propagation
|
||
|
|
, g.schema_comment remark
|
||
|
|
FROM
|
||
|
|
sys.dba_repsites s
|
||
|
|
, sys.dba_repgroup g
|
||
|
|
WHERE
|
||
|
|
s.gname = g.gname
|
||
|
|
AND s.snapmaster = 'Y'
|
||
|
|
ORDER BY
|
||
|
|
s.gname;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MATERIALIZED VIEW) - SITE MATERIALIZED VIEWS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="materialized_view_materialized_views"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Materialized View) - Site Materialized Views</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN name HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN master_owner HEADING 'Master Owner' ENTMAP off
|
||
|
|
COLUMN master_table HEADING 'Master Table' ENTMAP off
|
||
|
|
COLUMN master_link HEADING 'Master Link' ENTMAP off
|
||
|
|
COLUMN type HEADING 'Type' ENTMAP off
|
||
|
|
COLUMN updatable FORMAT a75 HEADING 'Updatable?' ENTMAP off
|
||
|
|
COLUMN can_use_log FORMAT a75 HEADING 'Can Use Log?' ENTMAP off
|
||
|
|
COLUMN last_refresh FORMAT a75 HEADING 'Last Refresh' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || s.owner || '</b></font></div>' owner
|
||
|
|
, s.name name
|
||
|
|
, s.master_owner master_owner
|
||
|
|
, s.master master_table
|
||
|
|
, s.master_link master_link
|
||
|
|
, nls_initcap(s.type) type
|
||
|
|
, '<div align="center">' || DECODE(s.updatable, 'YES', 'YES', 'NO') || '</div>' updatable
|
||
|
|
, '<div align="center">' || DECODE(s.can_use_log,'YES', 'YES', 'NO') || '</div>' can_use_log
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(m.last_refresh_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' last_refresh
|
||
|
|
FROM
|
||
|
|
sys.dba_snapshots s
|
||
|
|
, sys.dba_mviews m
|
||
|
|
WHERE
|
||
|
|
s.name = m.mview_name
|
||
|
|
AND s.owner = m.owner
|
||
|
|
ORDER BY
|
||
|
|
s.owner
|
||
|
|
, s.name;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - (MATERIALIZED VIEW) - SITE REFRESH GROUPS - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
prompt <a name="materialized_view_refresh_groups"></a>
|
||
|
|
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>(Materialized View) - Site Refresh Groups</b></font><hr align="left" width="460">
|
||
|
|
|
||
|
|
CLEAR COLUMNS BREAKS COMPUTES
|
||
|
|
|
||
|
|
COLUMN owner FORMAT a75 HEADING 'Owner' ENTMAP off
|
||
|
|
COLUMN name FORMAT a75 HEADING 'Name' ENTMAP off
|
||
|
|
COLUMN broken FORMAT a75 HEADING 'Broken?' ENTMAP off
|
||
|
|
COLUMN next_date FORMAT a75 HEADING 'Next Date' ENTMAP off
|
||
|
|
COLUMN interval FORMAT a75 HEADING 'Interval' ENTMAP off
|
||
|
|
|
||
|
|
BREAK ON owner
|
||
|
|
|
||
|
|
SELECT
|
||
|
|
'<div align="left"><font color="#336699"><b>' || rowner || '</b></font></div>' owner
|
||
|
|
, '<div align="left">' || rname || '</div>' name
|
||
|
|
, '<div align="center">' || broken || '</div>' broken
|
||
|
|
, '<div nowrap align="right">' || NVL(TO_CHAR(next_date, 'mm/dd/yyyy HH24:MI:SS'), '<br>') || '</div>' next_date
|
||
|
|
, '<div nowrap align="right">' || interval || '</div>' interval
|
||
|
|
FROM
|
||
|
|
sys.dba_refresh
|
||
|
|
ORDER BY
|
||
|
|
rowner
|
||
|
|
, rname;
|
||
|
|
|
||
|
|
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
-- | - END OF REPORT - |
|
||
|
|
-- +----------------------------------------------------------------------------+
|
||
|
|
|
||
|
|
SPOOL OFF
|
||
|
|
|
||
|
|
SET MARKUP HTML OFF
|
||
|
|
|
||
|
|
SET TERMOUT ON
|
||
|
|
|
||
|
|
prompt
|
||
|
|
prompt Output written to: &FileName._&_dbname._&_spool_time..html
|
||
|
|
|
||
|
|
EXIT;
|