Killing Session : Form vs TOAD
1. How to distingusih between Form Session and Toad Session?
2. How to know if a session is being locked?
My problem is to kill locked session using a scheduler. Tx in advance.
CREATE OR REPLACE PROCEDURE FIFAPPS.fs_p_kill_idle_session
IS
BEGIN
FOR pr IN (SELECT TO_NUMBER (value) waktu
FROM fifapps.FS_MST_PARAM a
WHERE MODULE_ID = 1
AND key = 'AUTO_KILL'
AND TO_NUMBER (value) > 0)
LOOP
FOR ss IN (SELECT SID, serial#,
ROUND (seconds_in_wait / 60, 2) minutes_wait, event,
machine, program, action, module
FROM v$session
WHERE service_name <> 'SYS$BACKGROUND'
AND event = 'SQL*Net message from client'
AND status <> 'KILLED'
AND upper(program) NOT LIKE '%TOAD%'
AND seconds_in_wait > pr.waktu)
LOOP
EXECUTE IMMEDIATE 'alter system kill session '''
|| ss.SID
|| ','
|| ss.serial#
|| '''';
END LOOP;
END LOOP;
END;
/I found the code above.. and some users said that the TOAD session is killed as well...
Similar Messages
-
Hello All.
How can I kill user's session by click e.g. button in form 6i in client/server or web.
Thankx all.Hi Sarah, thanks for ur reply.
I did not use toad to kill session.
I use form application to kill session,
e.g. user id 1111 log in to the application in PC 1
at the same time, same user id 1111 log in to the application in PC 2
So when the user log in into PC 2, i kill the session in PC 1 (in form application).
So when i log out from PC 2, i close the applet, in the next hour, i need to log in again using PC 2 without close the IE.
So the IE is not responding.
Is there any way to refresh IE without re open again to connect to the application ?
Thanks,
Iwan -
In my application I want to kill session if any user
is idle for 2 minutes.
I am using oracle forms 6i and database oracle 9iYou have to use D2KWutil.pll
In when new form instance write the following code
declare
hWind PLS_INTEGER;
CheckTimer TIMER;
begin
hWind := get_window_property(FORMS_MDI_WINDOW,WINDOW_HANDLE);
Win_API_Session.Timeout_Start_Timer(hWind);
CheckTimer := Create_Timer('CheckTimeout',1000,repeat);
end;
and in when timer expired trigger write the following code
begin
if upper(get_application_property(TIMER_NAME)) = 'CHECKTIMEOUT' then
:timer.t1 := Win_api_session.Timeout_Get_Inactive_Time;
if :timer.t1 > 120 then -- timer is a block and t1 is text item (don't assign a canvas to it, make it invisible)
Win_API_Session.timeout_delete_timer;
exit_form (NO_VALIDATE);
end if;
end if;
end;
hope this helps !! -
Urgent-how to run 'alter system kill session 'sid, serial#' in form 6i ?
I want to write a procedure in Form 6i so that user can kill the session by herself.
I know kill session sql is 'alter system kill session 'sid, serial#'', however, I fould that I can only run it it sql plus screen, how can I run it in Form or in Stored procedure?
Urgent....Please!try using Forms_ddl('alter system......'); in the forms. it will execute the dml statements in the form.
zaibi. -
How to find and kill session similar to forms user session
We have a forms and reports based system that uses the oracle sessions. Sometimes if a form takes a long time we have the need to navigate to iAS>Forms>User Sessions, find the IP of the machine where the form is not responding and kill it based on the IP of the troublesome machine.
I want to add this into our forms environemnt so people can kill their own sessions if need be but not sure how this is handled
is it a simple alter system kill session in the db or something different.
also how is the ip found to match the session?
Thankshi,
Instead Set session timeout parameters..So that user gets logged off automatically from the application after a particular interval of time
For this you have to make changes in httpd.conf file,web.xml file and env file
Regards
Fabian -
Hi,
I kill a session with the commands:
select username, sid, serial#, status from v$session where username like 'RION%'
alter system kill session 'sid, serial#'
and if I give again the first select command at the status column appears KILLED. I want not to have KILLED in the status column.
Thank you,
Mihaelahi all,
As u know you are seeing the status of at v$session view as killed, I wanna confirm that this will exists in two senario.
When a Session is in inactive state and a kill command on that session is issued then the "status" column of v$session will be updated as killed as to indicate/mark as it is killed, and the "server " column will be updated as psuedo. when the user again try to connect to the session user will receive 0ra-00028 error and the entry will be removed from v$session.
Another senario is that the transaction is at its half way, either in commiting or at the roleback stage for that partucular session then also you can find that the v$table is updated as above.
more information, go through the documentation, at the Server Process handling section.
i hope it cleared your confussion, -
Oracle 10g r2
I killed a session after fetching the sid and serial from the v$session as under
select * from v$session where username='SAM';
alter system kill session '530,7420'
Now the status showed killed.
But again after some time one i query the v$session the status turn to inactive.
Why so?Yeah Madrid....
Thanks for that.. at the developer side.. they did get session killed.
But actually my doubt here was. that once i killed the session then i go the status as "killed" in the v$session
but less then a minute when i again query the v$session then i see the status aa inactive. This is what is not clear to me. -
RAR 5.3 - kill session of another user
how can RAR admin kill session of another user?
Hi Partha,
There is no way out to kill a user's session in RAR, nor in UME. The only place you can kill a user's session is in backend (R/3 side of a particular system) in T-code: SM04->select a particular session of any user-> end session.
Regards,
Gurugobinda -
ALTER SYSTEM KILL SESSION privilege
Hi All,
Is there any possibility to use this command from a without having DBA priviileges, what is the privilege to be grantd to the ordinary users to execute ALTER SYSTEM KILL SESSION... statement..
Thanks in advanceThe procedure proposed by Rusell would be more or less so:
SQL> create or replace procedure kill_session
2 ( v_sid number, v_serial number )
3 as
4 v_varchar2 varchar2(100);
5 begin
6 execute immediate 'ALTER SYSTEM KILL SESSION '''
7 || v_sid || ',' || v_serial || '''';
8 end;
9 /
Procedure created.
SQL> select username, sid, serial# from v$session;
USERNAME SID SERIAL#
147 5078
SYS 148 6161
151 6769
156 1
158 1
159 1
REPOS_OWNER 161 14502
163 1
164 1
165 1
166 1
USERNAME SID SERIAL#
167 1
168 1
169 1
170 1
15 rows selected.
SQL>
SQL> exec kill_session(161,14502);
PL/SQL procedure successfully completed.
SQL>Joel Pérez
http://otn.oracle.com/experts -
Kill session permission without alter system permission?
Syntax to kill session is
ALTER SYSTEM KILL SESSION 'session info';
Is there a way to allow a user to kill his/her own session without granting rights to SYSTEM? I don't want anyone to be able to drop the database, but they need to be able to kill their own session. I've looked everywhere...
Thanks in advance!Yes, assuming you are using standard definer's rights stored procedures. Only if you specify AUTHID CURRENT_USER when creating the stored procedure will you get an invoker's rights stored procedure, which would run with the privileges of the caller, not of the definer.
Justin -
To kill session in one schema from another schema
Hi Team,
I got a problem like a table from one of my schema has been locked. I am getting 'ORA-00054: resource busy and acquire with NOWAIT specified' error when trying to delete rows from that table or even when trying to truncate that table.
Let the table be 'T1' present in schema 'VIEW'
I tried to kill the session which is active for that schema by below query
select sid,serial#,status from v$session where username='VIEW' and STATUS = 'ACTIVE';
alter system kill session '681,2586';
But i couldn't do the above as i don't have DBA privilege for that. But i have DBA privilege for another schema let it be 'ADMIN'
Now how can i kill the session in schema 'VIEW' from schema 'ADMIN'
can any one get me solution.
Thanks in Advance
11081985I got a problem like a table from one of my schema has been locked. I am getting 'ORA-00054: resource busy and acquire with NOWAIT specified' error when trying to delete rows from that table or even when trying to truncate that table.
Before you do anything why don't you actually find out WHY that table has been locked.
You generally should NOT be killing sessions without knowing what is causing the problem to begin with.
Then you also need to determine if you should use KILL SESSION or instead use DISCONNECT SESSION and well as whether the use of IMMEDIATE is appropriate.
Each of those choices acts differently. Many people use KILL when they should really use DISCONNECT.
See DISCONNECT SESSION Clause and KILL SESSION Clause in the ALTER SESSION chapter of the SQL Language doc
http://docs.oracle.com/cd/E11882_01/server.112/e17118/statements_2014.htm#i2282145 -
Abend while executing alter system kill session command
I have a ML350 G3 Hp server(Xeon 2.4 Ghz) running oracle 8.1.5 on Novell 5.1. Frequently i have locking problems in my software. So when i tried to kill the active session using alter system kill session 'sid, serial#' my server produce following error:
Fatal Exception (Number 14, cause abend: Page fault running process: orcl_000000fe code executing in module core81.nlm v8.1d at offset +6c490h). Any suggestions.This forum is for posting feedback about the OTN site.
The best place for your question is probably a Database forum.
There is a list of Database forums here:
http://forums.oracle.com/forums/index.jsp?cat=18 -
Regarding Alter System Kill Session
Hi Guys,
I have to do db refresh from the build .For this I have to kill the sessions and drop the users and recreate the users with the latest build.As the application is running and there are some idle sessions, I have to kill the sessions and drop the users for that I am using a code as below
DECLARE
v_alt_stmt VARCHAR2(1000) := 'ALTER SYSTEM KILL SESSION ''';
v_kill_stmt VARCHAR2(1000);
CURSOR cur_session IS
SELECT s.type type,
s.sid sid,
s.serial# srl_no,
s.username user_name,
s.PROGRAM prog_name
FROM v$session s JOIN gv$process p ON p.addr = s.paddr and s.type='USER';
BEGIN
EXECUTE IMMEDIATE 'ALTER SYSTEM ENABLE RESTRICTED SESSION';
DBMS_OUTPUT.PUT_LINE('The Session has been put in the restricted mode');
FOR v_cur_ssn IN cur_session
LOOP
BEGIN
v_kill_stmt := v_alt_stmt || v_cur_ssn.sid || ',' || v_cur_ssn.srl_no || '''';
DBMS_OUTPUT.PUT_LINE(v_kill_stmt);
EXECUTE IMMEDIATE v_kill_stmt;
EXCEPTION
WHEN others THEN
-- DBMS_OUTPUT.PUT_LINE('The current sessions sid is ' || v_cur_ssn.sid || ' and the srl no is ' || v_cur_ssn.srl_no || ' can not be killed');
END;
END LOOP;
EXECUTE IMMEDIATE 'ALTER SYSTEM DISABLE RESTRICTED SESSION';
DBMS_OUTPUT.PUT_LINE('The restricted mode of the system has been removed');
END;
But sometimes after killing the sessions there are some os processes are going on,to avoid that I have to use 'ALTER SYSTEM DISCONNECT SESSION ''' and 'MMEDIATE' it is workig fine .
Can Any one tell me the logical difference between kill sessions and disconnect
Any information will be highly appreciated.
Thanks in advance
Prafulla>
Can Any one tell me the logical difference between kill sessions and disconnect
>
Disconnect can be used to disconnect immediately without waiting for any ongoing transactions to complete and recovers all session resousrces.
Kill rolls back ongoing transactions and partially recovers session resources.
Kill is simiilar to SHUTDOWN IMMEDIATE while disconnect is more like SHUTDOWN ABORT.
See DISCONNECT SESSION Clause in the SQL Language doc
http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_2013.htm
>
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.
>
And KILL SESSION in the same doc next section
>
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. -
Alter system kill session always gives ORA-00030
Hello
Im writing a tool for oracle and one of its features requires killing user session (Im connecting with JDBC). The database Im testing on is 11.2.0.2.
I find the sid and the serial# without problems, than I issue the "alter system kill session 'x,y' immediate" command.
So far so good, but I always get an ORA-00030 error saying this session cannot be found.
I double check and the session does exist in the database.
Because I want the tool to make the kill, killing via the OS is not an option.
Its doesn't look like a permission problem because it gives the same error even when connected as system.
Whats wrong ? does this kill command work at all ? Whats its limitations ?
Thanks
Guy Shilo
Edited by: user13266377 on Jun 9, 2011 1:15 AMuser13266377 wrote:
Hello
Im writing a tool for oracle and one of its features requires killing user session (Im connecting with JDBC). The database Im testing on is 11.2.0.2.
I find the sid and the serial# without problems, than I issue the "alter system kill session 'x,y' immediate" command.
So far so good, but I always get an ORA-00030 error saying this session cannot be found.
I double check and the session does exist in the database.
Because I want the tool to make the kill, killing via the OS is not an option.
Its doesn't look like a permission problem because it gives the same error even when connected as system.
Whats wrong ? does this kill command work at all ? Whats its limitations ?
Thanks
Guy Shilo
Edited by: user13266377 on Jun 9, 2011 1:15 AMyou cannot kill the session already killed or disconnected from the session.
refer the link:- this may help you to write scripts to kill session using dbms_scheduler
Grant restricted and kill sessions. -
Alter System Kill Session Not Working
I'm not certain as to what the problem may be, but the following code does not work in that the session is not being disconnected.
The attempt is to have this trigger kill a user's logon session if the user is attempting to run a program named 'ex_oc.exe'
I've tested the code (getting the values back to the table as expected) and it appears to be working but it doesn't execute.
I've also tried ''ALTER SYSTEM DISCONNECT SESSION'.
Database is 11g.
Any ideas?
Thanks
CREATE OR REPLACE TRIGGER SYS.DENY_MSB_TRIGGER_UPDATEDD
AFTER LOGON ON Database
DECLARE
v_programname varchar2(64);
v_logontime date;
v_process varchar2(24);
v_machine varchar2(64);
v_sid number;
v_serialnum number;
v_username varchar2(30);
v_stmt2run VARCHAR2(327);
cur INTEGER;
ret INTEGER;
v_string VARCHAR2(500);
BEGIN
SELECT PROGRAM, PROCESS, MACHINE, SID, SERIAL#, USERNAME
INTO v_programname, v_process, v_machine, v_sid, v_serialnum, v_username
FROM V$SESSION
WHERE PROGRAM = LOWER('ex_oc.exe');
INSERT INTO SAUDIT.DENYMSB (PROGRAM, PROCESS, MACHINE, SID, SERIALNUM, USERNAME)
VALUES (v_programname, v_process, v_machine, v_sid, v_serialnum, v_username );
v_string := 'ALTER SYSTEM KILL SESSION' || CHR(39)||v_sid||','||v_serialnum|| CHR(39)||' IMMEDIATE';
EXECUTE IMMEDIATE v_string;
END;
Edited by: user12451703 on Jan 14, 2010 8:57 AM
Edited by: user12451703 on Jan 14, 2010 8:58 AMuser12451703 wrote:
I'm not trying to kill my own session.
Trigger written by Sys and running it as a generic user.You completely misunderstand triggers. Same as SP/SF trigger is always executed in invoking session on behalf of trigger owner. Below is a slighly modified version of your trigger that does not allow user U1 to connect by killing user U1 session:
SQL> connect scott as sysdba
Enter password: *****
Connected.
SQL> CREATE OR REPLACE TRIGGER SYS.DENY_MSB_TRIGGER_UPDATEDD
2 AFTER LOGON ON Database
3 DECLARE
4 v_programname varchar2(64);
5 v_logontime date;
6 v_process varchar2(24);
7 v_machine varchar2(64);
8 v_sid number;
9 v_serialnum number;
10 v_username varchar2(30);
11 v_stmt2run VARCHAR2(327);
12 cur INTEGER;
13 ret INTEGER;
14 v_string VARCHAR2(500);
15 BEGIN
16 SELECT PROGRAM, PROCESS, MACHINE, SID, SERIAL#, USERNAME
17 INTO v_programname, v_process, v_machine, v_sid, v_serialnum, v_username
18 FROM V$SESSION where username = 'U1';
19 EXECUTE IMMEDIATE ('ALTER SYSTEM KILL SESSION ''' || v_sid || ',' || v_serialnum || '''');
20 EXCEPTION
21 WHEN OTHERS THEN
22 RAISE_APPLICATION_ERROR(-20001, 'Execution of this program not allowed', TRUE);
23 END;
24 /
Trigger created.
SQL> create user u1 identified by u1
2 /
User created.
SQL> grant create session to u1
2 /
Grant succeeded.
SQL> connect u1/u1
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-20001: Execution of this program not allowed
ORA-06512: at line 20
<font color=red size =2>ORA-00027: cannot kill current session</font>
Warning: You are no longer connected to ORACLE.
SQL>
Also, user not that keen to change the name of the exe.Is cex_soc.exe client side executable? If so what prevents user from renaming it?
SY.
Maybe you are looking for
-
When I double click on thunderbird to open my mail program, I get 2 mail home pages in succession. When I close one of them, both close.
-
MacBook Pro update at startup not working properly rendering MacBook unusable.
My MacBook Pro loads an update at the grey screen then shuts off. When it turns back on it attempts to finish loading the update again. Is there a way to stop this update from happening at the startup screen at this time?
-
Why can't show result in JSTL?
I use Tomcat5.0 . The resulting output of the preceding code fragment is $9,000 ,but it show nothing in IE. Why? <%@ taglib uri='http://java.sun.com/jstl/fmt' prefix='fmt'%> <c:set var='originalMonetaryAmount' value='$10,000'/> <fmt:parseNumber value
-
Hi, I was creating the customize form in EBS version 11.5.9 of CUSTOMER CREATIION. Now i am transfer it R12. During the transfer of data using API I get an error message which mentioned below. ERROR The operating unit is either invalid or it cannot b
-
Is there a reason why I pay $150 a month for Internet that barley ever works? My speed I'm currently getting is 300kbps... I've reset a thousand times also its house wide. Perhaps it's the all in one router modem you gave me that's most likely refe