DMA method for oracle monitoring collects Oracle DB internal status(v$sysstat, v$system_event) and active session details(v$session, sql-text .. ) without accessing Oracle DB.
Direct memory access is really fast and light enough to be done more than 100 times per second.
how to access oracle sga directly with c code
Query based DB monitoring method is performed by executing many recursive queries internally in the DB in order to execute queries for db monitoring. These recursive queries can cause latch contention in the shared pool.
Query-based DB monitoring solution might be a good idea if these indicators are normal, such as the server’s query response time, cpu usage, active session count, etc.
However, as the db response time increases, the number of active sessions increases, using a query-based DB monitoring method is dangerous because it can further increase the latch contention in the shared pool.