scripts/collector/oracle/sql/extracts/pdbsinfo.sql (61 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 con_id = p.con_id" column logging format a10 spool &outputdir/opdb__pdbsinfo__&v_tag prompt PKEY|DBID|PDB_ID|PDB_NAME|STATUS|LOGGING|CON_ID|CON_UID|EBS_OWNER|SIEBEL_OWNER|PSFT_OWNER|RDS_FLAG|OCI_AUTONOMOUS_FLAG|DBMS_CLOUD_PKG_INSTALLED|APEX_INSTALLED|SAP_OWNER|SGA_ALLOCATED_BYTES|PGA_USED_BYTES|PGA_ALLOCATED_BYTES|PGA_MAX_BYTES|DMA_SOURCE_ID|DMA_MANUAL_ID WITH opdbinfo AS ( SELECT :v_pkey AS pkey, dbid, pdb_id, pdb_name, status, &v_pluggablelogging AS logging, con_id, con_uid FROM &v_tblprefix._pdbs UNION SELECT :v_pkey AS pkey, c.dbid, c.con_id# AS pdb_id, o.name, decode(c.status, 0, 'UNUSABLE', 1, 'NEW', 2, 'NORMAL', 3, 'UNPLUGGED', 5, 'RELOCATING', 6, 'REFRESHING', 7, 'RELOCATED', 8, 'STUB', 'UNDEFINED') AS status, decode(bitand(c.flags, 512), 512, 'NOLOGGING', 'LOGGING') AS logging, c.con_id# AS con_id, c.con_uid FROM sys.container$ c, sys.obj$ o WHERE o.obj# = c.obj# AND con_id#=1), vpdbinfo AS ( SELECT p.*, @&EXTRACTSDIR/app_schemas.sql FROM opdbinfo p ), pdb_sga AS ( SELECT con_id, inst_id, SUM(bytes) AS sga_allocated_bytes FROM gv$sgastat GROUP BY con_id, inst_id ORDER BY con_id, inst_id ), pdb_pga AS ( SELECT con_id, inst_id, SUM(pga_used_mem) AS pga_used_bytes , SUM(pga_alloc_mem) as pga_allocated_bytes, SUM(pga_max_mem) as pga_max_bytes FROM gv$process GROUP BY con_id, inst_id ORDER BY con_id, inst_id ), mem_stats AS ( SELECT s.con_id, s.inst_id, s.sga_allocated_bytes, p.pga_used_bytes, p.pga_allocated_bytes, p.pga_max_bytes FROM pdb_sga s LEFT OUTER JOIN pdb_pga p ON (s.con_id = p.con_id AND s.inst_id = p.inst_id) ) SELECT i.*, m.sga_allocated_bytes, m.pga_used_bytes, m.pga_allocated_bytes, m.pga_max_bytes, :v_dma_source_id AS DMA_SOURCE_ID, :v_manual_unique_id AS DMA_MANUAL_ID FROM vpdbinfo i LEFT OUTER JOIN mem_stats m ON i.con_id = m.con_id; spool off column logging clear