How To Experiment a Data Lock in Oracle?
Submitted by: AdministratorIf you want to have some experience with data locks, you can create two windows runing two SQL*Plus sessions. In session 1, you can run a UPDATE statements to create a data lock. Before committing session 2, switch to session 2, and run a UPDATE statements on the same row as session 1. The UPDATE statement will be put into wait status because of the data lock. Follow the tutorial exercise below to experience yourself:
(session 1)
SQL> connect HR/globalguideline
SQL> SET TRANSACTION
ISOLATION LEVEL
READ COMMITTED;
Transaction set.
SQL> SELECT * FROM ggl_links;
ID URL NOTES
--- ---------------- --------
101 globalguideline.COM
110 globalguideline.COM
SQL> UPDATE ggl_links
SET url='globalguideline.com'
WHERE id=101;
1 row updated.
(lock created on row id=101)
Submitted by: Administrator
(session 1)
SQL> connect HR/globalguideline
SQL> SET TRANSACTION
ISOLATION LEVEL
READ COMMITTED;
Transaction set.
SQL> SELECT * FROM ggl_links;
ID URL NOTES
--- ---------------- --------
101 globalguideline.COM
110 globalguideline.COM
SQL> UPDATE ggl_links
SET url='globalguideline.com'
WHERE id=101;
1 row updated.
(lock created on row id=101)
Submitted by: Administrator
(session 2)
SQL> connect HR/globalguideline
SQL> SET TRANSACTION
ISOLATION LEVEL
READ COMMITTED;
Transaction set.
SQL> UPDATE ggl_links SET
notes='FAQ Resource'
WHERE id=101;
(wait on lock at id=101)
SQL> COMMIT;
(lock on row id=101 released)
(ready to run UPDATE)
1 row updated.
SQL> SELECT * FROM ggl_links;
ID URL NOTES
--- ---------------- --------
101 globalguideline.com
110 globalguideline.COM
SQL> COMMIT;
SQL> SELECT * FROM ggl_links;
ID URL NOTES
--- ---------------- ------------
101 globalguideline.com FAQ Resource
110 globalguideline.COM
Submitted by: Administrator
SQL> connect HR/globalguideline
SQL> SET TRANSACTION
ISOLATION LEVEL
READ COMMITTED;
Transaction set.
SQL> UPDATE ggl_links SET
notes='FAQ Resource'
WHERE id=101;
(wait on lock at id=101)
SQL> COMMIT;
(lock on row id=101 released)
(ready to run UPDATE)
1 row updated.
SQL> SELECT * FROM ggl_links;
ID URL NOTES
--- ---------------- --------
101 globalguideline.com
110 globalguideline.COM
SQL> COMMIT;
SQL> SELECT * FROM ggl_links;
ID URL NOTES
--- ---------------- ------------
101 globalguideline.com FAQ Resource
110 globalguideline.COM
Submitted by: Administrator
Read Online Oracle Database Job Interview Questions And Answers
Top Oracle Database Questions
☺ | How To Write Date and Time Interval Literals in Oracle? |
☺ | What Is Input Buffer in SQL*Plus? |
☺ | How To Recover a Dropped Table in Oracle? |
☺ | How To Use Values from Other Tables in UPDATE Statements using Oracle? |
☺ | How To Invoke the Data Pump Import Utility? |
Top DB Oracle Categories
☺ | Oracle PL-SQL Interview Questions. |
☺ | Oracle DBA Interview Questions. |
☺ | Oracle D2K Interview Questions. |
☺ | OCI Interview Questions. |
☺ | Oracle RMAN Interview Questions. |