Who killed my session & when?

Hi Gurus,
Could you tell me how can i check who killed my session and when two days before? Which table should i query?
Any input will appreciated.
Thank you.

Yes indeed thanks.
Some procedure like below
CREATE OR REPLACE PROCEDURE kill_session_sp
          pn_sid IN number
        , pn_serial IN number)
AS
lv_user varchar2(30);
BEGIN
  SELECT username INTO lv_user FROM v$session WHERE sid = pn_sid AND serial# = pn_serial;
IF lv_user IS NOT NULL AND
    lv_user NOT IN  ('SYS','SYSTEM') AND
    lv_user NOT IN (SELECT user_name from privileged_users)  -- stop users kiiling System and DBA accounts
THEN
  EXECUTE IMMEDIATE 'ALTER SYSTEM KILL SESSION '''||pn_sid||','||pn_serial||'''';
ELSE
  RAISE_APPLICATION_ERROR(-20099,'Attempt to kill protected system session has been blocked for user '||lv_user);
END IF;
END kill_session_sp;Obviously a grant execute on that procedure should be given to someone. Normally only DBAs and production sypport may have that level of access
Why is Oracle not record the kill processes in alert log?
Cheers,
Mich

Similar Messages

  • How to kill db-session when explored is closed?

    Hi all,
    Is there an easy way to kill database sessions when the explorer window is closed?.
    I tried to set the "disconnect application module upon release" checkbox on the module, but than my application doesn't work correctly...
    I'm getting errors like:
    Jul 17, 2007 6:34:10 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
    SEVERE: SelectOne submittedValue's index 0 is out of bounds. It should be between 0 and -1
    java.lang.IndexOutOfBoundsException: SelectOne submittedValue's index 0 is out of bounds. It should be between 0 and -1
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.SimpleSelectOneRenderer.__getIndex(SimpleSelectOneRenderer.java:347)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.SimpleSelectOneRenderer._convertIndexedSubmittedValue(SimpleSelectOneRenderer.java:189)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.SimpleSelectOneRenderer.getConvertedValue(SimpleSelectOneRenderer.java:157)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.InputLabelAndMessageRenderer.getConvertedValue(InputLabelAndMessageRenderer.java:42)

    Hi Arti,
    You may want to check out how to use JDBC Datasources intead of the JDBC URL to connect to your database at the OC4J level. This method will manage the number of open db sessions that the OC4J can access. It is normal to have the sessions connected even after the browser has closed. It actually saves processing on the database because you don't need additional resources to open sessions, and you're reusing technology on connection management that is part of the database DNA. It is designed this way so that the OC4J can reuse existing connections for performance reasons among others.
    To do this on ADFBC, these are the files that you'll need to modify:
    1) data-sources.xml
    2) bc4j.xcfg for every application module to use JDBC Datasources instead of JDBC URL. (Right-click, configuration on the AM)
    However, for testing, the business component browser will need to use the JDBC URL connection.
    I hope this helps.
    Kenton

  • Losing original session when opening new window

    I have an application that opens a new child window that form submits
    to another application on another server. When this happens the other application server automatically creates a new session, wiping out the original session in the parent window.
    Is there a way to open a window with a new session such that this new session is seperate from the original and won't kill the session when you click back on the parent window?

    I've dealt with this before. I'm not sure what appserver you're using, but weblogic allows you to speciy the session cookie name used by the web application. So each one of our apps have a different session cookie name (never the default JSESSIONID which would be shared). So in your situation, the app in the new window would be using a different session cookie so it would never overwrite the original window's cookie. I'd imagine most containers allow this type of configuration...just not sure. In weblogic, you defing the cookie name in the weblogic.xml file(deployed with each webapp). Here's what it looks like...
    <weblogic-web-app>
    <session-descriptor>
    <session-param>
    <param-name>CookieName</param-name>
    <param-value>MYAPPSCOOKIENAME</param-value>
    I'd also suggest that you completely leave the default (JSESSIONID) completely out of your cookie name. I've heard some containers use the indexOf function to find the cookie.... so MYAPPJSESSIONID and JSESSIONIDMYAPP might possibly be picked up. I'm not sure of this though, but was chatting with a co-worker who told me.

  • How the system automatically kills the process when I close the browser?

    Hi everybody,
    I have the following problem: I run a report on the web browser. Suppose the user want to detail on one of the characteristics of report. If this takes long time (there are many records in report) and the user closes the web browser, the SAP system still run the proccess (in SM50 I see the dialog process still working, althrough the user closes the browser). This didn't happen in Excel, means, if the user press the 'Cancel' button when he/she tried to detail on one characteristic, the corresponding process is killed too (I see in SM50 how the corresponding dialog process is removed).
    How can I solve this ? Any idea about this?
    Thanks in advance.
    Florina

    Florina,
    there is a timeout set for the web session and the session would get automatically terminated after some time ..
    Some options are :
    1. Use Stateless Templates
    2. There is a Web Template setting called "Automatic Session Management" which uses a page wrapper cookie and kills the session when the person navigates from the page.. - <b>have changed it from previous answer after seeing Anil's post - apologies</b>
    3. If you are using EP  , you could implement DSM Terminator for the same.
    All the above( except 3) will not be suitable for stateful templates , if you want export to excel capability , or printing capability or the capability to save the pages as HTML for local use , you have to use stateful templates.
    First you would have to decide whether to use statefull or stateless templates and then depending on the choice made , go for any of the above. In case non of them work out for you , there is another option , but that would include a lot of javascript and using some command line parameters , update this post and I can tel you about the other if required..
    Hope it helps..
    Arun
    Assign points if useful
    Message was edited by: Arun Varadarajan

  • How to kill the session after the user exit the ADF application

    Dear all
    I have a problem
    The problem is the session still exist after the user close the application and the browser. I want to kill all sessions that is not active.
    This is my test scenario:
    1- I open IE and run my ADF application that is deployed on weblogic. http://192.168.100.17:7001/myapp/faces/login
    2- At the same time I issue this SQL command to view the sessions for user 'ADFUSER' - the "ADFUSER" is the schema user.
    SELECT USERNAME,STATUS FROM v$session
    WHERE USERNAME = 'ADFUSER';QUERY RESULT IS
    USERNAME                       MODULE                                           STATUS
    ADFUSER                         JDBC Thin Client                                 INACTIVE3- Now the user close the browser
    4- Run the SQL again and I notice that the session still exist
    SELECT USERNAME,STATUS FROM v$session
    WHERE USERNAME = 'ADFUSER'RESULT:
    USERNAME                       MODULE                                           STATUS
    ADFUSER                        JDBC Thin Client                                 INACTIVE5- now the user open the URL again http://192.168.100.17:7001/myapp/faces/login
    6-Run the SQL again , and I notice that the old session still exists and a new session created too.
    SELECT USERNAME,STATUS FROM v$session
    WHERE USERNAME = 'ADFUSER'RESULT:
    USERNAME                       MODULE                                           STATUS
    ADFUSER                        JDBC Thin Client                                 INACTIVE
    ADFUSER                        JDBC Thin Client                                 INACTIVE
    2 rows selected.and every time I login to the application , a new session is open and the old session still exist
    I do not know why this happens
    I want to kill old session when the user close the application.
    These sessions are cleared only when i restart the weblogic domain.
    here is some information about my development environment:
    Jdeveloper 11.1.2.3
    WebLogic Server Version: 10.3.5.0
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    thanks in advance

    Hi,
    for performance reasons you should not use dedicated user connections to the database. Instead you use JDBC data sources (default in JDeveloper for ADF BC) that you can configure the database connection pooling for. This means that your v$session will always show a set of active session, which however are shared among users. Assuming you use ADF BC, this is what happens
    - A user requests a data bound page
    - The ADF BC checks out an AM and connects to the database using one of the database connections in the pool
    ... user work here ...
    - user exits application
    - ADF BC returns AM to pool and passivates pending user state (if application is left with dirty transaction)
    - Database connection is available in pool as soon as AM released
    This also happens between requests. Long story cut short: v$session doesn't give you a true picture
    Frank

  • Close the session when closing the opendoc link

    HI,
    Environment: BOXIR3.1 SP3 FP 3.6
    When the user logging into infoview/CMC that time one session is creating , once logged off session also automatically closing. But when we using the open doc link, we dont have option to sign out the application. At that time we wanted to close the browser. But in CMC still we could see the users session in active. Could you please help us to kill the session when the browser is closed .
    is there any possible to kill such kind if session in BOXIr3.1
    Thanks
    N/A

    Hi,
    You can only kill sessions using the SDK and it's not recommended.
    Sessions should be automatically cleaned from the CMS after the timeout period. If it is not your case, follow the steps indicated in this KBA:
    https://service.sap.com/sap/support/notes/1286471
    Regards,
    Julian

  • Killing User Sessions upon closing window

    How can we kill the user session people if people just go in
    and close the window by hitting x on the top of the browser? Any
    feedback and help would be greatly appreciated.

    Technically, you can't kill a user's session upon them
    closing the window.
    What you _can_ do is use J2EE session tracking, or a
    transient cookie that gets deleted when the browser quits. That
    still doesn't kill the session when they close the window. The
    session remains active until the timeout time has elapsed.

  • Losing connetion pools when killing off sessions on the database

    Hi,
    We are using webLogic version 6.1 as our app. We are currently experiencing a problem with the connection pools to our databases.
    Problem: We have some jobs that run on our databases through connections pools via webLogic. When we kill the session of the job on the database side, all the connections using that connection pool from webLogic to that database is lost. We tried to re-target the connection pool through the console but this fails to work, thus requiring a bounce to the webLogic system.
    Is there an explanation for this, moreover is there a solution to resolve this as this seems unacceptable in a live production situation.
    Thanks and regards
    William Sung
    Coporate Investment Banks & Markets
    44 (0)20 7779 1357

    William Sung wrote:
    Hi,
    We are using webLogic version 6.1 as our app. We are currently experiencing a problem with the connection pools to our databases.
    Problem: We have some jobs that run on our databases through connections pools via webLogic. When we kill the session of the job on the database side, all the connections using that connection pool from webLogic to that database is lost. We tried to re-target the connection pool through the console but this fails to work, thus requiring a bounce to the webLogic system.
    Is there an explanation for this, moreover is there a solution to resolve this as this seems unacceptable in a live production situation.
    Thanks and regards
    William Sung
    Coporate Investment Banks & Markets
    44 (0)20 7779 1357Hi. What DBMS is this, and what JDBC driver are you using? Also, show me the pool
    definition. I may be able to help the situation, but I don't think that killing DBMS sessions
    out from under applications is anything anyone should do in a production system.
    Joe

  • Killing all sessions at once who are locking the objects

    Hello all,
    i am working in 9i Oracle RDBMS on AIX IBM OS
    most of the time we face locking issue and there comes more then different 50 sessions which locking different tables.
    here is my script to find out what sessions are locking what tables.
    set lines 200
    set pages 50000
    col SID for 99999
    col SERIAL# for 999999
    col username format a12
    col sql format a55
    col event format a50
    col program format a40
    col MINS for 9999
    col ID1 for 999999
    col object_name for a35
    col locktype for a8;
    select  /*+ ORDERED */ s.sid,s.serial#,s.status,round(s.last_call_et/60) MINS,s.program,l.ID1,d.object_name,d.object_type,l.type as locktype
    from v$lock l,v$session s, dba_objects d
    where l.sid = s.sid
    and l.ID1 = d.object_id
    and s.username = 'MULDMS'
    and last_call_et > 120 and l.type <> 'TX' order by s.status,MINS,l.ID1,l.type; and the out put it gives something like
      SID SERIAL# STATUS    MINS PROGRAM                                      ID1 OBJECT_NAME                         OBJECT_TYPE        LOCKTY
    8981    1069 ACTIVE       2 frmweb@Appsdms31 (TNS V1-V3)               30407 VH_BTN                              TABLE              TM
    1642     512 ACTIVE      15 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
      690    1057 ACTIVE      17 [email protected] (TNS V1-V3)    28846 AM_DOCS                             TABLE              TM
      699    1787 ACTIVE      17 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
      690    1057 ACTIVE      17 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
      690    1057 ACTIVE      17 [email protected] (TNS V1-V3)    30643 VT_CHECK_INOUT                      TABLE              TM
    10877     895 ACTIVE      18 [email protected] (TNS V1-V3)     28846 AM_DOCS                             TABLE              TM
    6654    1085 ACTIVE      18 [email protected] (TNS V1-V3)    28846 AM_DOCS                             TABLE              TM
    1912    1655 ACTIVE      18 [email protected] (TNS V1-V3)    28846 AM_DOCS                             TABLE              TM
    10877     895 ACTIVE      18 [email protected] (TNS V1-V3)     30407 VH_BTN                              TABLE              TM
    6654    1085 ACTIVE      18 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    1912    1655 ACTIVE      18 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    1754    1582 ACTIVE      18 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    10877     895 ACTIVE      18 [email protected] (TNS V1-V3)     30643 VT_CHECK_INOUT                      TABLE              TM
    6654    1085 ACTIVE      18 [email protected] (TNS V1-V3)    30643 VT_CHECK_INOUT                      TABLE              TM
    10708     982 ACTIVE      19 [email protected] (TNS V1-V3)    28846 AM_DOCS                             TABLE              TM
    5428     855 ACTIVE      19 [email protected] (TNS V1-V3)    28846 AM_DOCS                             TABLE              TM
    10708     982 ACTIVE      19 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    5428     855 ACTIVE      19 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    10278     897 ACTIVE      20 [email protected] (TNS V1-V3)     28846 AM_DOCS                             TABLE              TM
    6261    1056 ACTIVE      20 frmweb@appsdms12 (TNS V1-V3)               28846 AM_DOCS                             TABLE              TM
    6598    1413 ACTIVE      20 [email protected] (TNS V1-V3)     28846 AM_DOCS                             TABLE              TM
    1312    1000 ACTIVE      20 [email protected] (TNS V1-V3)    28846 AM_DOCS                             TABLE              TM
    10278     897 ACTIVE      20 [email protected] (TNS V1-V3)     30407 VH_BTN                              TABLE              TM
    6261    1056 ACTIVE      20 frmweb@appsdms12 (TNS V1-V3)               30407 VH_BTN                              TABLE              TM
    1312    1000 ACTIVE      20 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    3521     717 ACTIVE      20 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    6598    1413 ACTIVE      20 [email protected] (TNS V1-V3)     30407 VH_BTN                              TABLE              TM
    6598    1413 ACTIVE      20 [email protected] (TNS V1-V3)     30643 VT_CHECK_INOUT                     TABLE              TM
    1312    1000 ACTIVE      20 [email protected] (TNS V1-V3)    30643 VT_CHECK_INOUT                   TABLE              TM
    9131    1002 INACTIVE     2 [email protected] (TNS V1-V3)    30455 VH_PSF                              TABLE              TM
    4887    1040 INACTIVE     2 [email protected] (TNS V1-V3)     30455 VH_PSF                              TABLE              TM
      151    1982 INACTIVE     2 [email protected] (TNS V1-V3)     80224 RD_ENQEXD                           TABLE              TM
      846     988 INACTIVE     3 [email protected] (TNS V1-V3)    29228 GM_VIN                              TABLE              TM
    5364    1149 INACTIVE     3 [email protected] (TNS V1-V3)    30407 VH_BTN                              TABLE              TM
    9934     789 INACTIVE     3 [email protected] (TNS V1-V3)     30455 VH_PSF                              TABLE              TM
    7511    1092 INACTIVE     3 [email protected] (TNS V1-V3)    30455 VH_PSF                              TABLE              TM
    3595    1104 INACTIVE     3 [email protected] (TNS V1-V3)    30455 VH_PSF                              TABLE              TM
      846     988 INACTIVE     3 [email protected] (TNS V1-V3)    30455 VH_PSF                              TABLE              TM
      945     670 INACTIVE     3 [email protected] (TNS V1-V3)    30455 VH_PSF                              TABLE              TMand then i have to kill the session one by one . thaat is a tedious task to do.
    i want to modify this script which will give me all the kill statement and i just have to run it
    can someone help me in this regard as i am weak in sql/plsql
    thanks and many thanks

    >
    i want to modify this script which will give me all the kill statement and i just have to run it
    >
    Karthick's script will 'kill' the sessions but before you use that script you may want to read the docs about the KILL and DISCONNECT clauses.
    See the DISCONNECT SESSION and KILL SESSION clauses in the SQL Language doc
    http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_2013.htm#sthref4724
    >
    DISCONNECT SESSION Clause
    Use the DISCONNECT SESSION clause to disconnect the current session by destroying the dedicated server process (or virtual circuit if the connection was made by way of a Shared Sever).
    The IMMEDIATE setting disconnects the session and recovers the entire session state immediately, without waiting for ongoing transactions to complete.
    KILL SESSION Clause
    The KILL SESSION clause lets you mark a session as terminated, roll back ongoing transactions, release all session locks, and partially recover session resources.
    IMMEDIATE Specify IMMEDIATE to instruct Oracle Database to roll back ongoing transactions, release all session locks, recover the entire session state, and return control to you immediately.
    >
    For DISCONNECT the IMMEDIATE clause will recover the session state 'immediately'.
    Using KILL, even with the IMMEDIATE clause, you are telliing Oracle to roll back any ongoing transactions and that can take a lot of time.
    Make sure you are really doing the operation you want to do. If you want to get the locks released immediately you need to use 'DISCONNECT IMMEDIATE'.

  • PL/SQL procedure to kill inactive session

    Hi all ,
    Please i am trying to write a procedure to kill inactive sessions of the shema 'TESTSCHEMA' .This is my first procedure , am not use to pl/sql but i went through many turtorial but have some errors at compliation .when i try to compile the procedure the errors are as below :
    15:50:28 Start Find Objects [TESTSCHEMA@TESTDB_UNIX(2)] ...
    15:50:28 End Find Objects [TESTSCHEMA@ TESTDB_UNIX(2)]
    15:50:32 Start Compiling 1 object(s) ...
    15:50:32 Executing ALTER PROCEDURE fib_dead_cnx_cleanup COMPILE ...
    15:50:32 [13:2] PL/SQL: ORA-00933: SQL command not properly ended
    15:50:32 [9:3] PL/SQL: SQL Statement ignored
    15:50:32 [18:12] PLS-00103: Encountered the symbol "(" when expecting one of the following:
    15:50:32 constant exception <an identifier>
    15:50:32 <a double-quoted delimited-identifier> table LONG_ double ref
    15:50:32 char time timestamp interval date binary national character
    15:50:32 nchar
    15:50:32 The symbol "<an identifier>" was substituted for "(" to continue.
    15:50:32 [18:21] PLS-00103: Encountered the symbol "LOOP" when expecting one of the following:
    15:50:32 := ; not null default character
    15:50:32 The symbol "; was inserted before "LOOP" to continue.
    15:50:32 [27:8] PLS-00103: Encountered the symbol "ALTER" when expecting one of the following:
    15:50:32 begin case declare exit for goto if loop mod null pragma
    15:50:32 raise return select update while with <an identifier>
    15:50:32 <a double-quoted delimited-identifier> <a bind variable> <<
    15:50:32 close current delete fetch lock insert open rollback
    15:50:32 savepoint set sql execute commit forall merge pipe
    15:50:32 Compilation complete - 5 error(s) found
    15:50:32 End Compiling 1 object(s)
    below is the procedure code :
    CREATE OR REPLACE
    PROCEDURE fib_dead_cnx_cleanup
    AS
    l_serial     CHAR(100);
    l_sid CHAR (100);
    l_sid_serial CHAR(100);
    l_count      NUMBER(10,0);
    CURSOR session_cur IS
              SELECT sid,serial#,sid||','||serial# as sid_serial
         FROM v$session
         WHERE username='EBBFCAT' and schemaname='TESTSCHEMA'
         and status='INACTIVE'
    BEGIN
         BEGIN
         l_count := 0;
                   OPEN session_cur;
                        WHILE ( 1 = 1) LOOP
                             BEGIN
                                  FETCH session_cur INTO l_sid ,l_serial,l_sid_serial ;
                                       EXIT WHEN session_cur%NOTFOUND ;
                                  BEGIN
                                       alter system kill session 'l_sid_serial' ;
                                  END;     
                             END;
                        END;
                   CLOSE session_cur;
         END;
    END FIB_DEAD_CNX_CLEANUP;
    Thanks

    Hi,
    Never write, let alone post, unformatted code.
    When posting any formatted text on this site, type these 6 characters:
    &#123;code&#125;
    (small letters only, inside curly brackets) before and after sections of formatted text, to preserve spacing.
    Among the benefits of formatting: you can indent to show the extent of blocks, such as BEGIN-END.
    Different types of blocks need modifiers after the end, such as "END *IF* " and " END *LOOP* ". If each opening statement (BEGIN, IF, LOOP) is directly above its corresponding END, then it's easy to check if you got the right modifier.
    Here's what you code looks like with some formatting, and a couple of corrections added. Look for -- comments.
    CREATE OR REPLACE
    PROCEDURE fib_dead_cnx_cleanup
    AS
         l_serial     CHAR(100);
         l_sid          CHAR (100);
         l_sid_serial     CHAR(100);
         l_count          NUMBER(10,0);
         CURSOR session_cur IS
                SELECT  sid
                ,       serial#
                ,       sid     || ','
                                      || serial#     as sid_serial
                FROM     v$session
                WHERE      username     = 'EBBFCAT'
                and     schemaname     = 'TESTSCHEMA'
                and     status          = 'INACTIVE';          -- need semicolon here
    BEGIN
         BEGIN                                   -- Why?
              l_count := 0;
              OPEN session_cur;
              WHILE ( 1 = 1)
              LOOP
                    BEGIN                         -- Why?
                         FETCH  session_cur
                         INTO   l_sid
                         ,          l_serial
                         ,          l_sid_serial ;
                               EXIT WHEN session_cur%NOTFOUND ;
                         BEGIN                    -- Why?
                             alter system kill session 'l_sid_serial' ;    -- Not a PL/SQL command
                               END;
                          END;
                END LOOP;                         -- LOOP ends with END LOOP
                CLOSE session_cur;
            END;
    END      FIB_DEAD_CNX_CLEANUP;Take baby steps.
    I've been wrtiing PL/SQL for 20 years, and I would never write that much code at once. If you're a beginner, all the more reason to start small. Write as little as possible, test, debug and test again (if necessary). When you have someting working, add 2 or 3 more lines and test again.
    It looks like you have three BEGIN statements that don't serve any purpose. You should get rid of them (and their corresponding END statements, of course).
    One error I did not fix: ALTER SYSTEM is not a PL/SQL statement. It's a SQL statement. You can run a SQL statement inside PL/SQL by using dynamic SQL, where you construct a string containing the SQL statement, and then use dbms_sql or EXECUTE IMMEDIATE to run it.
    Edited by: Frank Kulash on Aug 18, 2009 12:37 PM

  • Cannot kill a session that is running a query on a linked server in SQL Server 2008 R2

    Hi,
    Cannot kill a session that is running a query on a linked server  in SQL Server 2008 R2.
    When I try to kill, it status shown as "KILLED/ROLLBACK"
    I have facing the issue from long back. I searched many and none of them worked for me
    Any help is greatly appreciated
    Thanks
    Jaison
    Carver

    I guess its stuck, can you see some blocking or any other process blocking the rollback.
    can you check rollback status using below command. Or you can use sp_who2 and check status column
    select percent_complete,estimated_completion_time from sys.dm_exec_requests
    where spid=xxx
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • Call function RFC in a loop and kill old session

    Hi,
    we have a problem with a program.
    here's a part of the code:
    DO.
        CALL FUNCTION 'YC_REFRESH_GPT_START_CM25' STARTING NEW TASK 'TEST'
          EXPORTING
            i_profile       = p_prfl
            i_werks         = p_werks
            i_arbpl_low     = s_arbpl-low
            i_arbpl_high    = s_arbpl-high
          TABLES                                              
            t_arbpl =  it_arbpl.                                
        PERFORM wait_for_refresh.
        PERFORM terminate_session.
      ENDDO.
    So the program does a call function, waits a while, then terminates the session and recalls the function.
    Apparently, like this the data should be updated.
    But in the terminate session, the session is terminated using:
    CALL 'ThUsrInfo' ID 'OPCODE'  FIELD opcode_delete_mode
                       ID 'MODE'    FIELD l_mode.
    And it works the first time, but the second time there is a dump.
    So, is there another way to achieve what this program is trying to do?
    Or is there another way to kill the session?
    Thanks!!

    Hi,
    the DLL will stay in memory as long as there is a program running which has not closed (unloaded) the DLL.
    Doing repetitive calls to the DLL is irrelevant in this context. LV opens the DLL as soon as needed and will only unload it when there is no VI in memory which has a CLN to that DLL...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How to kill a  session in stored procedure or trigger.

    Can anyone let me know, how to kill a particular session in stored procedure or trigger.
    Regards
    KVSS

    also you cannot attempt to kill ur own current session.
    But on what circumstances you want to kill the session.
    When anyone trys to access a table and lets suppose the trigger onthat table activates
    and you want to kill that very session which activated the trigger ???
    i dont think its possible. To kill a session definitely you should be in a different session and
    then only you can achieve that.
    pls check it out
    prakash
    [email protected]

  • ALLOW A USER TO KILL A SESSION WITHOUT ALTER SYSTEM PRIVILEGE.

    Hi
    I need a user to have permission to kill a session without having the ALTER SYSTEM privilege. I created a procedure on sys schema and granted the EXECUTE privilege to the user but it doesn't work, how can I do, help please.
    CREATE OR REPLACE PROCEDURE SYS.PRC_SESSION_KILLER (P_SID IN NUMBER, P_SERIAL IN NUMBER)
    AS
    BEGIN
         EXECUTE IMMEDIATE 'GRANT ALTER SYSTEM TO SYSADMIN';
         EXECUTE IMMEDIATE 'ALTER SYSTEM KILL SESSION ''' || P_SID || ',' || P_SERIAL || ''' IMMEDIATE';
         EXECUTE IMMEDIATE 'REVOKE ALTER SYSTEM FROM SYSADMIN';
    END;
    Thank you very much.

    Hi,
    I second everything John said.
    Are you sure the arguments are correct?
    Below is the procedure I use. You may want to run it, just to see what the error is.
    PROCEDURE     kill_internal
         s_id          IN     NUMBER,
         serial_num     IN     NUMBER,
         stat_out     OUT     VARCHAR2
    IS
         alter_handle     INTEGER;
         ex_val          INTEGER;     -- Returned by dbms_sql.execute
    BEGIN
         alter_handle := dbms_sql.open_cursor;
         dbms_sql.parse
              alter_handle,
              'ALTER SYSTEM     KILL SESSION '''     ||
                   TO_CHAR (s_id, '999990')     ||
                   ', '                    ||
                   TO_CHAR (serial_num, '999990')     ||
              dbms_sql.native
         ex_val := dbms_sql.execute (alter_handle);
         dbms_sql.close_cursor (alter_handle);
         stat_out := 'Success: '                    ||
                   TO_CHAR (s_id, '999990')     ||
                   ', '                    ||
                   TO_CHAR (serial_num, '999990');
    EXCEPTION
         WHEN OTHERS
         THEN
              stat_out := 'Failure:'          ||
                   SQLERRM;
    --          dbms_output.put_line (stat_out);
              dbms_sql.close_cursor (alter_handle);
    END     kill_internal
    ;

  • Unable to kill a session in SM50 or SM66

    One of our developer was working on a program and there was a network failure.  When we got the network back the system shows the process is till running since 3 days. Tried to kill it from SM50 and SM66. 
    While logging in it is giving 3 options and even after selecting "Continue with this logon and end any other logons in system" its not ending that session.
    After we logon the program is running good.
    How to kill this session??
    Details of the session is given below
    No Ty. PID      Status  Reasn Start Err Sem CPU      Time   Cl. User
    3  DIA 6584     Running       No            296:36   168191 130 BYARLAGADDA
    Report / Spool action
    CL_ABAP_TABLEDESCR============CP
    Main Program
    SAPLCV110
    Action                    Table
    Waiting f.                                                                   since
    Database                         Number              Time (usec)         Recs.
    Direct Read                    14,681             519,103                 524
    Sequential Read                18,146            595171                    83
    Insert                              0                   0                   0
    Update                              0                   0                   0
    Delete                              0                   0                   0

    Why does no-one understand SAP Architecture well enough anymore, I blame bad trainers.
    Its like seeing a car driving badly all over the road and blowing up the car rather than shooting the driver.
    The WP is not the problem, it is the task in the WP that is.
    Killing a user in SM04 or a job in SM37 often works. Then I would try cancelling the program in SM50, not the work process.
    If that fails then normally it is waiting on something - often RFC. If RFC a simple removal of the connection in SMGW removes the task from the WP. In this case it looks like a rogue DB process, in this case the WP is just waiting for a response from the DB... killing the WP just gets rid of the visibility in SM50, it does not remove the problem... in fact it then would make my job of identifying why the system is running slow a lot worse.

Maybe you are looking for