What Happens to the Current Transaction If the Session Is Killed?
Page 1 of 1
What Happens to the Current Transaction If the Session Is Killed?
If a session is killed by the DBA, the current transaction in that session will be rolled back and
ended. All the database changes made in the current transaction will be removed. This is called
an implicit rollback when session is killed. The following tutorial exercise shows you that the DBA
KILL SESSION command forces the current transaction to be rolled back with all the changes
uncommitted.
SQL> connect HR/fyicenter
SQL> SELECT * FROM fyi_links;
ID URL NOTES COUNTS CREATED
---------- ---------------- ---------------- ---------- ---------
101 FYICENTER.COM 07-MAY-06
110 CENTERFYI.COM 07-MAY-06
112 oracle.com 07-MAY-06
113 sql.com 07-MAY-06
SQL> DELETE FROM fyi_links where id = 112;
1 row deleted.
SQL> DELETE FROM fyi_links where id = 113;
1 row deleted.
SQL> SELECT * FROM fyi_links;
ID URL NOTES COUNTS CREATED
---------- ---------------- ---------------- ---------- ---------
101 FYICENTER.COM 07-MAY-06
110 CENTERFYI.COM 07-MAY-06
Keep the "HR" SQL*Plus window as is, and open another window to run another instance of
SQL*Plus.
>cd (OracleXE home directory)
>.\bin\sqlplus /nolog
SQL> connect SYSTEM/password
Connected.
SQL> SELECT sid, serial#, username, status, type from V$SESSION
WHERE username = 'HR';
SID SERIAL# USERNAME STATUS TYPE
---------- ---------- ------------------ -------- ----------
39 141 HR INACTIVE USER
SQL> ALTER SYSTEM KILL SESSION '39,141';
System altered.
Go back to the "HR" SQL*Plus window.
SQL> SELECT * FROM fyi_links;
ORA-00028: your session has been killed
SQL> connect HR/fyicenter
SQL> SELECT * FROM fyi_links;
ID URL NOTES COUNTS CREATED
---------- ---------------- ---------------- ---------- ---------
101 FYICENTER.COM 07-MAY-06
110 CENTERFYI.COM 07-MAY-06
112 oracle.com 07-MAY-06
113 sql.com 07-MAY-06
As you can see, two records were rolled back as the session got killed by another session.
ended. All the database changes made in the current transaction will be removed. This is called
an implicit rollback when session is killed. The following tutorial exercise shows you that the DBA
KILL SESSION command forces the current transaction to be rolled back with all the changes
uncommitted.
SQL> connect HR/fyicenter
SQL> SELECT * FROM fyi_links;
ID URL NOTES COUNTS CREATED
---------- ---------------- ---------------- ---------- ---------
101 FYICENTER.COM 07-MAY-06
110 CENTERFYI.COM 07-MAY-06
112 oracle.com 07-MAY-06
113 sql.com 07-MAY-06
SQL> DELETE FROM fyi_links where id = 112;
1 row deleted.
SQL> DELETE FROM fyi_links where id = 113;
1 row deleted.
SQL> SELECT * FROM fyi_links;
ID URL NOTES COUNTS CREATED
---------- ---------------- ---------------- ---------- ---------
101 FYICENTER.COM 07-MAY-06
110 CENTERFYI.COM 07-MAY-06
Keep the "HR" SQL*Plus window as is, and open another window to run another instance of
SQL*Plus.
>cd (OracleXE home directory)
>.\bin\sqlplus /nolog
SQL> connect SYSTEM/password
Connected.
SQL> SELECT sid, serial#, username, status, type from V$SESSION
WHERE username = 'HR';
SID SERIAL# USERNAME STATUS TYPE
---------- ---------- ------------------ -------- ----------
39 141 HR INACTIVE USER
SQL> ALTER SYSTEM KILL SESSION '39,141';
System altered.
Go back to the "HR" SQL*Plus window.
SQL> SELECT * FROM fyi_links;
ORA-00028: your session has been killed
SQL> connect HR/fyicenter
SQL> SELECT * FROM fyi_links;
ID URL NOTES COUNTS CREATED
---------- ---------------- ---------------- ---------- ---------
101 FYICENTER.COM 07-MAY-06
110 CENTERFYI.COM 07-MAY-06
112 oracle.com 07-MAY-06
113 sql.com 07-MAY-06
As you can see, two records were rolled back as the session got killed by another session.
Similar topics
» What Happens to the Current Transaction If the Session Is Ended?
» How To End the Current Transaction?
» How To Commit the Current Transaction?
» How To Rollback the Current Transaction?
» What Happens to the Current Transaction If a DDL Statement Is Executed?
» How To End the Current Transaction?
» How To Commit the Current Transaction?
» How To Rollback the Current Transaction?
» What Happens to the Current Transaction If a DDL Statement Is Executed?
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
Sun Jan 31, 2010 12:35 am by Micheal
» Accessing tables of other users in SQL
Sun Jan 31, 2010 12:34 am by Micheal
» Grouping commands in SQL
Sun Jan 31, 2010 12:32 am by Micheal
» Operations on Result Sets in SQL
Sun Jan 31, 2010 12:31 am by Micheal
» Subqueries in SQL
Sun Jan 31, 2010 12:30 am by Micheal
» Joining Relations in SQL
Sun Jan 31, 2010 12:28 am by Micheal
» Delete comand in SQL
Sun Jan 31, 2010 12:27 am by Micheal
» Update command in SQL
Sun Jan 31, 2010 12:26 am by Micheal
» Insert command in SQL
Sun Jan 31, 2010 12:23 am by Micheal