我目前正在帮助一些组织提高他们的 Oracle 数据库性能。他们在 Windows 2008 中使用 Oracle 11gR2 标准版。由于此标准版没有可用的企业性能包,我不得不使用 v$sql 查询运行时间最长的包以确定性能瓶颈。使用下面的查询:
SELECT *
FROM (
SELECT sql_text,
sql_id,
elapsed_time,
plsql_exec_time,
cpu_time,
executions,
fetches,
loads,
buffer_gets,
elapsed_time / executions
FROM v$sql -- order by elapsed_time / executions) ) where rownum <= 10;
它返回了一些我将研究的查询,但结果中有两行我无法理解为什么它们应该存在于此处:
如您所见,查询执行于sys.job$
,因此它应该与在此数据库上设置的 oracle 作业有关。我的问题是:
1)这两行是什么意思?我应该查询dba_jobs
表以获取更多信息吗?我应该如何查询它们以及我应该寻找什么?
2)两个查询看起来一样,为什么在查询结果中回显了两次?