Oracle
 sql >> база данни >  >> RDS >> Oracle

Показване на използването на CPU на Oracle за сесии като процент

Накратко:няма да можете да го направите с една заявка, ще трябва да напишете PL/SQL, за да съберете полезни данни, за да получите полезна информация.

Oracle има статистика за "натрупано време", което означава, че двигателят поддържа непрекъснато проследяване на употребата. Ще трябва да определите начален и краен час за анализ.

Можете да направите заявка за 'DB CPU' от V$SYS_TIME_MODEL

select value into t_db_cpu_i
from sys.V_$SYS_TIME_MODEL
where stat_name = 'DB CPU' ;  /* start time */ 
...
select value into t_db_cpu_f
from sys.V_$SYS_TIME_MODEL
where stat_name = 'DB CPU' ; /* end time */

Статистиката на CPU ще бъде засегната, ако имате само #1 CPU или #8 CPU. Така че ще трябва да определите колко процесора използва вашата машина.

Можете да поискате 'cpu_count' от V$PARAMETER, за да получите тази стойност.

select value into t_cpus
from sys.v_$parameter
where name='cpu_count' ;

След това е съвсем просто:

Максималното общо време ще бъде секунди * брой CPU, така че ако имате само #1 CPU, тогава максималното общо време ще бъде "60", но ако имате #2 CPU, тогава максималното общо време ще бъде "120" .. #3 CPU ще бъде "180" .. и т.н. ...

Така че взимате начален и краен час на анализирания период, като използвате sysdate:

t_start := sysdate ;
t_end := sysdate ;

И сега изчислявате следното:

seconds_elapsed := (t_end - t_start)*24*60*60 ;
total_time := seconds_elapsed * t_cpus ; 
used_cpu := t_db_cpu_f - t_db_cpu_i ;
secs_cpu := seconds_elapsed/1000000 ;
avgcpu := (secs_cpu/total_time)*100 ;

И това е всичко, "avgcpu" е стойността, която търсите.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Можем ли да имаме 2 различни зависимости на Oracle от 2 различни бази данни в едно приложение на asp.net

  2. Табличен израз на Oracle за събиране и ред

  3. Oracle Transparent Data Encryption недекриптиран достъп

  4. Генериране на макара на базата на условия в Oracle SQL скрипт

  5. SQL изчислява честотата на артикулите с помощта на множество / зависими колони?