Files
oracle/vdh/get_db_overview.sql

730 lines
24 KiB
MySQL
Raw Permalink Normal View History

2026-03-12 21:23:47 +01:00
/* run this script as a dba user, passing the logfile as parameter
This script has been created to assist in the migrations of the 9i databases at OLV
@get_db_overview.sql <logfile>
this will generate a logfile in the current directory
*/
set pagesize 9999
set linesize 150
set serveroutput on
set trimspool on
set echo off
set feedback 1
spool &1
--------------------------------------------- DB ----------------------------------------------------------------------
column platform_name format a40
column name format a15
column db_unique_name format a20
select dbid, name, created, log_mode
from v$database;
--------------------------------------------- DB PARAMETERS ------------------------------------------------------------
prompt
prompt PARAMETERS
prompt __________
set linesize 180
set pagesize 9999
COLUMN display_value FORMAT a15 word_wrapped
COLUMN value FORMAT a75 word_wrapped
COLUMN name FORMAT a35
column type format 999
select x.inst_id inst_id,ksppinm name,ksppity type,
ksppstvl value, ksppstdf isdefault
from x$ksppi x, x$ksppcv y
where (x.indx = y.indx)
and ( ksppstdf = 'FALSE'
or translate(ksppinm,'_','#') like '##%'
-- or translate(ksppinm,'_','#') like '#%'
)
order by x.inst_id, ksppinm;
--------------------------------------------- DB PROPERTIES ------------------------------------------------------------
prompt
prompt DB PROPERTIES
prompt _____________
column property_value format a40
select property_name, property_value
from database_properties
order by property_name;
--------------------------------------------- INSTALLED OPTIONS --------------------------------------------------------
prompt
prompt INSTALLED OPTIONS
prompt _________________
column comp_name format a50
select comp_name, version, status
from dba_registry
order by comp_name;
--------------------------------------------- DB SIZES ------------------------------------------------------------------
prompt
prompt DB - Sizes
prompt __________
column name format a25 heading "tablespace name"
column space_mb format 99g999g990D99 heading "curr df mbytes"
column maxspace_mb format 99g999g990D99 heading "max df mbytes"
column used format 99g999g990D99 heading "used mbytes"
column df_free format 99g999g990D99 heading "curr df free mbytes"
column maxdf_free format 99g999g990D99 heading "max df free mbytes"
column pct_free format 990D99 heading "% free"
column pct_maxfile_free format 990D99 heading "% maxfile free"
break on report
compute sum of space_mb on report
compute sum of maxspace_mb on report
compute sum of df_free on report
compute sum of maxdf_free on report
compute sum of used on report
select df.tablespace_name name, df.space space_mb, df.maxspace maxspace_mb, (df.space - nvl(fs.freespace,0)) used,
nvl(fs.freespace,0) df_free, (nvl(fs.freespace,0) + df.maxspace - df.space) maxdf_free,
100 * (nvl(fs.freespace,0) / df.space) pct_free,
100 * ((nvl(fs.freespace,0) + df.maxspace - df.space) / df.maxspace) pct_maxfile_free
from ( select tablespace_name, sum(bytes)/1024/1024 space, sum(greatest(maxbytes,bytes))/1024/1024 maxspace
from dba_data_files
group by tablespace_name
union all
select tablespace_name, sum(bytes)/1024/1024 space, sum(greatest(maxbytes,bytes))/1024/1024 maxspace
from dba_temp_files
group by tablespace_name
) df,
( select tablespace_name, sum(bytes)/1024/1024 freespace
from dba_free_space
group by tablespace_name
) fs
where df.tablespace_name = fs.tablespace_name(+)
order by name;
clear breaks
--------------------------------------------- TABLESPACE INFO --------------------------------------------------------------
prompt
prompt tablespace info
prompt _______________
column max_mb format 9G999G990D99
column curr_mb format 9G999G990D99
column free_mb format 9G999G990D99
column pct_free format 900D99 heading "%FREE"
column NE format 9G999G999D99
column SSM format a6
column AT format a8
column tablespace_name format a20
column EM format a10
column contents format a15
column block_size format 99999 heading bsize
select A.tablespace_name, block_size, A.contents, extent_management EM, allocation_type AT,
segment_space_management ssm, decode(allocation_type, 'UNIFORM',next_extent/1024,'') NE,
B.max_mb, B.curr_mb,
(B.max_mb - B.curr_mb) + nvl(c.free_mb,0) free_mb,
((100/B.max_mb)*(B.max_mb - B.curr_mb + nvl(c.free_mb,0))) pct_free
from dba_tablespaces A,
( select tablespace_name, sum(bytes)/1024/1024 curr_mb,
sum(greatest(bytes, maxbytes))/1024/1024 max_mb
from dba_data_files
group by tablespace_name
union all
select tablespace_name, sum(bytes)/1024/1024 curr_mb,
sum(greatest(bytes, maxbytes))/1024/1024 max_mb
from dba_temp_files
group by tablespace_name
) B,
( select tablespace_name, sum(bytes)/1024/1024 free_mb
from dba_free_space
group by tablespace_name
) C
where A.tablespace_name = B.tablespace_name
and A.tablespace_name = C.tablespace_name(+)
order by tablespace_name;
--------------------------------------------- DF DETAILS ------------------------------------------------------------------
column curr_mb format 9G999G990D99
column max_mb format 9G9999990D99
column incr_mb format 9G999G990D99
column file_name format a75
--column file_name format a60
column tablespace_name format a20
break on tablespace_name skip 1
set linesize 160
set pagesize 999
prompt
prompt datafiles info
prompt ______________
select A.tablespace_name, file_id, file_name, bytes/1024/1024 curr_mb, autoextensible,
maxbytes/1024/1024 max_mb, (increment_by * block_size)/1024/1024 incr_mb
from ( select tablespace_name, file_id, file_name, bytes, autoextensible, maxbytes,
increment_by
from dba_data_files
union all
select tablespace_name, file_id, file_name, bytes, autoextensible, maxbytes,
increment_by
from dba_temp_files
) A, dba_tablespaces B
where A.tablespace_name = B.tablespace_name
order by A.tablespace_name, file_name;
clear breaks;
--------------------------------------------- OWNER / TBS MATRIX ------------------------------------------------------------------
prompt
prompt OWNER / TBS MATRIX
prompt __________________
column mb format 9G999G999D99
break on owner skip 1
compute sum of mb on owner
select owner, tablespace_name, sum(bytes)/1024/1024 mb, count(*) counted
from dba_segments
group by owner, tablespace_name
order by owner, tablespace_name;
clear breaks
--------------------------------------------- OBJECTS ------------------------------------------------------------------
prompt
prompt OBJECTS
prompt __________________
break on owner skip 1 on object_type
compute sum of counted on owner
column counted format 9G999G999G999
select owner, object_type, status, count(*) counted
from dba_objects
where owner not in
( 'DBSNMP','ORACLE_OCM','OUTLN','PUBLIC','SYS','SYSMAN','SYSTEM', 'TSMSYS','WMSYS','APPQOSSYS',
'CTXSYS','EXFSYS','MDSYS','ORDDATA','ORDPLUGINS','ORDSYS','SI_INFORMTN_SCHEMA','XDB'
)
group by owner, object_type, status
order by owner, object_type, status;
clear breaks
--------------------------------------------- ONLINE REDO INFO ----------------------------------------------------------------
prompt
prompt ONLINE REDO INFO
prompt ________________
column member format a65
column type format a10
column status format a15
column arch format a4
column mb format 9G999G999
break on type on thread# nodup skip 1 on type nodup on GROUP# nodup
select type, A.thread#, A.group#, B.member, A.bytes/1024/1024 mb,A.status, arch
from ( select group#, thread#, bytes, status, archived arch
from v$log
union all
select group#, thread#, bytes, status, archived arch
from v$standby_log
) A, v$logfile B
where A.group# = B.group#
order by type, A.thread#, A.group#, B.member;
clear breaks
--------------------------------------------- REDO SIZES ------------------------------------------------------------------
prompt
prompt REDO STATISTICS
prompt _______________
column day_arch# format 999G999
column graph format a15
column dayname format a12
column day format a12
column start_day format a22
column end_day format a22
column days_between format 99
column avg_archived_per_day format a13 heading avg_gen
select to_char(min(dag), 'DD/MM/YYYY HH24:MI:SS') start_day, to_char(max(dag) + 1 - 1/(24*60*60), 'DD/MM/YYYY HH24:MI:SS') end_day,
(max(dag) - min(dag) + 1) days_between,
to_char(avg(gen_archived_size),'9G999G999D99') avg_archived_per_day
from ( select trunc(completion_time) dag, sum(blocks * block_size)/1024/1024 gen_archived_size
from v$archived_log
where standby_dest = 'NO'
and months_between(trunc(sysdate), trunc(completion_time)) <= 1
and completion_time < trunc(sysdate)
group by trunc(completion_time)
);
/*
archived redo over the (max) last 10 days
*/
column day_arch_size format 99G999D99
column day_arch# format 999G999
column graph format a15
column dayname format a12
column day format a12
select to_char(day, 'DD/MM/YYYY') day, to_char(day,'DAY') dayname, day_arch_size, day_arch#, graph
from ( select trunc(completion_time) day, sum(blocks * block_size)/1024/1024 day_arch_size, count(*) day_arch#,
rpad('*',floor(count(*)/10),'*') graph
from v$archived_log
where standby_dest = 'NO'
and completion_time >= trunc(sysdate) - 10
group by trunc(completion_time)
order by day
);
/*
archived redo per hour over the (max) last 2 days
*/
column hour_arch_size format 99G999D99
column hour_arch# format 9G999
column graph format a15
column dayname format a12
column dayhour format a18
break on dayname skip 1
select to_char(dayhour,'DAY') dayname, to_char(dayhour, 'DD/MM/YYYY HH24:MI') dayhour, hour_arch_size, hour_arch#, graph
from ( select trunc(completion_time, 'HH') dayhour, sum(blocks * block_size)/1024/1024 hour_arch_size, count(*) hour_arch#,
rpad('*',floor(count(*)/4),'*') graph
from v$archived_log
where standby_dest = 'NO'
and completion_time >= trunc(sysdate) - 2
group by trunc(completion_time, 'HH')
order by dayhour
);
clear breaks;
--------------------------------------------- USERS ------------------------------------------------------------------
prompt
prompt USERS
prompt _____
column username format a20
column password format a20
column account_status format a20
column default_tablespace format a20
column temporary_tablespace format a20
column profile format a15
select username, password, account_status, lock_date, expiry_date, default_tablespace, temporary_tablespace, created, profile
from dba_users
order by username;
--------------------------------------------- TS QUOTA ------------------------------------------------------------------
prompt
prompt TS QUOTA
prompt __________
prompt(0 = unlimited)
column mb format 9G999G999D99
select username, tablespace_name, (decode (max_bytes, -1,0, max_bytes))/1024/1024 mb
from dba_ts_quotas
order by username, tablespace_name;
--------------------------------------------- PRIVILEGES ------------------------------------------------------------------
prompt
prompt SYS PRIVILEGES
prompt ______________
column grantee format a30
break on grantee skip 1
select grantee, privilege, admin_option
from dba_sys_privs
where grantee not in
( 'SYS', 'SYSTEM', 'TSMSYS', 'WMSYS','SYSMAN', 'OUTLN', 'DBSNMP', 'PERFSTAT', 'UPTIME',
'ANALYZETHIS', 'AQ_ADMINISTRATOR_ROLE', 'AQ_USER_ROLE', 'DBA', 'DELETE_CATALOG_ROLE',
'EXECUTE_CATALOG_ROLE', 'EXP_FULL_DATABASE', 'GATHER_SYSTEM_STATISTICS', 'HS_ADMIN_ROLE',
'IMP_FULL_DATABASE', 'LOGSTDBY_ADMINISTRATOR', 'OEM_MONITOR', 'OUTLN', 'PANDORA', 'PERFSTAT',
'PUBLIC', 'SELECT_CATALOG_ROLE', 'SYS', 'SYSTEM', 'WMSYS', 'WM_ADMIN_ROLE', 'TIVOLI_ROLE',
'CONNECT', 'JAVADEBUGPRIV', 'RECOVERY_CATALOG_OWNER', 'RESOURCE', 'TIVOLI', 'JAVASYSPRIV',
'GLOBAL_AQ_USER_ROLE', 'JAVAUSERPRIV', 'JAVAIDPRIV', 'EJBCLIENT', 'JAVA_ADMIN', 'JAVA_DEPLOY',
'MGMT_USER','MGMT_VIEW','OEM_ADVISOR','ORACLE_OCM','SCHEDULER_ADMIN','DIP','APPQOSSYS', 'ANONYMOUS',
'CTXSYS','EXFSYS','MDSYS','ORDDATA','ORDPLUGINS','ORDSYS','SI_INFORMTN_SCHEMA','XDB','DATAPUMP_EXP_FULL_DATABASE',
'DATAPUMP_IMP_FULL_DATABASE','XDBADMIN','XDB_SET_INVOKER','XDB_WEBSERVICES','XDB_WEBSERVICES_OVER_HTTP','XDB_WEBSERVICES_WITH_PUBLIC'
)
order by grantee, privilege;
clear breaks
prompt
prompt ROLE PRIVILEGES
prompt _______________
column grantee format a30
break on grantee skip 1
select grantee, granted_role, admin_option, default_role
from dba_role_privs
where grantee not in
( 'SYS', 'SYSTEM', 'TSMSYS', 'WMSYS','SYSMAN', 'OUTLN', 'DBSNMP', 'PERFSTAT', 'UPTIME',
'ANALYZETHIS', 'AQ_ADMINISTRATOR_ROLE', 'AQ_USER_ROLE', 'DBA', 'DELETE_CATALOG_ROLE',
'EXECUTE_CATALOG_ROLE', 'EXP_FULL_DATABASE', 'GATHER_SYSTEM_STATISTICS', 'HS_ADMIN_ROLE',
'IMP_FULL_DATABASE', 'LOGSTDBY_ADMINISTRATOR', 'OEM_MONITOR', 'OUTLN', 'PANDORA', 'PERFSTAT',
'PUBLIC', 'SELECT_CATALOG_ROLE', 'SYS', 'SYSTEM', 'WMSYS', 'WM_ADMIN_ROLE', 'TIVOLI_ROLE',
'CONNECT', 'JAVADEBUGPRIV', 'RECOVERY_CATALOG_OWNER', 'RESOURCE', 'TIVOLI', 'JAVASYSPRIV',
'GLOBAL_AQ_USER_ROLE', 'JAVAUSERPRIV', 'JAVAIDPRIV', 'EJBCLIENT', 'JAVA_ADMIN', 'JAVA_DEPLOY',
'MGMT_USER','MGMT_VIEW','OEM_ADVISOR','ORACLE_OCM','SCHEDULER_ADMIN','DIP', 'CTXSYS', 'DATAPUMP_EXP_FULL_DATABASE',
'DATAPUMP_IMP_FULL_DATABASE','EXFSYS','MDSYS','ORDSYS','XDB','XDBADMIN','XDB_SET_INVOKER','XDB_WEBSERVICES','XDB_WEBSERVICES_OVER_HTTP','XDB_WEBSERVICES_WITH_PUBLIC'
)
order by grantee, granted_role;
clear breaks
prompt
prompt OBJECT PRIVILEGES
prompt _________________
column grantee format a30
column privilege format a30
break on grantee skip 1
select grantee, owner, table_name, privilege, grantable, hierarchy
from dba_tab_privs
where grantee not in
( 'SYS', 'SYSTEM', 'TSMSYS', 'WMSYS','SYSMAN', 'OUTLN', 'DBSNMP', 'PERFSTAT', 'UPTIME',
'ANALYZETHIS', 'AQ_ADMINISTRATOR_ROLE', 'AQ_USER_ROLE', 'DBA', 'DELETE_CATALOG_ROLE',
'EXECUTE_CATALOG_ROLE', 'EXP_FULL_DATABASE', 'GATHER_SYSTEM_STATISTICS', 'HS_ADMIN_ROLE',
'IMP_FULL_DATABASE', 'LOGSTDBY_ADMINISTRATOR', 'OEM_MONITOR', 'OUTLN', 'PANDORA', 'PERFSTAT',
'PUBLIC', 'SELECT_CATALOG_ROLE', 'SYS', 'SYSTEM', 'WMSYS', 'WM_ADMIN_ROLE', 'TIVOLI_ROLE',
'CONNECT', 'JAVADEBUGPRIV', 'RECOVERY_CATALOG_OWNER', 'RESOURCE', 'TIVOLI', 'JAVASYSPRIV',
'GLOBAL_AQ_USER_ROLE', 'JAVAUSERPRIV', 'JAVAIDPRIV', 'EJBCLIENT', 'JAVA_ADMIN', 'JAVA_DEPLOY',
'MGMT_USER','MGMT_VIEW','OEM_ADVISOR','ORACLE_OCM','SCHEDULER_ADMIN','DIP','APPQOSSYS', 'ANONYMOUS',
'CTXSYS','EXFSYS','MDSYS','ORDDATA','ORDPLUGINS','ORDSYS','SI_INFORMTN_SCHEMA','XDB','DATAPUMP_EXP_FULL_DATABASE',
'DATAPUMP_IMP_FULL_DATABASE','ADM_PARALLEL_EXECUTE_TASK','CTXAPP','DBFS_ROLE','HS_ADMIN_EXECUTE_ROLE','HS_ADMIN_SELECT_ROLE',
'ORDADMIN','XDBADMIN','XDB_SET_INVOKER','XDB_WEBSERVICES','XDB_WEBSERVICES_OVER_HTTP','XDB_WEBSERVICES_WITH_PUBLIC'
)
order by grantee, owner, table_name, privilege;
clear breaks
prompt
prompt NON STANDARD ROLES
prompt __________________
column grantee format a30
column privilege format a30
break on grantee skip 1
select role, password_required
from dba_roles
where role not in
( 'SYS', 'SYSTEM', 'TSMSYS', 'WMSYS','SYSMAN', 'OUTLN', 'DBSNMP', 'PERFSTAT', 'UPTIME',
'ANALYZETHIS', 'AQ_ADMINISTRATOR_ROLE', 'AQ_USER_ROLE', 'DBA', 'DELETE_CATALOG_ROLE',
'EXECUTE_CATALOG_ROLE', 'EXP_FULL_DATABASE', 'GATHER_SYSTEM_STATISTICS', 'HS_ADMIN_ROLE',
'IMP_FULL_DATABASE', 'LOGSTDBY_ADMINISTRATOR', 'OEM_MONITOR', 'OUTLN', 'PANDORA', 'PERFSTAT',
'PUBLIC', 'SELECT_CATALOG_ROLE', 'SYS', 'SYSTEM', 'WMSYS', 'WM_ADMIN_ROLE', 'TIVOLI_ROLE',
'CONNECT', 'JAVADEBUGPRIV', 'RECOVERY_CATALOG_OWNER', 'RESOURCE', 'TIVOLI', 'JAVASYSPRIV',
'GLOBAL_AQ_USER_ROLE', 'JAVAUSERPRIV', 'JAVAIDPRIV', 'EJBCLIENT', 'JAVA_ADMIN', 'JAVA_DEPLOY',
'MGMT_USER','MGMT_VIEW','OEM_ADVISOR','ORACLE_OCM','SCHEDULER_ADMIN','DIP','APPQOSSYS', 'ANONYMOUS',
'CTXSYS','EXFSYS','MDSYS','ORDDATA','ORDPLUGINS','ORDSYS','SI_INFORMTN_SCHEMA','XDB','DATAPUMP_EXP_FULL_DATABASE',
'DATAPUMP_IMP_FULL_DATABASE','ADM_PARALLEL_EXECUTE_TASK','CTXAPP','DBFS_ROLE','HS_ADMIN_EXECUTE_ROLE','HS_ADMIN_SELECT_ROLE',
'ORDADMIN','XDBADMIN','XDB_SET_INVOKER','XDB_WEBSERVICES','XDB_WEBSERVICES_OVER_HTTP','XDB_WEBSERVICES_WITH_PUBLIC',
'AUTHENTICATEDUSER','JMXSERVER'
)
order by role;
clear breaks
--------------------------------------------- SYNONYMS ------------------------------------------------------------------
prompt
prompt SYNONYMS
prompt _________
break on owner skip 1
select owner, synonym_name, table_owner, table_name
from dba_synonyms
where owner not in
( 'SYS', 'SYSTEM', 'TSMSYS', 'WMSYS','SYSMAN', 'OUTLN', 'DBSNMP', 'PERFSTAT', 'UPTIME',
'ANALYZETHIS', 'AQ_ADMINISTRATOR_ROLE', 'AQ_USER_ROLE', 'DBA', 'DELETE_CATALOG_ROLE',
'EXECUTE_CATALOG_ROLE', 'EXP_FULL_DATABASE', 'GATHER_SYSTEM_STATISTICS', 'HS_ADMIN_ROLE',
'IMP_FULL_DATABASE', 'LOGSTDBY_ADMINISTRATOR', 'OEM_MONITOR', 'OUTLN', 'PANDORA', 'PERFSTAT',
'PUBLIC', 'SELECT_CATALOG_ROLE', 'SYS', 'SYSTEM', 'WMSYS', 'WM_ADMIN_ROLE', 'TIVOLI_ROLE',
'CONNECT', 'JAVADEBUGPRIV', 'RECOVERY_CATALOG_OWNER', 'RESOURCE', 'TIVOLI', 'JAVASYSPRIV',
'GLOBAL_AQ_USER_ROLE', 'JAVAUSERPRIV', 'JAVAIDPRIV', 'EJBCLIENT', 'JAVA_ADMIN', 'JAVA_DEPLOY',
'MGMT_USER','MGMT_VIEW','OEM_ADVISOR','ORACLE_OCM','SCHEDULER_ADMIN','DIP','APPQOSSYS', 'ANONYMOUS',
'CTXSYS','EXFSYS','MDSYS','ORDDATA','ORDPLUGINS','ORDSYS','SI_INFORMTN_SCHEMA','XDB','DATAPUMP_EXP_FULL_DATABASE',
'DATAPUMP_IMP_FULL_DATABASE','ADM_PARALLEL_EXECUTE_TASK','CTXAPP','DBFS_ROLE','HS_ADMIN_EXECUTE_ROLE','HS_ADMIN_SELECT_ROLE',
'ORDADMIN','XDBADMIN','XDB_SET_INVOKER','XDB_WEBSERVICES','XDB_WEBSERVICES_OVER_HTTP','XDB_WEBSERVICES_WITH_PUBLIC',
'AUTHENTICATEDUSER','JMXSERVER'
)
order by owner, synonym_name;
clear breaks
prompt
prompt NON DEFAULT PUBLIC SYNONYMS
prompt ____________________________
break on table_owner skip 1
select table_owner, table_name, synonym_name
from dba_synonyms
where owner = 'PUBLIC'
and table_owner not in
( 'SYS', 'SYSTEM', 'TSMSYS', 'WMSYS','SYSMAN', 'OUTLN', 'DBSNMP', 'PERFSTAT', 'UPTIME',
'ANALYZETHIS', 'AQ_ADMINISTRATOR_ROLE', 'AQ_USER_ROLE', 'DBA', 'DELETE_CATALOG_ROLE',
'EXECUTE_CATALOG_ROLE', 'EXP_FULL_DATABASE', 'GATHER_SYSTEM_STATISTICS', 'HS_ADMIN_ROLE',
'IMP_FULL_DATABASE', 'LOGSTDBY_ADMINISTRATOR', 'OEM_MONITOR', 'OUTLN', 'PANDORA', 'PERFSTAT',
'PUBLIC', 'SELECT_CATALOG_ROLE', 'SYS', 'SYSTEM', 'WMSYS', 'WM_ADMIN_ROLE', 'TIVOLI_ROLE',
'CONNECT', 'JAVADEBUGPRIV', 'RECOVERY_CATALOG_OWNER', 'RESOURCE', 'TIVOLI', 'JAVASYSPRIV',
'GLOBAL_AQ_USER_ROLE', 'JAVAUSERPRIV', 'JAVAIDPRIV', 'EJBCLIENT', 'JAVA_ADMIN', 'JAVA_DEPLOY',
'MGMT_USER','MGMT_VIEW','OEM_ADVISOR','ORACLE_OCM','SCHEDULER_ADMIN','DIP','APPQOSSYS', 'ANONYMOUS',
'CTXSYS','EXFSYS','MDSYS','ORDDATA','ORDPLUGINS','ORDSYS','SI_INFORMTN_SCHEMA','XDB','DATAPUMP_EXP_FULL_DATABASE',
'DATAPUMP_IMP_FULL_DATABASE','ADM_PARALLEL_EXECUTE_TASK','CTXAPP','DBFS_ROLE','HS_ADMIN_EXECUTE_ROLE','HS_ADMIN_SELECT_ROLE',
'ORDADMIN','XDBADMIN','XDB_SET_INVOKER','XDB_WEBSERVICES','XDB_WEBSERVICES_OVER_HTTP','XDB_WEBSERVICES_WITH_PUBLIC',
'AUTHENTICATEDUSER','JMXSERVER'
)
order by table_owner, table_name;
clear breaks
--------------------------------------------- JOBS ------------------------------------------------------------------
prompt
prompt JOBS
prompt ____
column what format a60 word_wrapped
column interval format a30 word_wrapped
break on job skip 1
select job, what, interval, failures, broken, schema_user
from dba_jobs;
clear breaks
--------------------------------------------- SCHEDULER ------------------------------------------------------------------
prompt
prompt SCHEDULER
prompt _________
prompt JOBS
prompt -----
set linesize 200
column interval format a30 word_wrapped
column what format a50 word_wrapped
column failures format 999
column broken format a1
column schema_user format a20
column last_date format a10
column last_sec format a10
select
job, schema_user, what, last_date, last_sec, interval, broken, failures
from
dba_jobs
order by
job
;
prompt
prompt
prompt DEFINED SCHEDULER JOBS
prompt -----------------------
set linesize 150
column owner format a15
column state format a10
column failure_count format 999 heading FC
column run_count format 99999 heading RC
column job_name format a28
column next_run_date format a35
column last_start_date format a35
select
owner, job_name, state, run_count, failure_count,
to_char(last_start_date, 'DD/MM/YYYY HH24:MI:SS TZR') last_start_date,
to_char(next_run_date, 'DD/MM/YYYY HH24:MI:SS TZR') next_run_date
from
dba_scheduler_jobs
order by
owner, job_name
;
prompt
prompt
prompt LAST 10 RUNS PER SCHEDULER JOB
prompt -------------------------------
clear breaks
set linesize 150
column log_date format a20
column req_start_date format a35
column actual_start_date format a35
column run_duration format a14
column status format a10
column owner format a15
column job_name format a28
break on owner skip 1 on job_name skip 1
select
owner, job_name, -- to_char(log_date, 'DD/MM/YYYY HH24:MI:SS') log_date,
to_char(req_start_date, 'DD/MM/YYYY HH24:MI:SS TZR') req_start_date,
to_char(actual_start_date, 'DD/MM/YYYY HH24:MI:SS TZR') actual_start_date,
run_duration, status
from
( select
owner, job_name, log_date, req_start_date, actual_start_date,
run_duration, status,
row_number () over
( partition by owner, job_name
order by log_date desc
) rn
from
dba_scheduler_job_run_details
where
job_name not like 'ORA$AT_%' -- filter out autotasks
) jrd
where
rn <= 10
order by
owner, job_name, jrd.log_date desc
;
prompt
prompt
prompt 10 MOST RECENT JOB RUNS
prompt ------------------------
clear breaks
set linesize 150
column start_date format a20
column run_duration format a14
column status format a10
column owner format a15
column job_name format a30
select
to_char(actual_start_date, 'DD/MM/YYYY HH24:MI:SS') start_date,
owner, job_name, run_duration, status
from
( select
actual_start_date, owner, job_name, run_duration, status
from
dba_scheduler_job_run_details
where
job_name not like 'ORA$AT_%' -- filter out autotasks
order by
actual_start_date desc
) jrd
where
rownum <= 10
;
prompt
prompt
prompt DEFINED AUTOTASKS
prompt ------------------
clear breaks
column client_name format a35
select
client_name, status
from
dba_autotask_operation
order by
client_name
;
prompt
prompt
prompt AUTOTASK WINDOWS
prompt -----------------
clear breaks
set linesize 150
column window_next_time format a45
select
*
from
dba_autotask_window_clients
;
prompt
prompt
prompt LAST 10 RUNS PER AUTOTASK
prompt --------------------------
column client_name format a35
column job_duration format a14
column job_start_time format a45
column job_status format a10
break on client_name skip 1
select
client_name, job_start_time, job_duration, job_status, job_error
from
( select
client_name, job_status, job_start_time, job_duration, job_error,
row_number () over
( partition by client_name
order by job_start_time desc
) rn
from
dba_autotask_job_history
)
where
rn <= 10
order by
client_name, job_start_time desc
;
clear breaks
--------------------------------------------- THE END ------------------------------------------------------------------
spool off