scripts/collector/oracle/sql/extracts/dbsummary.sql (98 lines of code) (raw):

-- -- Copyright 2024 Google LLC -- -- Licensed under the Apache License, Version 2.0 (the "License"). -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- https://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- define cdbjoin = "AND 1=1" column FORCE_LOGGING format A15 spool &outputdir/opdb__dbsummary__&v_tag prompt PKEY|DBID|DB_NAME|CDB|DB_VERSION|DB_FULLVERSION|LOG_MODE|FORCE_LOGGING|REDO_GB_PER_DAY|RAC_DBINSTANCES|CHARACTERSET|PLATFORM_NAME|STARTUP_TIME|USER_SCHEMAS|BUFFER_CACHE_MB|SHARED_POOL_MB|TOTAL_PGA_ALLOCATED_MB|DB_SIZE_ALLOCATED_GB|DB_SIZE_IN_USE_GB|DB_LONG_SIZE_GB|DG_DATABASE_ROLE|DG_PROTECTION_MODE|DG_PROTECTION_LEVEL|DB_SIZE_TEMP_ALLOCATED_GB|DB_SIZE_REDO_ALLOCATED_GB|EBS_OWNER|SIEBEL_OWNER|PSFT_OWNER|RDS_FLAG|OCI_AUTONOMOUS_FLAG|DBMS_CLOUD_PKG_INSTALLED|APEX_INSTALLED|SAP_OWNER|DB_UNIQUE_NAME|DMA_SOURCE_ID|DMA_MANUAL_ID WITH vdbsummary AS ( SELECT :v_pkey AS pkey, (SELECT dbid FROM v$database) AS dbid, (SELECT name FROM v$database) AS db_name, (SELECT &v_db_container_col FROM v$database) AS cdb, (SELECT version FROM v$instance) AS db_version, (SELECT banner FROM v$version WHERE ROWNUM < 2) AS db_fullversion, (SELECT log_mode FROM v$database) AS log_mode, (SELECT force_logging FROM v$database) AS force_logging, (SELECT ( ROUND(AVG(conta) * AVG(bytes) / 1024 / 1024 / 1024) ) FROM (SELECT TRUNC(first_time) dia, COUNT(*) conta FROM v$log_history WHERE first_time >= TRUNC(SYSDATE) - '&&dtrange' AND first_time < TRUNC(SYSDATE) GROUP BY TRUNC(first_time)), v$log) AS redo_gb_per_day, (SELECT COUNT(1) FROM gv$instance) AS rac_dbinstances, (SELECT value FROM nls_database_parameters a WHERE a.parameter = 'NLS_LANGUAGE') || '_' || (SELECT value FROM nls_database_parameters a WHERE a.parameter = 'NLS_TERRITORY') || '.' || (SELECT value FROM nls_database_parameters a WHERE a.parameter = 'NLS_CHARACTERSET') AS characterset, (SELECT &v_platform_name as platform_name FROM v$database) AS platform_name, (SELECT TO_CHAR(startup_time, 'YYYY-MM-DD HH24:MI:SS') FROM v$instance) AS startup_time, (SELECT COUNT(1) FROM &v_tblprefix._users WHERE username NOT IN @&EXTRACTSDIR/exclude_schemas.sql ) AS user_schemas, (SELECT ROUND(SUM(bytes / 1024 / 1024)) FROM v$sgastat WHERE name = 'buffer_cache') buffer_cache_mb, (SELECT ROUND(SUM(bytes / 1024 / 1024)) FROM v$sgastat WHERE pool = 'shared pool') shared_pool_mb, (SELECT ROUND(value / 1024 / 1024, 0) FROM v$pgastat WHERE name = 'total PGA allocated') AS total_pga_allocated_mb, (SELECT ( ROUND(SUM(bytes) / 1024 / 1024 / 1024) ) FROM &v_tblprefix._data_files) db_size_allocated_gb, (SELECT ( ROUND(SUM(bytes) / 1024 / 1024 / 1024) ) FROM &v_tblprefix._segments WHERE owner NOT IN ( 'SYS', 'SYSTEM' )) AS db_size_in_use_gb, (SELECT ( ROUND(SUM(bytes) / 1024 / 1024 / 1024) ) FROM &v_tblprefix._segments WHERE owner NOT IN ( 'SYS', 'SYSTEM' ) AND ( owner, segment_name ) IN (SELECT owner, table_name FROM &v_tblprefix._tab_columns WHERE data_type LIKE '%LONG%')) AS db_long_size_gb, (SELECT database_role FROM v$database) AS dg_database_role, (SELECT protection_mode FROM v$database) AS dg_protection_mode, (SELECT protection_level FROM v$database) AS dg_protection_level, (SELECT ( ROUND(SUM(bytes) / 1024 / 1024 / 1024) ) FROM &v_tblprefix._temp_files) AS db_size_temp_allocated_gb, (SELECT ( ROUND(SUM(l.bytes) / 1024 / 1024 / 1024 ) ) FROM v$log l, v$logfile f WHERE f.group# = l.group# ) AS db_size_redo_allocated_gb, @&EXTRACTSDIR/app_schemas.sql , (SELECT &v_db_unique_name as db_unique_name FROM v$database) AS db_unique_name FROM dual) SELECT pkey , dbid , db_name , cdb , db_version , db_fullversion , log_mode , force_logging , redo_gb_per_day , rac_dbinstances , characterset , platform_name , startup_time , user_schemas , buffer_cache_mb , shared_pool_mb , total_pga_allocated_mb , db_size_allocated_gb , db_size_in_use_gb , db_long_size_gb , dg_database_role , dg_protection_mode , dg_protection_level, db_size_temp_allocated_gb, db_size_redo_allocated_gb, ebs_owner, siebel_owner, psft_owner, rds_flag, oci_autonomous_flag, dbms_cloud_pkg_installed, apex_installed, sap_owner, db_unique_name, :v_dma_source_id AS DMA_SOURCE_ID, :v_manual_unique_id AS DMA_MANUAL_ID FROM vdbsummary; spool off