暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 运行时程序修改

ASKTOM 2020-08-07
579

问题描述

假设在调用my_proc() 的过程中使用的全局临时表;
我的问题是开发人员修改过程代码及其编译相同的过程,同时由客户端并行运行相同的过程。

有时需要花费很多时间来完成过程的执行,以便开发人员等待发布其更改。

有什么方法可以跟踪执行和杀死特定会话的过程?

专家解答

V $ SESSION在这里帮助你。例如,这是我的会话正在运行我的例程:

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论