一、锁的认识
加锁是实现数据库并发控制的一个非常重要的技术。Oracle 利用其锁机制来实现事务间的数据并发访问,以确保数据并发性、数据完整性和语句级读取一致性。
二、锁的分类
1、按系统划分,分为显式锁和隐式锁
(1)显式锁(Manual Data Locking)
Oracle数据库总是自动执行锁定,如果应用程序在事务期间需要数据保存一致,不反映其他事务的更改,可以通过显示锁定的方式重写默认锁定来实现。可以使用以下方式实现显式锁定:
- SET TRANSACTION ISOLATION LEVEL
通过设置事务隔离级别来实现显式锁,具体语法如下
SET TRANSACTION [ READ ONLY | READ WRITE ]
[ ISOLATION LEVEL [ SERIALIZE | READ COMMITED ]
[ USE ROLLBACK SEGMENT 'segment_name' ]
[ NAME 'transaction_name' ];
例如设置名字为lu_example的事务隔离级别为读写
SET TRANSACTION