oracle数据库中的锁
来源:互联网 发布:最好的网络摄像头 编辑:程序博客网 时间:2024/03/29 21:48
Oracle中的锁:
锁是数据库用来控制共享资源并发访问的机制。锁用于保护正在被修改的数据直到提交或回滚了事务之后,其他用户才可以更新数据。
锁的特性:
一致性:一次只允许一个用户修改数据
完整性:为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户
并行性:允许多个用户访问同一数据
----------------------------------------------常见的各种锁---------------------------------------------------------------
行级锁:对正在被修改的行进行锁定,其他用户可以访问除被锁定的行以外的行。
在使用insert,delete,update,select…for upadte语句时,Oracle会自动应用行级锁。Select…for update语句允许用户一次锁定多条记录进行更新,可以限制用户等待的时间及防止无限期等待,用户必须通过commit或rollback语句释放锁。
表级锁:将整个表锁定,Lock table 表名 in share mode;
< 1> 分布式事务被锁:
select * from dba_2pc_pending; --查询dba_2pc_pending表中state字段是否为forced commit或forced rollback,若不是则有问题
解决:
commit force '11.8.207';
commit force '9.1.26836';
<2> oracle数据库用户解锁:
alter user yy0a account unlock;
alter profile default limit failed_login_attempts unlimited; ----把 YY0A 锁用户的次数修改为 unlimit
<3> Oracle数据库表被锁
SELECT a.username,decode(b.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL) LOCK_LEVEL,
c.owner,c.object_name,c.object_type,
a.sid,a.serial#,a.terminal,a.machine,a.program,a.osuser
FROM v$session a,v$lock b,dba_objects c
WHERE b.sid = a.sid
AND b.id1 = c.object_id(+)
AND a.username is NOT Null; ---查询被锁的表
SELECT /*+ rule */
s.username,
decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
o.owner,
o.object_name,
o.object_type,
s.sid,
s.serial#,
s.terminal,
s.machine,
s.program,
s.osuser,
s.sid, s.serial#,
'alter system kill session' || '''' ||s.sid||','||s.serial#||'''' ||';'
FROM v$session s, v$lock l, dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL;
解决一:
alter system kill session 'sid,serial#';
解决二:
oracle_11g才适用:
alter session set ddl_lock_timeout = 600;
或
alter system set ddl_lock_timeout = 600; ---这种方法是设置系统或会话的锁定时间
- Oracle数据库中的锁
- oracle数据库中的锁
- 处理ORACLE数据库中的锁
- 处理ORACLE数据库中的锁
- Oracle 数据库中的锁 处理
- Oracle数据库中的锁机制
- Oracle数据库中的锁机制
- Oracle数据库中的锁机制
- Oracle数据库中的锁机制
- oracle 数据库中的锁机制研究
- Oracle数据库中的锁机制研究
- Oracle数据库中的锁机制研究
- Oracle数据库中的“锁”学习小结
- Oracle数据库中的“锁”学习小结
- Oracle数据库中的锁机制研究
- 【转】 Oracle数据库中的锁机制研究
- Oracle数据库中的“锁”学习小结
- Oracle/MYSQL数据库中的锁机制研究
- Tomcat 8(四)server.xml的Cluster标签详解
- JS正则表达式大全
- 数值计算方法程序库
- 创建主窗口
- MCU锁相环简述(一)
- oracle数据库中的锁
- 读《创造高收益的阿米巴模式》理解阿米巴的核心
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- AWR报告分析(一)
- 解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题
- The specified executable is not a validapplication for this OS platform.
- [ACM] hdu 2068 RPG的错排 (逆向思考,错排*组合累加)
- linux c线程池
- AWR生成报告