diff --git a/asm/01_asm.sql b/asm/01_asm.sql index 3955510..a02544d 100644 --- a/asm/01_asm.sql +++ b/asm/01_asm.sql @@ -1,53 +1,50 @@ PRO

Configuratiom ASM

SELECT - dg.name, - dg.state, - dg.type, - dg.total_mb, - dg.free_mb, - dg.usable_file_mb, - compatibility, - dg.database_compatibility + DG.NAME, + DG.STATE, + DG.TYPE, + DG.TOTAL_MB, + DG.FREE_MB, + DG.USABLE_FILE_MB, + COMPATIBILITY, + DG.DATABASE_COMPATIBILITY FROM - v$asm_diskgroup dg; - + V$ASM_DISKGROUP DG; -- Viewing disks in disk groups with V$ASM_DISK SELECT - dg.name "Disk Grp Name", - a.name "Name", - a.failgroup, - a.path, - a.os_mb, - a.total_mb, - a.free_mb, - a.cold_used_mb, - a.header_status, - a.mode_status, - a.state, - a.redundancy, - to_char(a.create_date, 'DD/MM/YYYY HH24:MI') "Create Date" + DG.NAME "Disk Grp Name", + A.NAME "Name", + A.FAILGROUP, + A.PATH, + A.OS_MB, + A.TOTAL_MB, + A.FREE_MB, + A.COLD_USED_MB, + A.HEADER_STATUS, + A.MODE_STATUS, + A.STATE, + A.REDUNDANCY, + TO_CHAR(A.CREATE_DATE, 'DD/MM/YYYY HH24:MI') "Create Date" FROM - v$asm_disk a, - v$asm_diskgroup dg + V$ASM_DISK A, + V$ASM_DISKGROUP DG WHERE - a.group_number = dg.group_number + A.GROUP_NUMBER = DG.GROUP_NUMBER ORDER BY - dg.name, - a.name -; + DG.NAME, + A.NAME; -- Viewing disk group clients with V$ASM_CLIENT - SELECT - dg.name AS diskgroup, - c.instance_name AS instance, - db_name AS dbname, - software_version AS software, - compatible_version AS compatible + DG.NAME AS DISKGROUP, + C.INSTANCE_NAME AS INSTANCE, + DB_NAME AS DBNAME, + SOFTWARE_VERSION AS SOFTWARE, + COMPATIBLE_VERSION AS COMPATIBLE FROM - v$asm_diskgroup dg, - v$asm_client c + V$ASM_DISKGROUP DG, + V$ASM_CLIENT C WHERE - dg.group_number = c.group_number; \ No newline at end of file + DG.GROUP_NUMBER = C.GROUP_NUMBER; \ No newline at end of file diff --git a/asm/02_asm_alertlog_errors.sql b/asm/02_asm_alertlog_errors.sql index 8ace4c4..8ffb5cf 100644 --- a/asm/02_asm_alertlog_errors.sql +++ b/asm/02_asm_alertlog_errors.sql @@ -1,10 +1,13 @@ prompt

Les dernières erreurs ASM (Les 30 derniers jours et les 50 dernières lignes)

--- set pages 99 -select to_char(ORIGINATING_TIMESTAMP, 'DD-MM-YYYY HH-MM-SS') "Date", message_text "Message" -FROM X$DBGALERTEXT -WHERE originating_timestamp > systimestamp - 30 -AND regexp_like(message_text, '(ORA-)') -AND rownum <=50 -order by originating_timestamp desc; - +SELECT + TO_CHAR(ORIGINATING_TIMESTAMP, 'DD-MM-YYYY HH-MM-SS') "Date", + MESSAGE_TEXT "Message" +FROM + X$DBGALERTEXT +WHERE + ORIGINATING_TIMESTAMP > SYSTIMESTAMP - 30 + AND REGEXP_LIKE(MESSAGE_TEXT, '(ORA-)') + AND ROWNUM <=50 +ORDER BY + ORIGINATING_TIMESTAMP DESC; \ No newline at end of file diff --git a/sql/01_system_info.sql b/sql/01_system_info.sql index 9f356d7..29537bd 100644 --- a/sql/01_system_info.sql +++ b/sql/01_system_info.sql @@ -39,14 +39,6 @@ CASE WHEN sga.target > 0 THEN 'SGA ' ||TRIM(TO_CHAR(ROUND(sga.target / POWER(2 CASE WHEN pga.target > 0 THEN 'PGA ' ||TRIM(TO_CHAR(ROUND(pga.target / POWER(2,30), 1), '999,990.0'))||' GB, ' END|| CASE WHEN mem.target > 0 THEN 'AMM' ELSE CASE WHEN sga.target > 0 THEN 'ASMM' ELSE 'MANUAL' END END FROM mem, sga, pga --- UNION ALL --- SELECT 'Hardware:', 'Unknown' FROM dual --- UNION ALL --- SELECT 'Storage:','' FROM DUAL WHERE '' IS NOT NULL --- UNION ALL --- SELECT 'Storage Version:','' FROM DUAL WHERE '' IS NOT NULL --- UNION ALL --- SELECT 'Processor:', 'Common KVM processor' FROM DUAL UNION ALL SELECT 'Physical CPUs:', core.cnt||' cores'||CASE WHEN rac.instances > 0 THEN ', on '||rac.db_type END FROM rac, core UNION ALL diff --git a/sql/11_get_db_size.sql b/sql/11_get_db_size.sql index bbafe0e..c6514cd 100644 --- a/sql/11_get_db_size.sql +++ b/sql/11_get_db_size.sql @@ -1,21 +1,4 @@ prompt

Taille de la base de données :

--- set head off --- col "Database Size" format 99,999.99 --- select 'Database Size (Go) : ' || ( --- SELECT ROUND(SUM(TAILLE_BYTES)/1024/1024/1024,2) "Database Size" FROM --- ( --- SELECT SUM(FILE_SIZE_BLKS*BLOCK_SIZE) TAILLE_BYTES FROM V$CONTROLFILE --- UNION ALL --- SELECT SUM(BYTES) FROM V$TEMPFILE --- UNION ALL --- SELECT SUM(BYTES) FROM V$DATAFILE --- UNION ALL --- SELECT SUM(MEMBERS*BYTES) FROM V$LOG --- UNION ALL --- SELECT BYTES FROM V$STANDBY_LOG SL, V$LOGFILE LF WHERE SL.GROUP# = LF.GROUP# --- ) --- ) --- from dual; WITH sizes AS ( diff --git a/sql/12c_db_version.sql b/sql/12c_db_version.sql index 950e9e8..0d0a706 100644 --- a/sql/12c_db_version.sql +++ b/sql/12c_db_version.sql @@ -1,2 +1,6 @@ prompt

Database/Version

-select * from v$version; + +SELECT + * +FROM + V$VERSION; \ No newline at end of file diff --git a/sql/13_database_parameters.sql b/sql/13_database_parameters.sql index e64c2bd..69895e3 100644 --- a/sql/13_database_parameters.sql +++ b/sql/13_database_parameters.sql @@ -1,2 +1,13 @@ prompt

Paramèters de la base de données :

-select NAME, DISPLAY_VALUE, DESCRIPTION, UPDATE_COMMENT from v$parameter where ISDEFAULT='FALSE' order by name; + +SELECT + NAME, + DISPLAY_VALUE, + DESCRIPTION, + UPDATE_COMMENT +FROM + V$PARAMETER +WHERE + ISDEFAULT='FALSE' +ORDER BY + NAME; \ No newline at end of file diff --git a/sql/14_nls_database_parameters.sql b/sql/14_nls_database_parameters.sql index 9a5a4f8..c7a4100 100644 --- a/sql/14_nls_database_parameters.sql +++ b/sql/14_nls_database_parameters.sql @@ -1,3 +1,8 @@ prompt

Paramètres NLS au niveau de la base de données :

-select * from nls_database_parameters order by parameter; +SELECT + * +FROM + NLS_DATABASE_PARAMETERS +ORDER BY + PARAMETER; \ No newline at end of file diff --git a/sql/16_dba_registry.sql b/sql/16_dba_registry.sql index 1b86b81..d5b862e 100644 --- a/sql/16_dba_registry.sql +++ b/sql/16_dba_registry.sql @@ -1,8 +1,8 @@ prompt

Fonctionnalités installées dans la base de données (DBA_REGISTRY) :

-SELECT * - FROM dba_registry + +SELECT + * +FROM + DBA_REGISTRY ORDER BY - comp_id; - - - + COMP_ID; \ No newline at end of file diff --git a/sql/17_resource_limits.sql b/sql/17_resource_limits.sql index 660e404..584e15a 100644 --- a/sql/17_resource_limits.sql +++ b/sql/17_resource_limits.sql @@ -1,10 +1,11 @@ prompt

Resource Limit (GV$RESOURCE_LIMIT)

+ SELECT * FROM - gv$resource_limit + GV$RESOURCE_LIMIT WHERE - resource_name IN ( 'processes', 'sessions' ) + RESOURCE_NAME IN ( 'processes', 'sessions' ) ORDER BY - resource_name, - inst_id; + RESOURCE_NAME, + INST_ID; \ No newline at end of file diff --git a/sql/19a_memory_resize_operations.sql b/sql/19a_memory_resize_operations.sql index 9cffbb9..de50be0 100644 --- a/sql/19a_memory_resize_operations.sql +++ b/sql/19a_memory_resize_operations.sql @@ -1,9 +1,14 @@ prompt

Les 50 dernières opérations de Resize de la mémoire :

-alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'; -SELECT * - FROM gv$memory_resize_ops - where rownum <=50 - ORDER BY - inst_id, - start_time DESC, - component; + +ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; + +SELECT + * +FROM + GV$MEMORY_RESIZE_OPS +WHERE + ROWNUM <=50 +ORDER BY + INST_ID, + START_TIME DESC, + COMPONENT; \ No newline at end of file diff --git a/sql/19b_memory_target_advice.sql b/sql/19b_memory_target_advice.sql index 01a622f..ab43c41 100644 --- a/sql/19b_memory_target_advice.sql +++ b/sql/19b_memory_target_advice.sql @@ -1,4 +1,19 @@ prompt

SGA Target Advice

-select * from gv$sga_target_advice; + +SELECT + * +FROM + GV$SGA_TARGET_ADVICE; + prompt

PGA Target Advice

-select * from gv$pga_target_advice; + +SELECT + * +FROM + GV$PGA_TARGET_ADVICE; + +prompt

Memory Target Advice

+SELECT + * +FROM + GV$MEMORY_TARGET_ADVICE; \ No newline at end of file diff --git a/sql/20a_tbs_details.sql b/sql/20a_tbs_details.sql index de89919..93ae3d4 100644 --- a/sql/20a_tbs_details.sql +++ b/sql/20a_tbs_details.sql @@ -1,40 +1,9 @@ prompt

Détail des tablespaces :

-COL TABLESPACE_NAME FORMAT A20 HEAD "Nom Tablespace" -COL PCT_OCCUPATION_THEORIQUE FORMAT 990.00 HEAD "% Occup" -COL TAILLE_MIB FORMAT 99999990.00 HEAD "Taille MB" -COL TAILLE_MAX_MIB FORMAT 99999990.00 HEAD "Taille max MB" -COL TAILLE_OCCUPEE_MIB FORMAT 99999990.00 HEAD "Espace occupé MiB" --- WITH TS_FREE_SPACE AS --- (select tablespace_name, file_id, sum(bytes) FREE_O from dba_free_space group by tablespace_name, file_id --- ), TEMP_ALLOC AS --- (select tablespace_name, file_id, sum(bytes) USED_O from v$temp_extent_map group by tablespace_name, file_id --- ) --- SELECT --- TABLESPACE_NAME, --- SUM(TAILLE_MIB) TAILLE_MIB, --- SUM(TAILLE_MAX_MIB) TAILLE_MAX_MIB, --- SUM(TAILLE_OCCUPEE_MIB) TAILLE_OCCUPEE_MIB, --- ROUND(SUM(TAILLE_OCCUPEE_MIB)*100/SUM(GREATEST(TAILLE_MAX_MIB,TAILLE_MIB)),2) PCT_OCCUPATION_THEORIQUE --- FROM --- ( --- SELECT D.FILE_NAME, D.TABLESPACE_NAME, D.BYTES/1024/1024 TAILLE_MIB, DECODE(D.AUTOEXTENSIBLE,'NO',D.BYTES,D.MAXBYTES)/1024/1024 TAILLE_MAX_MIB, --- (D.BYTES-FO.FREE_O)/1024/1024 TAILLE_OCCUPEE_MIB --- FROM --- DBA_DATA_FILES D, TS_FREE_SPACE FO --- WHERE --- D.TABLESPACE_NAME=FO.TABLESPACE_NAME --- AND D.FILE_ID=FO.FILE_ID --- UNION ALL --- SELECT T.FILE_NAME, T.TABLESPACE_NAME, T.BYTES/1024/1024 TAILLE_MIB, DECODE(T.AUTOEXTENSIBLE,'NO',T.BYTES,T.MAXBYTES)/1024/1024 TAILLE_MAX_MIB, --- (TA.USED_O)/1024/1024 TAILLE_OCCUPEE_MIB --- FROM --- DBA_TEMP_FILES T, TEMP_ALLOC TA --- WHERE --- T.TABLESPACE_NAME=TA.TABLESPACE_NAME --- AND T.FILE_ID=TA.FILE_ID --- ) --- GROUP BY TABLESPACE_NAME --- ORDER BY TABLESPACE_NAME;-- +-- COL TABLESPACE_NAME FORMAT A20 HEAD "Nom Tablespace" +-- COL PCT_OCCUPATION_THEORIQUE FORMAT 990.00 HEAD "% Occup" +-- COL TAILLE_MIB FORMAT 99999990.00 HEAD "Taille MB" +-- COL TAILLE_MAX_MIB FORMAT 99999990.00 HEAD "Taille max MB" +-- COL TAILLE_OCCUPEE_MIB FORMAT 99999990.00 HEAD "Espace occupé MiB" COL TABLESPACE_NAME FORMAT A20 HEAD "Tablespace" COL alloc FORMAT 99999999.00 HEAD "Allocated MB" diff --git a/sql/21c_block_corruption.sql b/sql/21c_block_corruption.sql index 05e244c..2063f91 100644 --- a/sql/21c_block_corruption.sql +++ b/sql/21c_block_corruption.sql @@ -1,2 +1,6 @@ prompt

Existance de blocks corrompus :

-select * from v$database_block_corruption; + +SELECT + * +FROM + V$DATABASE_BLOCK_CORRUPTION; \ No newline at end of file diff --git a/sql/22a_online_log.sql b/sql/22a_online_log.sql index d988104..70cec9d 100644 --- a/sql/22a_online_log.sql +++ b/sql/22a_online_log.sql @@ -1,13 +1,12 @@ prompt

Fichiers de journalisation (Redolog) :

-alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'; + +ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; SELECT * FROM - v$log + V$LOG ORDER BY - group#, - thread#, - sequence#; - - + GROUP#, + THREAD#, + SEQUENCE#; \ No newline at end of file diff --git a/sql/23b_archive_log_per_day.sql b/sql/23b_archive_log_per_day.sql index 7cb26cb..81d574e 100644 --- a/sql/23b_archive_log_per_day.sql +++ b/sql/23b_archive_log_per_day.sql @@ -1,10 +1,14 @@ prompt

Taille des redolog par jour :

-select - to_char(first_time, 'YYYY/MM/dd') "Jour", - count(*) "Nbr de fichiers", - ROUND(sum(BLOCKS*BLOCK_SIZE)/1024/1024, 0) "Taille_Mo" -from v$archived_log -where first_time > systimestamp - 30 -group by to_char(first_time, 'YYYY/MM/dd') -order by to_char(first_time, 'YYYY/MM/dd') -; + +SELECT + TO_CHAR(FIRST_TIME, 'YYYY/MM/dd') "Jour", + COUNT(*) "Nbr de fichiers", + ROUND(SUM(BLOCKS*BLOCK_SIZE)/1024/1024, 0) "Taille_Mo" +FROM + V$ARCHIVED_LOG +WHERE + FIRST_TIME > SYSTIMESTAMP - 30 +GROUP BY + TO_CHAR(FIRST_TIME, 'YYYY/MM/dd') +ORDER BY + TO_CHAR(FIRST_TIME, 'YYYY/MM/dd'); \ No newline at end of file diff --git a/sql/24a_fra_usage.sql b/sql/24a_fra_usage.sql index dad14df..07ecbe8 100644 --- a/sql/24a_fra_usage.sql +++ b/sql/24a_fra_usage.sql @@ -1,11 +1,36 @@ prompt

Fast Recovery Area Usage

-select 'Taille FRA MiB' as property, p.value / 1024 / 1024 as value from -v$parameter p WHERE name = 'db_recovery_file_dest_size' -union all -select 'Espace utilise MiB' as property, round((p.value * tot_pct / 100) / 1024 / 1024, 0) as value from -( SELECT SUM(percent_space_used) tot_pct FROM v$flash_recovery_area_usage ) , V$PARAMETER P -WHERE name = 'db_recovery_file_dest_size' -union all -select 'Pourcentage utilise' as property, tot_pct as value from -( SELECT SUM(percent_space_used) tot_pct FROM v$flash_recovery_area_usage ) -; + +SELECT + 'Taille FRA MiB' AS PROPERTY, + P.VALUE / 1024 / 1024 AS VALUE +FROM + V$PARAMETER P +WHERE + NAME = 'db_recovery_file_dest_size' +UNION +ALL +SELECT + 'Espace utilise MiB' AS PROPERTY, + ROUND((P.VALUE * TOT_PCT / 100) / 1024 / 1024, 0) AS VALUE +FROM + ( + SELECT + SUM(PERCENT_SPACE_USED) TOT_PCT + FROM + V$FLASH_RECOVERY_AREA_USAGE + ) , + V$PARAMETER P +WHERE + NAME = 'db_recovery_file_dest_size' +UNION +ALL +SELECT + 'Pourcentage utilise' AS PROPERTY, + TOT_PCT AS VALUE +FROM + ( + SELECT + SUM(PERCENT_SPACE_USED) TOT_PCT + FROM + V$FLASH_RECOVERY_AREA_USAGE + ) ; \ No newline at end of file diff --git a/sql/25_last_alertlog_errors.sql b/sql/25_last_alertlog_errors.sql index c47c8d3..adc3644 100644 --- a/sql/25_last_alertlog_errors.sql +++ b/sql/25_last_alertlog_errors.sql @@ -1,10 +1,13 @@ prompt

Les dernières erreurs de la base de données (Les 30 derniers jours et les 50 dernières lignes)

--- set pages 99 -select to_char(ORIGINATING_TIMESTAMP, 'DD-MM-YYYY HH-MM-SS') "Date", message_text "Message" -FROM X$DBGALERTEXT -WHERE originating_timestamp > systimestamp - 30 -AND regexp_like(message_text, '(ORA-)') -AND rownum <=50 -order by originating_timestamp desc; - +SELECT + TO_CHAR(ORIGINATING_TIMESTAMP, 'DD-MM-YYYY HH-MM-SS') "Date", + MESSAGE_TEXT "Message" +FROM + X$DBGALERTEXT +WHERE + ORIGINATING_TIMESTAMP > SYSTIMESTAMP - 30 + AND REGEXP_LIKE(MESSAGE_TEXT, '(ORA-)') + AND ROWNUM <=50 +ORDER BY + ORIGINATING_TIMESTAMP DESC; \ No newline at end of file diff --git a/sql/26_rman_configuration.sql b/sql/26_rman_configuration.sql index 348448a..f0f5492 100644 --- a/sql/26_rman_configuration.sql +++ b/sql/26_rman_configuration.sql @@ -1,2 +1,6 @@ prompt

Configuration RMAN: pramètres modifiés :

-select * from V$RMAN_CONFIGURATION; \ No newline at end of file + +SELECT + * +FROM + V$RMAN_CONFIGURATION; \ No newline at end of file diff --git a/sql/27_last_rman_backup.sql b/sql/27_last_rman_backup.sql index ff1f5a0..88c6f80 100644 --- a/sql/27_last_rman_backup.sql +++ b/sql/27_last_rman_backup.sql @@ -1,33 +1,30 @@ prompt

Les dernières sauvegardes RMAN (30 derniers jours/50 dernières lignes)

-alter session set nls_date_format='DD/MM/YYYY HH24:MI:SS' ; --- set linesize 250 heading off; --- set heading on pagesize 999; --- column status format a25; --- column input_bytes_display format a12; --- column output_bytes_display format a12; --- column device_type format a10; + +ALTER SESSION SET NLS_DATE_FORMAT='DD/MM/YYYY HH24:MI:SS'; SELECT - b.SESSION_KEY "Session Key", - b.input_type "Type", - to_char(b.start_time, 'DD-MM-YYYY HH24:MI') "Start Time", - to_char(b.end_time, 'DD-MM-YYYY HH24:MI') "End Time", - to_char(trunc(sysdate) + numtodsinterval(ELAPSED_SECONDS, 'second'),'hh24:mi:ss') "Duration", - b.output_device_type "Device Type", - b.input_bytes_display "Input Bytes", - b.output_bytes_display "Output Bytes", + B.SESSION_KEY "Session Key", + B.INPUT_TYPE "Type", + TO_CHAR(B.START_TIME, 'DD-MM-YYYY HH24:MI') "Start Time", + TO_CHAR(B.END_TIME, 'DD-MM-YYYY HH24:MI') "End Time", + TO_CHAR(TRUNC(SYSDATE) + NUMTODSINTERVAL(ELAPSED_SECONDS, 'second'), 'hh24:mi:ss') "Duration", + B.OUTPUT_DEVICE_TYPE "Device Type", + B.INPUT_BYTES_DISPLAY "Input Bytes", + B.OUTPUT_BYTES_DISPLAY "Output Bytes", CASE - WHEN b.status = 'FAILED' THEN - '' || b.status || '' + WHEN B.STATUS = 'FAILED' THEN + '' + || B.STATUS + || '' ELSE - b.status - END "Status" + B.STATUS + END "Status" FROM - v$rman_backup_job_details b + V$RMAN_BACKUP_JOB_DETAILS B WHERE - b.start_time > ( sysdate - 30 ) + B.START_TIME > ( SYSDATE - 30 ) AND ROWNUM <= 50 ORDER BY - b.SESSION_KEY desc; --- b.start_time DESC; + B.SESSION_KEY DESC; +-- b.start_time DESC; \ No newline at end of file diff --git a/sql/28_sysaux_occupants.sql b/sql/28_sysaux_occupants.sql index e2df7e8..6f67099 100644 --- a/sql/28_sysaux_occupants.sql +++ b/sql/28_sysaux_occupants.sql @@ -1,5 +1,9 @@ prompt

SYSAUX Occupants

-SELECT /*+ NO_MERGE */ - v.*, ROUND(v.space_usage_kbytes / POWER(10,6), 3) space_usage_gbs - FROM v$sysaux_occupants v - ORDER BY 1; + +SELECT /*+ NO_MERGE */ + V.*, + ROUND(V.SPACE_USAGE_KBYTES / POWER(10, 6), 3) SPACE_USAGE_GBS +FROM + V$SYSAUX_OCCUPANTS V +ORDER BY + 1; \ No newline at end of file diff --git a/sql/30a_users.sql b/sql/30a_users.sql index 8a3a4b1..ad4f07c 100644 --- a/sql/30a_users.sql +++ b/sql/30a_users.sql @@ -1,18 +1,19 @@ prompt

DBA Users

-set pages 999 -ALTER SESSION SET NLS_DATE_FORMAT ='YYYY/MM/DD HH24:MI'; -SELECT - x.username, - x.user_id, - x.account_status, - x.lock_date, - x.expiry_date, - x.default_tablespace, - x.temporary_tablespace, - x.created, - x.profile, - x.password_versions - FROM dba_users x - ORDER BY x.username -; +ALTER SESSION SET NLS_DATE_FORMAT ='YYYY/MM/DD HH24:MI'; + +SELECT + X.USERNAME, + X.USER_ID, + X.ACCOUNT_STATUS, + X.LOCK_DATE, + X.EXPIRY_DATE, + X.DEFAULT_TABLESPACE, + X.TEMPORARY_TABLESPACE, + X.CREATED, + X.PROFILE, + X.PASSWORD_VERSIONS +FROM + DBA_USERS X +ORDER BY + X.USERNAME; \ No newline at end of file diff --git a/sql/30b_users.sql b/sql/30b_users.sql index 083f205..9a8a267 100644 --- a/sql/30b_users.sql +++ b/sql/30b_users.sql @@ -1,2 +1,9 @@ prompt

DBA_Profiles

-select * from DBA_Profiles order by profile, resource_name; + +SELECT + * +FROM + DBA_PROFILES +ORDER BY + PROFILE, + RESOURCE_NAME; \ No newline at end of file diff --git a/sql/30c_schema_size.sql b/sql/30c_schema_size.sql index 53ac517..c606171 100644 --- a/sql/30c_schema_size.sql +++ b/sql/30c_schema_size.sql @@ -1,16 +1,16 @@ prompt

Taille des objets par schéma (Mo):

-select - ds.owner "Owner", - round(sum(ds.bytes) / 1024 / 1024) "Schema Size MB", - du.default_tablespace "Default Tablespace" -from - dba_segments ds, - dba_users du -where - ds.OWNER = du.USERNAME -group by - ds.owner, - du.default_tablespace -order by - ds.owner -; + +SELECT + DS.OWNER "Owner", + ROUND(SUM(DS.BYTES) / 1024 / 1024) "Schema Size MB", + DU.DEFAULT_TABLESPACE "Default Tablespace" +FROM + DBA_SEGMENTS DS, + DBA_USERS DU +WHERE + DS.OWNER = DU.USERNAME +GROUP BY + DS.OWNER, + DU.DEFAULT_TABLESPACE +ORDER BY + DS.OWNER; \ No newline at end of file diff --git a/sql/31a_who_is_connected.sql b/sql/31a_who_is_connected.sql index 0366d24..90e99bf 100644 --- a/sql/31a_who_is_connected.sql +++ b/sql/31a_who_is_connected.sql @@ -1,29 +1,39 @@ -- Qui est connecté à la base : prompt

Sessions Aggregate per User and Type

-WITH x as ( -SELECT COUNT(*), - --con_id, - username, - inst_id, - type, - server, - status, - state - FROM gv$session - GROUP BY - --con_id, - username, - inst_id, - type, - server, - status, - state + +WITH X AS ( + SELECT + COUNT(*), + --con_id, + USERNAME, + INST_ID, + TYPE, + SERVER, + STATUS, + STATE + FROM + GV$SESSION + GROUP BY + --con_id, + USERNAME, + INST_ID, + TYPE, + SERVER, + STATUS, + STATE ) -SELECT x.* - --,c.name con_name -FROM x - --LEFT OUTER JOIN v$containers c ON c.con_id = x.con_id - ORDER BY +SELECT + X.* + --,c.name con_name +FROM + X + --LEFT OUTER JOIN v$containers c ON c.con_id = x.con_id +ORDER BY 1 DESC, - --x.con_id, - x.username, x.inst_id, x.type, x.server, x.status, x.state; + --x.con_id, + X.USERNAME, + X.INST_ID, + X.TYPE, + X.SERVER, + X.STATUS, + X.STATE; \ No newline at end of file diff --git a/sql/31b_who_is_connected.sql b/sql/31b_who_is_connected.sql index d7786d3..e6a815b 100644 --- a/sql/31b_who_is_connected.sql +++ b/sql/31b_who_is_connected.sql @@ -1,30 +1,41 @@ prompt

Sessions Aggregate per Module and Action

-WITH x AS ( -SELECT COUNT(*), - --con_id, - module, - action, - inst_id, - type, - server, - status, - state - FROM gv$session - GROUP BY - --con_id, - module, - action, - inst_id, - type, - server, - status, - state + +WITH X AS ( + SELECT + COUNT(*), + --con_id, + MODULE, + ACTION, + INST_ID, + TYPE, + SERVER, + STATUS, + STATE + FROM + GV$SESSION + GROUP BY + --con_id, + MODULE, + ACTION, + INST_ID, + TYPE, + SERVER, + STATUS, + STATE ) -SELECT x.* - --,c.name con_name -FROM x - --LEFT OUTER JOIN v$containers c ON c.con_id = x.con_id - ORDER BY - 1 DESC, - --x.con_id, - x.module, x.action, x.inst_id, x.type, x.server, x.status, x.state; +SELECT + X.* + --,c.name con_name +FROM + X + --LEFT OUTER JOIN v$containers c ON c.con_id = x.con_id +ORDER BY + 1 DESC, + --x.con_id, + X.MODULE, + X.ACTION, + X.INST_ID, + X.TYPE, + X.SERVER, + X.STATUS, + X.STATE; \ No newline at end of file diff --git a/sql/31c_who_is_connected.sql b/sql/31c_who_is_connected.sql index 39b0468..5be8b56 100644 --- a/sql/31c_who_is_connected.sql +++ b/sql/31c_who_is_connected.sql @@ -1,9 +1,23 @@ prompt

Who is connected ?

set pages 999 lines 200 -col PROGRAM for a35 -col MACHINE for a20 -col OSUSER for a10 -alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'; -select OSUSER, MACHINE, PROGRAM, STATE, LOGON_TIME, EVENT from v$session order by LOGON_TIME asc; +col PROGRAM for a35 + +col MACHINE for a20 + +col OSUSER for a10 + +ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; + +SELECT + OSUSER, + MACHINE, + PROGRAM, + STATE, + LOGON_TIME, + EVENT +FROM + V$SESSION +ORDER BY + LOGON_TIME ASC; \ No newline at end of file diff --git a/sql/32_invalid_objects.sql b/sql/32_invalid_objects.sql index 4bcd765..ac4a430 100644 --- a/sql/32_invalid_objects.sql +++ b/sql/32_invalid_objects.sql @@ -1,3 +1,13 @@ prompt

Invalid objects

-select owner, count(*) "invalid objects" FROM dba_objects WHERE status <> 'VALID' group by owner order by owner; -exit + +SELECT + OWNER, + COUNT(*) "invalid objects" +FROM + DBA_OBJECTS +WHERE + STATUS <> 'VALID' +GROUP BY + OWNER +ORDER BY + OWNER; diff --git a/sql/33_get_users_objects.sql b/sql/33_get_users_objects.sql index 5ebaac7..5c5747c 100644 --- a/sql/33_get_users_objects.sql +++ b/sql/33_get_users_objects.sql @@ -1,26 +1,31 @@ prompt

Les objets par utilisateur

-select * from -( - select owner, object_type ,count(*) as object_count from dba_objects - where owner not in ('ANONYMOUS','APEX_180200','APEX_INSTANCE_ADMIN_USER','APEX_PUBLIC_USER','APPQOSSYS','AUDSYS','CTXSYS','DBSFWUSER','DBSNMP','DIP','DVF','DVSYS','FLOWS_FILES','GGSYS','GSMADMIN_INTERNAL','GSMCATUSER','GSMUSER','LBACSYS','MDDATA','MDSYS','OJVMSYS','OLAPSYS','ORACLE_OCM','ORDDATA','ORDPLUGINS','ORDSYS','OUTLN','REMOTE_SCHEDULER_AGENT','SI_INFORMTN_SCHEMA','SYS','SYS$UMF','SYSBACKUP','SYSDG','SYSKM','SYSRAC','SYSTEM','WMSYS','XDB','XS$NULL') - group by owner, object_type order by owner, object_type -) - pivot + +SELECT + * +FROM ( - max(object_count) - for object_type in ( - 'TABLE', - 'VIEW', - 'INDEX', - 'FUNCTION', - 'LOB', - 'PACKAGE', - 'PROCEDURE', - 'TRIGGER', - 'SYNONYM' - ) - ) - order by owner -; - - + SELECT + OWNER, + OBJECT_TYPE, + COUNT(*) AS OBJECT_COUNT + FROM + DBA_OBJECTS + WHERE + OWNER NOT IN ('ANONYMOUS', 'APEX_180200', 'APEX_INSTANCE_ADMIN_USER', 'APEX_PUBLIC_USER', 'APPQOSSYS', 'AUDSYS', 'CTXSYS', 'DBSFWUSER', 'DBSNMP', 'DIP', 'DVF', 'DVSYS', 'FLOWS_FILES', 'GGSYS', 'GSMADMIN_INTERNAL', 'GSMCATUSER', 'GSMUSER', 'LBACSYS', 'MDDATA', 'MDSYS', 'OJVMSYS', 'OLAPSYS', 'ORACLE_OCM', 'ORDDATA', 'ORDPLUGINS', 'ORDSYS', 'OUTLN', 'REMOTE_SCHEDULER_AGENT', 'SI_INFORMTN_SCHEMA', 'SYS', 'SYS$UMF', 'SYSBACKUP', 'SYSDG', 'SYSKM', 'SYSRAC', 'SYSTEM', 'WMSYS', 'XDB', 'XS$NULL') + GROUP BY + OWNER, + OBJECT_TYPE + ORDER BY + OWNER, + OBJECT_TYPE + ) PIVOT ( MAX(OBJECT_COUNT) FOR OBJECT_TYPE IN ( 'TABLE', + 'VIEW', + 'INDEX', + 'FUNCTION', + 'LOB', + 'PACKAGE', + 'PROCEDURE', + 'TRIGGER', + 'SYNONYM' ) ) +ORDER BY + OWNER; \ No newline at end of file diff --git a/sql/34_disable_auto_tasks.sql b/sql/34_disable_auto_tasks.sql index 65dc065..027b7d5 100644 --- a/sql/34_disable_auto_tasks.sql +++ b/sql/34_disable_auto_tasks.sql @@ -1,2 +1,9 @@ prompt

Statut des jobs autotask

-select client_name, status,attributes,service_name from dba_autotask_client; + +SELECT + CLIENT_NAME, + STATUS, + ATTRIBUTES, + SERVICE_NAME +FROM + DBA_AUTOTASK_CLIENT; \ No newline at end of file diff --git a/sql/35_get_cursor_usage.sql b/sql/35_get_cursor_usage.sql index 9783094..a15e36e 100644 --- a/sql/35_get_cursor_usage.sql +++ b/sql/35_get_cursor_usage.sql @@ -1,40 +1,55 @@ -- SCRIPT - to Set the 'SESSION_CACHED_CURSORS' and 'OPEN_CURSORS' Parameters Based on Usage (Doc ID 208857.1) prompt

Sessions and Cursors usage

-select - 'session_cached_cursors' parameter, - lpad(value, 5) value, - decode(value, 0, ' n/a', to_char(100 * used / value, '990') || '%') usage -from -( - select max(s.value) used - from v$statname n, v$sesstat s - where - n.name = 'session cursor cache count' - and s.statistic# = n.statistic# -), -( - select value - from v$parameter - where name = 'session_cached_cursors' -) -union all -select - 'open_cursors', - lpad(value, 5), - to_char(100 * used / value, '990') || '%' -from -( - select max(sum(s.value)) used - from v$statname n, v$sesstat s - where - n.name in ('opened cursors current') and - s.statistic# = n.statistic# - group by s.sid -), -( - select value - from v$parameter - where name = 'open_cursors' -) -; +SELECT + 'session_cached_cursors' PARAMETER, + LPAD(VALUE, 5) VALUE, + DECODE(VALUE, 0, ' n/a', TO_CHAR(100 * USED / VALUE, '990') + || '%') USAGE +FROM + ( + SELECT + MAX(S.VALUE) USED + FROM + V$STATNAME N, + V$SESSTAT S + WHERE + N.NAME = 'session cursor cache count' + AND S.STATISTIC# = N.STATISTIC# + ), + ( + SELECT + VALUE + FROM + V$PARAMETER + WHERE + NAME = 'session_cached_cursors' + ) +UNION +ALL +SELECT + 'open_cursors', + LPAD(VALUE, 5), + TO_CHAR(100 * USED / VALUE, '990') + || '%' +FROM + ( + SELECT + MAX(SUM(S.VALUE)) USED + FROM + V$STATNAME N, + V$SESSTAT S + WHERE + N.NAME IN ('opened cursors current') + AND S.STATISTIC# = N.STATISTIC# + GROUP BY + S.SID + ), + ( + SELECT + VALUE + FROM + V$PARAMETER + WHERE + NAME = 'open_cursors' + ); \ No newline at end of file diff --git a/sql/36_check_failed_cheduler_jobs.sql b/sql/36_check_failed_cheduler_jobs.sql index d4eb282..9aaaf92 100644 --- a/sql/36_check_failed_cheduler_jobs.sql +++ b/sql/36_check_failed_cheduler_jobs.sql @@ -1,7 +1,14 @@ prompt

Failed scheduled jobs

-SELECT owner, job_name, job_type, state, TRUNC(start_date) SDATE, TRUNC(next_run_date) NXTRUN, failure_count -FROM dba_scheduler_jobs -WHERE failure_count <> 0; - - +SELECT + OWNER, + JOB_NAME, + JOB_TYPE, + STATE, + TRUNC(START_DATE) SDATE, + TRUNC(NEXT_RUN_DATE) NXTRUN, + FAILURE_COUNT +FROM + DBA_SCHEDULER_JOBS +WHERE + FAILURE_COUNT <> 0; \ No newline at end of file diff --git a/sql/37_table_statistics_summary.sql b/sql/37_table_statistics_summary.sql index 53c8890..0001d3d 100644 --- a/sql/37_table_statistics_summary.sql +++ b/sql/37_table_statistics_summary.sql @@ -1,41 +1,53 @@ prompt

Table Statistics Summary

-alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'; -WITH x as ( -SELECT /*+ NO_MERGE */ - --con_id, - owner, - object_type, - COUNT(*) type_count, - SUM(DECODE(last_analyzed, NULL, 1, 0)) not_analyzed, - SUM(DECODE(stattype_locked, NULL, 0, 1)) stats_locked, - SUM(DECODE(stale_stats, 'YES', 1, 0)) stale_stats, - SUM(num_rows) sum_num_rows, - MAX(num_rows) max_num_rows, - SUM(blocks) sum_blocks, - MAX(blocks) max_blocks, - MIN(last_analyzed) min_last_analyzed, - MAX(last_analyzed) max_last_analyzed, - MEDIAN(last_analyzed) median_last_analyzed, - PERCENTILE_DISC(0.75) WITHIN GROUP (ORDER BY last_analyzed) last_analyzed_75_percentile, - PERCENTILE_DISC(0.90) WITHIN GROUP (ORDER BY last_analyzed) last_analyzed_90_percentile, - PERCENTILE_DISC(0.95) WITHIN GROUP (ORDER BY last_analyzed) last_analyzed_95_percentile, - PERCENTILE_DISC(0.99) WITHIN GROUP (ORDER BY last_analyzed) last_analyzed_99_percentile - FROM dba_tab_statistics s - WHERE table_name NOT LIKE 'BIN$%' -- bug 9930151 reported by brad peek - AND NOT EXISTS ( -SELECT /*+ NO_MERGE */ NULL - FROM dba_external_tables e - WHERE e.owner = s.owner - --AND e.con_id = s.con_id - AND e.table_name = s.table_name) -GROUP BY - --con_id, - owner, object_type + +ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; + +WITH X AS ( + SELECT /*+ NO_MERGE */ + --con_id, + OWNER, + OBJECT_TYPE, + COUNT(*) TYPE_COUNT, + SUM(DECODE(LAST_ANALYZED, NULL, 1, 0)) NOT_ANALYZED, + SUM(DECODE(STATTYPE_LOCKED, NULL, 0, 1)) STATS_LOCKED, + SUM(DECODE(STALE_STATS, 'YES', 1, 0)) STALE_STATS, + SUM(NUM_ROWS) SUM_NUM_ROWS, + MAX(NUM_ROWS) MAX_NUM_ROWS, + SUM(BLOCKS) SUM_BLOCKS, + MAX(BLOCKS) MAX_BLOCKS, + MIN(LAST_ANALYZED) MIN_LAST_ANALYZED, + MAX(LAST_ANALYZED) MAX_LAST_ANALYZED, + MEDIAN(LAST_ANALYZED) MEDIAN_LAST_ANALYZED, + PERCENTILE_DISC(0.75) WITHIN GROUP (ORDER BY LAST_ANALYZED) LAST_ANALYZED_75_PERCENTILE, + PERCENTILE_DISC(0.90) WITHIN GROUP (ORDER BY LAST_ANALYZED) LAST_ANALYZED_90_PERCENTILE, + PERCENTILE_DISC(0.95) WITHIN GROUP (ORDER BY LAST_ANALYZED) LAST_ANALYZED_95_PERCENTILE, + PERCENTILE_DISC(0.99) WITHIN GROUP (ORDER BY LAST_ANALYZED) LAST_ANALYZED_99_PERCENTILE + FROM + DBA_TAB_STATISTICS S + WHERE + TABLE_NAME NOT LIKE 'BIN$%' -- bug 9930151 reported by brad peek + AND NOT EXISTS ( + SELECT /*+ NO_MERGE */ + NULL + FROM + DBA_EXTERNAL_TABLES E + WHERE + E.OWNER = S.OWNER + --AND e.con_id = s.con_id + AND E.TABLE_NAME = S.TABLE_NAME + ) + GROUP BY + --con_id, + OWNER, + OBJECT_TYPE ) -SELECT x.* - --,c.name con_name -FROM x - --LEFT OUTER JOIN v$containers c ON c.con_id = x.con_id - ORDER BY - --x.con_id, - owner, object_type; +SELECT + X.* + --,c.name con_name +FROM + X + --LEFT OUTER JOIN v$containers c ON c.con_id = x.con_id +ORDER BY + --x.con_id, + OWNER, + OBJECT_TYPE; \ No newline at end of file diff --git a/sql/38_dictionary_stats.sql b/sql/38_dictionary_stats.sql index 044ffaa..daaf23a 100644 --- a/sql/38_dictionary_stats.sql +++ b/sql/38_dictionary_stats.sql @@ -1,10 +1,11 @@ prompt

Dictionary Stats / Fixed Objects Stats

SELECT - to_char(max(end_time),'dd/mm/yyyy hh24:mi') latest, operation + TO_CHAR(MAX(END_TIME), 'dd/mm/yyyy hh24:mi') LATEST, + OPERATION FROM - dba_optstat_operations + DBA_OPTSTAT_OPERATIONS WHERE - operation in ('gather_dictionary_stats', 'gather_fixed_objects_stats') + OPERATION IN ('gather_dictionary_stats', 'gather_fixed_objects_stats') GROUP BY - operation; + OPERATION; \ No newline at end of file diff --git a/sql/39_feature_usage_statistics.sql b/sql/39_feature_usage_statistics.sql index a1ffe6a..2b7fe5d 100644 --- a/sql/39_feature_usage_statistics.sql +++ b/sql/39_feature_usage_statistics.sql @@ -1,5 +1,15 @@ prompt

Les options utilisée (à partir de DBA_FEATURE_USAGE_STATISTICS):

-select NAME, TO_CHAR(LAST_USAGE_DATE, 'DD/MM/YYYY HH24:MI') LAST_USAGE_DATE, DETECTED_USAGES, DESCRIPTION from DBA_FEATURE_USAGE_STATISTICS -where DETECTED_USAGES>0 -order by NAME; \ No newline at end of file +ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; + +SELECT + NAME, + LAST_USAGE_DATE, + DETECTED_USAGES, + DESCRIPTION +FROM + DBA_FEATURE_USAGE_STATISTICS +WHERE + DETECTED_USAGES>0 +ORDER BY + NAME; \ No newline at end of file diff --git a/sql/40_dba_jobs.sql b/sql/40_dba_jobs.sql index 88e1fa2..2f77ed1 100644 --- a/sql/40_dba_jobs.sql +++ b/sql/40_dba_jobs.sql @@ -1,6 +1,8 @@ prompt

Liste des jobs dans : dba_jobs

-alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'; -SELECT * FROM dba_jobs; - +ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; +SELECT + * +FROM + DBA_JOBS; \ No newline at end of file