in Backends I got 2 item one start with System and the other start with the SID as shown bellow:
can some explain what is the difference between both items:
System **** on port 1521 metrics indicate we only see a Socket call going outside the JVM which otherwise is not detected as a backend call by SQL Agent.
This could happen in a scenario for e.g when there is some application code that is making a socket call to Oracle backend using code that is not probed\monitored out of the box with SQL Agent extension or if database driver is uncertified.
This thread might also help:
Backend "System" Calls in Investigator
Does anyone know what this outgoing socket call is / does?
It appears to me that all the Oracle backend looks similar to that dual connection shown in that picture: once socket + one with SQL.
Kulbir's link answers your question
The former "System OracleServerX on port XXXX" is from the socket tracer and the latter "oracledb OracleServerX-XXXX (Oracle D")" is from the SQL agent tracer, both of which are instrumented as backends. Statements to the database which are not detected by our SQL instrumentation will be caught by the Socket Tracer and reported as System on port X.
I wanted to ask this question for years would you have some examples what those non-detected statement could be?
If there is good amount of activity for the Socket backend then just run a transaction trace and that should give you further clue as to what application\database code might be making this call which is not being detected by SQL Agent.
ah, so we are not talking about some strange non-SQL queries, but transactions that are rapid and not traced. Maybe those Select from Dual ...
Please let us know if Kulbir's answer was helpful. Or if there are additional questions