Basic Oracle Concepts and Programming Question:

What Happens to the Current Transaction If the Session Is Killed?

Tweet Share WhatsApp

Answers:

Answer #1If 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/globalguideline

SQL> SELECT * FROM ggl_links;
<pre> ID URL NOTES COUNTS CREATED
------- ---------------- ---------- ---------- ---------
101 globalguideline.COM 07-MAY-06
110 globalguideline.COM 07-MAY-06
112 oracle.com 07-MAY-06
113 sql.com 07-MAY-06</pre>
SQL> DELETE FROM ggl_links where id = 112;
1 row deleted.

SQL> DELETE FROM ggl_links where id = 113;
1 row deleted.

SQL> SELECT * FROM ggl_links;
<pre> ID URL NOTES COUNTS CREATED
------- ---------------- ---------- ---------- ---------
101 globalguideline.COM 07-MAY-06
110 globalguideline.COM 07-MAY-06</pre>

Answer #2Keep the "HR" SQL*Plus window as is, and open another window to run another instance of SQL*Plus.

>cd (OracleXE home directory)
>.insqlplus /nolog

SQL> connect SYSTEM/password
Connected.

SQL> SELECT sid, serial#, username, status, type
2 FROM V$SESSION WHERE username = 'HR';
<pre> SID SERIAL# USERNAME STATUS TYPE
---------- ---------- ------------------ -------- -----
39 141 HR INACTIVE USER</pre>
SQL> ALTER SYSTEM KILL SESSION '39,141';
System altered.

Go back to the "HR" SQL*Plus window.

SQL> SELECT * FROM ggl_links;
ORA-00028: your session has been killed

SQL> connect HR/globalguideline

SQL> SELECT * FROM ggl_links;
<pre> ID URL NOTES COUNTS CREATED
------- ---------------- ---------- ---------- ---------
101 globalguideline.COM 07-MAY-06
110 globalguideline.COM 07-MAY-06
112 oracle.com 07-MAY-06
113 sql.com 07-MAY-06</pre>
As you can see, two records were rolled back as the session got killed by another session.

Download Oracle Database PDF Read All 430 Oracle Database Questions
Previous QuestionNext Question
What Happens to the Current Transaction If the Session Is Ended?How Does Oracle Handle Read Consistency?