Check TPS of oracle database
SELECT
ROUND((commits.value + rollbacks.value) / elapsed.seconds, 0) AS transactions_per_second,
ROUND(network.value_MB / elapsed.seconds, 2) AS data_sent_per_second_bytes,
ROUND(read_stat.value_MB / elapsed.seconds, 2) AS data_read_per_second_bytes,
ROUND(write_stat.value_MB / elapsed.seconds, 2) AS data_written_per_second_bytes,
ROUND(elapsed.seconds,2) seconds_elapsed
FROM
(SELECT value FROM v$sysstat WHERE name = 'user commits') commits,
(SELECT value FROM v$sysstat WHERE name = 'user rollbacks') rollbacks,
(SELECT (SYSDATE - startup_time) * 86400 AS seconds FROM v$instance) elapsed,
(SELECT value/1024/1024 AS value_MB FROM v$sysstat WHERE name = 'bytes sent via SQL*Net to client') network,
(SELECT NVL(value, 0)/1024/1024 AS value_MB FROM v$sysstat WHERE name = 'physical read total bytes') read_stat,
(SELECT NVL(value, 0)/1014/1024 AS value_MB FROM v$sysstat WHERE name = 'physical write total bytes') write_stat;
the above sql assumes data read/written/sent over network after the startup of database
No comments:
Post a Comment