【oracle】数据并发管理

版权声明:原创手打 转载请注明来源 https://blog.csdn.net/qq_42774325/article/details/81948371
  1. 打开两个会话,修改同一条数据
    会话1
    conn hr/hr
    update employees set salary=20000 where employee_id=206;
    这里数据修改成功但没有提交
     
    会话2
    conn hr/hr
    update employees set salary=10000 where employee_id=206;
     
    这里卡住了,因为会话一正在修改这条数据
     
  2. 查看有冲突的会话
    可以再开一个会话
    select sid,serial#,username
    from v$session
    where sid in (select blocking_session from v$session);
     
     
  3. 杀掉有冲突的会话
    alter system kill session ‘30,24369’ immediate;
    这里的数字是刚才查询到的sid和serial#
     
     
  4. 此时会看两个会话
    会话2:
    会话2的数据操作已经成功
     
    会话1:
    而会话1这边已经和数据库断开连接
     
     
     
     

猜你喜欢

转载自blog.csdn.net/qq_42774325/article/details/81948371