MK0*_*K01 2 oracle oracle-11g-r2 concurrency oracle-enterprise-manager
我正在尝试调查 Oracle 11 RAC 上的一些并发问题。到目前为止,我拥有的最有用的工具是企业管理器的“阻塞会话”视图,它告诉我哪个查询阻塞了其他所有人以及它在等待什么。然而,为了利用这种观点,我需要在问题发生时抓住它。因此,我正在寻找一种向 oracle 查询历史数据的方法,该方法将为我提供类似于企业管理器中“阻止会话”屏幕必须提供的数据。
假设您获得使用 AWR 的许可,您可以查询gv$active_session_history
视图以获取更新的数据或dba_hist_active_sess_history
旧的数据。 gv$active_session_history
将拥有每个活动会话在每秒开始时所做的事情的快照,并将保留该数据几个小时。 dba_hist_active_sess_history
基本上每 10 个快照都会有数据,gv$active_session_history
但它会保留更长时间(无论您的 AWR 保留期是多少)。
这两个视图都有一个BLOCKING_SESSION
, BLOCKING_SESSION_SERIAL#
, 并且BLOCKING_INST_ID
它会告诉你哪个会话持有被阻塞会话正在等待的锁。然后,您还可以查看阻塞会话大约在同一时间运行的查询——阻塞会话很可能在您正在查看的特定快照中不处于活动状态,但它可能在一两秒前出现在快照中。
归档时间: |
|
查看次数: |
3217 次 |
最近记录: |