Oracle Enterprise Manager 在单独的窗口中导出对更多数据库的实时监控

问题描述 投票:0回答:1

我正在使用 Oracle Cloud Manager 13c。 我有很多数据库,但我只想跟踪五六个重要数据库的 CPU 负载。

我看到了性能中心,当我单击目标数据库时,我可以在其中看到负载和性能,在其中我们可以看到 CPU 负载与活动会话的图表。

由于我需要单击每个数据库才能获取该输出,我想知道是否可以进行某种导出(例如单独的活动 html 页面)以将所有数据库放在一个地方(例如摘要)?

提前致谢。

oracle oracle-enterprise-manager
1个回答
0
投票

您可以假脱机到 *.csv CPU 使用率指标,然后根据需要在 html 页面中可视化数据。

oracle sqlplus 1020.sql 的 SQL 查询示例:

    set pagesize 10000
    set head on
    
    SET COLSEP ','
    set UNDERLINE off
    set linesize 10000
    set trimout on
    set echo off
    set verify off
    set feedback off
    set timing off
    set markup html OFF
    
    
    SET TERMOUT OFF
    
    alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';

spool 1020.csv

    
    select * from (
    select to_char(end_time,'YYYY/MM/DD HH24:MI:SS') as snap_end_time,
    --round(max(case metric_name when 'Physical Read Total Bytes Per Sec' then round(maxval/1024/1024,3) end),3) Phys_Read_Tot_MBps,
    --round(max(case metric_name when 'Physical Write Total Bytes Per Sec' then round(maxval/1024/1024,3) end),3) Phys_Write_Tot_MBps,
    --round(max(case metric_name when 'Redo Generated Per Sec' then round(maxval/1024/1024,3) end),3) Redo_MBytes_per_sec,
    --round(max(case metric_name when 'Physical Read Total IO Requests Per Sec' then round(maxval) end),3) Phys_Read_IOPS,
    --round(max(case metric_name when 'Physical Write Total IO Requests Per Sec' then round(maxval)  end),3) Phys_write_IOPS,
    --round(max(case metric_name when 'Redo Writes Per Sec' then round(maxval)  end),3) Phys_redo_IOPS,
    --round(max(case metric_name when 'CPU Usage Per Sec' then round(maxval) end),3) DB_CPU_Usage_per_sec,
    --(select max(value) from dba_hist_osstat os where os.instance_number=s.instance_number and os.snap_id=s.snap_id and s.dbid=os.dbid and os.stat_name like '%CPU%S%') as CPU_count,
    --round(max(case metric_name when 'CPU Usage Per Sec' then round(1*(select max(value) from dba_hist_osstat os where os.instance_number=s.instance_number and os.snap_id=s.snap_id and s.dbid=os.dbid and os.stat_name like '%CPU%S%')) end),3) cpu_count,
    --round(max(case metric_name when 'CPU Usage Per Sec' then round(average/(select max(value) from dba_hist_osstat os where os.instance_number=s.instance_number and os.snap_id=s.snap_id and s.dbid=os.dbid and os.stat_name like '%CPU%S%')) end),3) DB_CPU_Usage_percent_this_inst_AVG,
    --round(max(case metric_name when 'CPU Usage Per Sec' then round(maxval/(select max(value) from dba_hist_osstat os where os.instance_number=s.instance_number and os.snap_id=s.snap_id and s.dbid=os.dbid and os.stat_name like '%CPU%S%')) end),3) DB_CPU_Usage_percent_this_inst_MAX,
    --round(max(case metric_name when 'CPU Usage Per Sec' then round(maxval/(select value from v$parameter where name='cpu_count')) end),3) DB_CPU_Usage_percent_this_inst_MAX,
    round(max(case metric_name when 'Host CPU Utilization (%)' then maxval end),3) Host_CPU_util_MAX, --NOTE 100% = 1 loaded RAC node
    round(max(case metric_name when 'Host CPU Utilization (%)' then average end),3) Host_CPU_util_AVG --NOTE 100% = 1 loaded RAC node
    --round(max(case metric_name when 'Current OS Load' then average end),3) OS_LOad_avg,
    --round(max(case metric_name when 'Current OS Load' then maxval end),3) OS_LOad_max,
    --round(round(max(case metric_name when 'CPU Usage Per Sec' then round(average/(select value from v$parameter where name='cpu_count')) end),3)/round(max(case metric_name when 'Host CPU Utilization (%)' then average end),3)*100,3) as impact_on_cpu_perc_AVG,
    --round(round(max(case metric_name when 'CPU Usage Per Sec' then round(maxval/(select value from v$parameter where name='cpu_count')) end),3)/round(max(case metric_name when 'Host CPU Utilization (%)' then maxval end),3)*100,3) as impact_on_cpu_perc_MAX,
    --round(max(case metric_name when 'Network Traffic Volume Per Sec' then round(average/1024/1024,3) end),3) Network_Mbytes_per_sec_AVG,
    --round(max(case metric_name when 'Network Traffic Volume Per Sec' then round(maxval/1024/1024,3) end),3) Network_Mbytes_per_sec_MAX,
    --round(max(case metric_name when 'User Transaction Per Sec' then round(average,2)  end),3) Transactions_per_sec_AVG,
    --round(max(case metric_name when 'User Transaction Per Sec' then round(maxval,2)  end),3) Transactions_per_sec_MAX
    from dba_hist_sysmetric_summary s
    where 1=1
    --and dbid='&DBID_PAR'
    --and os.instance_number=s.instance_number
    --and os.snap_id=s.snap_id
    --and snap_id>=&MY_VAR_MIN_SNAP_ID
    --and snap_id<=&MY_VAR_MAX_SNAP_ID
    --and s.instance_number='&var_inst_id'
    group by to_char(end_time,'YYYY/MM/DD HH24:MI:SS')
    order by 1 desc
    )
    --where rownum <  &GRAPH_LINES_LIMIT
    ;


spool off
© www.soinside.com 2019 - 2024. All rights reserved.