SQL Queries - CAST Central Base - Queries on Metrics - How to get the details of critical violations displayed in the STATISTICS section in the left panel

Purpose of Query

This query is to be run on CB. It gives for a specific snapshot, the list of critical rules and for every critical rule the list of objects violating the rule

Applicable CAST Version
Release
Yes/No
8.3.x(tick)
8.2.x(tick)
Applicable RDBMS
RDBMS
Yes/No
Oracle Server (question)
Microsoft SQL Server (question)
CSS (tick)

 

Query for CSS

Please run this query on central Database. Replace the snapshot_id and the application_id with the right values

 --list of objects with critical violations 
SELECT DISTINCT zz.f_snapshot_id, 
                zz.f_metric_id, 
                zz.f_metric_name, 
                zz.f_object_id, 
                zz.f_object_full_name 
FROM   (SELECT cd1.snapshot_id                        AS F_SNAPSHOT_ID, 
               cpt.syst_id                            AS F_SYST_ID, 
               cpt.app_id                             AS F_APP_ID, 
               cqt.metric_critical                    AS F_M_CRIT, 
               cqt.metric_id                          AS F_METRIC_ID, 
               dmd.metric_description                 AS F_METRIC_NAME, 
               cd1.object_id                          AS F_OBJECT_ID, 
               (SELECT dso.object_full_name 
                FROM   dss_objects dso 
                WHERE  dso.object_id = cd1.object_id) AS F_OBJECT_FULL_NAME, 
               Coalesce(cpxl.metric_num_value, 0)     AS F_METRIC_NUM_VALUE, 
               ( CASE 
                   WHEN Ocur.object_checksum IS NULL THEN 2 
                   WHEN Oprev.object_checksum IS NULL THEN 1 
                   WHEN Ocur.object_checksum = Oprev.object_checksum THEN 0 
                   ELSE 3 
                 END )                                AS F_STATUS, 
               Coalesce(OE.justify, 'NA')             AS F_JUSTIFY, 
               doe.access_action                      AS F_ACCESS_ACTION, 
               doe.access_except                      AS F_ACCESS_EXCEPT 
        FROM   (SELECT object_id, 
                       snapshot_id, 
                       diag_id, 
                       context_id 
                FROM   dss_diagdetails) cd1 
               join dss_metric_histo_tree cqt 
                 ON ( cqt.metric_id = cd1.diag_id 
                      AND cqt.snapshot_id = cd1.snapshot_id ) 
               join dss_metric_descriptions dmd 
                 ON ( dmd.metric_id = cqt.metric_id 
                      AND dmd.LANGUAGE = 'ENGLISH' 
                      AND dmd.description_type_id = 0 ) 
               join dss_portf_tree cpt 
                 ON ( cd1.context_id = cpt.module_id 
                      AND cpt.snapshot_id = cd1.snapshot_id 
                      AND cpt.app_id = 3 ) 
               join dss_objects_ex doe 
                 ON ( doe.object_id = cpt.app_id 
                      AND doe.access_list = 1 ) 
               left join (SELECT dmr.metric_num_value, 
                                 object_id, 
                                 snapshot_id 
                          FROM   dss_metric_results dmr 
                          WHERE  dmr.metric_id = 65005) cpxl 
                      ON cpxl.object_id = cd1.object_id 
                         AND cpxl.snapshot_id = cd1.snapshot_id 
               left join dss_object_exceptions OE 
                      ON ( OE.object_id = cd1.object_id 
                           AND OE.metric_id = cqt.metric_id 
                           AND cd1.snapshot_id < OE.last_snapshot_id ) 
               join adg_delta_snapshots d 
                 ON ( d.application_id = cpt.app_id 
                      AND d.snapshot_id = cd1.snapshot_id ) 
               left outer join dss_object_info Ocur 
                            ON ( Ocur.snapshot_id = d.snapshot_id 
                                 AND Ocur.object_id = cd1.object_id ) 
               left outer join dss_object_info Oprev 
                            ON ( Oprev.snapshot_id = d.prev_snapshot_id 
                                 AND Oprev.object_id = cd1.object_id )) zz 
WHERE  zz.f_m_crit = 1 
       AND zz.f_snapshot_id = <snapshot_id> 
       AND zz.f_syst_id = 2 
       AND zz.f_app_id = 3 -- 
ORDER  BY zz.f_snapshot_id, 
          zz.f_metric_id, 
          zz.f_object_id 

     

Query result example
Here is an example of query results

3;1580;"Avoid using execute immediate";36804;"ORACLE.PROC1"

How to interpret results?

Above returned row means that object ORACLE.PROC1 (object_id 36804) is violating the critical rule "Avoid using execute immediate" (metric_id 1580) in snapshot 3

Query for Oracle

 Not available


Query result example

Query for SQL server

 Not available


Query result example


Notes/comments
 Ticket # 4446



Related Pages