導致鎖定的幾種情況 :
1. users who do not regularly commit changes
2. developers who code unnecessarily long transactions
3. developers use unnecessarily high locking levels.
鎖死的解決:
1.Oracle 自動檢測deadlock 並通過回滾檢測出的deadlock 的語句來解決鎖死.
2.查出DeadLock ,执行以下语句将该进程进行清除:
alter system kill session 'sid, serial#';
几個SQL語句:
1.跳過被鎖的那筆資料:
select * from table t for update NOWAIT SKIP LOCKED;
2.查看哪個Table的資料在被鎖定中:
select t2.sid, t2.serial#, t4.spid, t2.username, t3.object_name
from v$locked_object t1, v$session t2, all_objects t3, v$process t4
where t1.session_id = t2.sid
and t1.object_id = t3.object_id
and t2.paddr = t4.addr
order by t2.logon_time;
3.查看引起鎖定的sql語句(insert,update,select for update 等等).
select /*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */
a.username,
a.machine,
a.sid,
a.serial#,
a.last_call_et "Seconds",
b.id1,
c.sql_text "SQL"
from v$session a, v$lock b, v$sqltext c
where a.username is not null
and a.lockwait = b.kaddr
and c.hash_value = a.sql_hash_value;
分享到:
相关推荐
Oracle事务与锁定Oracle事务与锁定Oracle事务与锁定
自己在linux 下处理oracle 用户锁定的操作记录,希望能方便有需要的人。
oracle 用户被锁定解锁方法
Oracle密码过期与锁定的设置
查找oracle锁定脚本 select nvl(S.USERNAME,'Internal') username, nvl(S.TERMINAL,'None') terminal, L.SID||','||S.SERIAL# Kill, U1.NAME||'.'||substr(T1.NAME,1,20) tab, decode(L.LMODE,1,'No Lock', 2,...
对ORACLE锁定机制的详细讲解 以及代码示范
查看oracle数据库的连接数以及用户 1、查询oracle的连接数 2、查询oracle的并发连接数 3、查看不同用户的连接数 4、查看所有用户: 5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限): 6、...
解决Oracle 11g中scott用户默认被锁定的问题
Oracle恢复误删除数据,解除锁定的等SQL语句,是真正的好东西。
Oracle_10g中关于如何修改被锁定的scott用户的方法
oracle修改锁定用户 ORACLE 中修改用户密码的方法 用OS认证方式登陆,即是CONNECT / AS SYSDBA 登陆,然后修改密码就是了 ALTER USER SYS IDENTIFIED BY **** ALTER USER SYSTEM IDENTIFIED BY ****
关于解锁用户、修改密码以及锁定用户.关于这个命令的安全性:”connect /as sysdba”
SQLServer和Oracle防止数据锁定的比较 .txt
查询oracle正在运行的sql和锁定的表
1.下载资源oracle-instantclient-windows.x64-19.3.0.0.0dbru 解压自己存储盘符 例如:d:\instantclient_19_3 2.设置PLSQL Developer 连接菜单下 Oracle 主目录名:d:\instantclient_19_3 OCI库:d:\instantclient_...
ORACLE 如何查询被锁定表及如何解锁释放session
64位windows系统机器 安装oracle客户端 内涵oracle客户端压缩包
ora-00031:session marked for kill处理oracle中杀不掉的锁一些ORACLE中的进程被杀掉后,状态被置为”killed”,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那...
oracle数据库闩锁锁定与并发专题