问题描述
假设在调用my_proc() 的过程中使用的全局临时表;
我的问题是开发人员修改过程代码及其编译相同的过程,同时由客户端并行运行相同的过程。
有时需要花费很多时间来完成过程的执行,以便开发人员等待发布其更改。
有什么方法可以跟踪执行和杀死特定会话的过程?
我的问题是开发人员修改过程代码及其编译相同的过程,同时由客户端并行运行相同的过程。
有时需要花费很多时间来完成过程的执行,以便开发人员等待发布其更改。
有什么方法可以跟踪执行和杀死特定会话的过程?
专家解答
V $ SESSION在这里帮助你。例如,这是我的会话正在运行我的例程:
现在我尝试在另一个会话中更改它
从另一个会话中,我可以看到通过运行 “select * 从v $ session where sid = 1107” 来阻止该会话的位置。为了清楚起见,我已经在屏幕上打印了输出
SQL> select sys_context('USERENV','SID') from dual;
SYS_CONTEXT('USERENV','SID')
-------------------------------------------------------
135
SQL> create or replace
2 procedure long_running is
3 begin
4 dbms_session.sleep(60);
5 end;
6 /
Procedure created.
SQL>
SQL> exec long_running
[running]
现在我尝试在另一个会话中更改它
SQL> select sys_context('USERENV','SID') from dual;
SYS_CONTEXT('USERENV','SID')
------------------------------------------------------
1107
SQL> create or replace
2 procedure long_running is
3 begin
4 dbms_session.sleep(45);
5 end;
6 /
[stuck]
从另一个会话中,我可以看到通过运行 “select * 从v $ session where sid = 1107” 来阻止该会话的位置。为了清楚起见,我已经在屏幕上打印了输出
SADDR : 00007FFCC8804270 SID : 1107 SERIAL# : 35789 AUDSID : 1488300 PADDR : 00007FFCC95FDB60 USER# : 107 USERNAME : SYSTEM COMMAND : 24 OWNERID : 2147483644 TADDR : 00007FFCBF8F2E70 LOCKWAIT : STATUS : ACTIVE SERVER : DEDICATED SCHEMA# : 107 SCHEMANAME : SYSTEM OSUSER : GTX\pc PROCESS : 29204:12028 MACHINE : WORKGROUP\PC PORT : 56682 TERMINAL : PC PROGRAM : sqlplus.exe TYPE : USER SQL_ADDRESS : 000002218AA554D8 SQL_HASH_VALUE : 1235442509 SQL_ID : 7rsv8414u6qud SQL_CHILD_NUMBER : 0 SQL_EXEC_START : 10-AUG-20 SQL_EXEC_ID : 16777216 PREV_SQL_ADDR : 00007FFC8A7D0750 PREV_HASH_VALUE : 3928840931 PREV_SQL_ID : 0qq0c4bp2uqr3 PREV_CHILD_NUMBER : 0 PREV_EXEC_START : 10-AUG-20 PREV_EXEC_ID : 16777227 PLSQL_ENTRY_OBJECT_ID : PLSQL_ENTRY_SUBPROGRAM_ID : PLSQL_OBJECT_ID : PLSQL_SUBPROGRAM_ID : MODULE : SQL*Plus MODULE_HASH : 3669949024 ACTION : ACTION_HASH : 0 CLIENT_INFO : FIXED_TABLE_SEQUENCE : 777558 ROW_WAIT_OBJ# : -1 ROW_WAIT_FILE# : 0 ROW_WAIT_BLOCK# : 0 ROW_WAIT_ROW# : 0 TOP_LEVEL_CALL# : 94 LOGON_TIME : 10-AUG-20 LAST_CALL_ET : 18 PDML_ENABLED : NO FAILOVER_TYPE : NONE FAILOVER_METHOD : NONE FAILED_OVER : NO RESOURCE_CONSUMER_GROUP : OTHER_GROUPS PDML_STATUS : DISABLED PDDL_STATUS : ENABLED PQ_STATUS : ENABLED CURRENT_QUEUE_DURATION : 0 CLIENT_IDENTIFIER : BLOCKING_SESSION_STATUS : VALID BLOCKING_INSTANCE : 1 <========== BLOCKING_SESSION : 135 <========== FINAL_BLOCKING_SESSION_STATUS : VALID FINAL_BLOCKING_INSTANCE : 1 FINAL_BLOCKING_SESSION : 135 SEQ# : 57 EVENT# : 369 EVENT : library cache pin P1TEXT : handle address P1 : 140722601928088 P1RAW : 00007FFC88B32598 P2TEXT : pin address P2 : 140722601813536 P2RAW : 00007FFC88B16620 P3TEXT : 100*mode+namespace P3 : 402532924981251 P3RAW : 00016E1A00010003 WAIT_CLASS_ID : 3875070507 WAIT_CLASS# : 4 WAIT_CLASS : Concurrency WAIT_TIME : 0 SECONDS_IN_WAIT : 18 STATE : WAITING WAIT_TIME_MICRO : 17715066 TIME_REMAINING_MICRO : 882284934 TIME_SINCE_LAST_WAIT_MICRO : 0 SERVICE_NAME : pdb1 SQL_TRACE : DISABLED SQL_TRACE_WAITS : FALSE SQL_TRACE_BINDS : FALSE SQL_TRACE_PLAN_STATS : FIRST EXEC SESSION_EDITION_ID : 134 CREATOR_ADDR : 00007FFCC95FDB60 CREATOR_SERIAL# : 493 ECID : SQL_TRANSLATION_PROFILE_ID : 0 PGA_TUNABLE_MEM : 0 SHARD_DDL_STATUS : DISABLED CON_ID : 3 EXTERNAL_NAME : GTX\connor PLSQL_DEBUGGER_CONNECTED : FALSE
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




