Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question.

Asked: August 07, 2020 - 7:22 am UTC

Last updated: August 10, 2020 - 3:38 am UTC

Version: 12c

Viewed 1000+ times

You Asked

Suppose Global temporary table used in procedure that is call my_proc();
My problem is while developer modify procedure code and its compile the same procedure while parallel running same procedure by client.

And sometime takes to much time to complete execution of procedure so that developer waits to release their changes.

Have any ways to track the procedure who execute and kill particular session?

and Connor said...

V$SESSION help you here. For example, here is my session that is running my routine:

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]



Now I try to change it in another session

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]



From another session I can see where this session is blocked by running "select * from v$session where sid = 1107". I've printed the output down the screen for clarity

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




Is this answer out of date? If it is, please let us know via a Comment

More to Explore

Administration

Need more information on Administration? Check out the Administrators guide for the Oracle Database