解锁Oracle表

Ali*_*786 5 mysql oracle session locking

解锁oracle表有哪些不同的技术?

我试过了。

  1. 获取锁定表的对象ID:

    从dba_objects中选择object_id,其中object_name ='YOUR TABLE NAME';

  2. 获取此ID的SID值:

    从v $ lock中选择sid,其中id1 =来自STEP1的对象ID

  3. 获取这些SID的会话值:

    从v $ session中选择sid,序列号,其中sid在其中(STEP2中以逗号分隔的SID列表)。

  4. 杀死导致锁定的会话:

    ALTER SYSTEM KILL SESSION(SID,序列号)

步骤3中的配对值,例如 ALTER SYSTEM KILL SESSION '231,23454'

但是问题是我有很多已被锁定的表,还有其他任何方法可以用来解锁表。

我正在使用SQLDeveloper解锁吗?

小智 5

选项1:

好吧,一种选择是回滚锁定的SQL语句。例如

lock table table1 in exclusive mode;  -- is what you should've used to lock the table.
Run Code Online (Sandbox Code Playgroud)

解锁:回滚;

选项2:

查找用户名和sid:

select * from v$locked_object;
Run Code Online (Sandbox Code Playgroud)

要使用sid查找序列号:

select * from v$session where sid= put the sid you found on v$locked_object;
Run Code Online (Sandbox Code Playgroud)

终止会话:

alter system kill session 'sid, serial#'; -- Execute this command as sysdba as normal user won't have privilege. 
Run Code Online (Sandbox Code Playgroud)

  • Oracle 会在一段时间后自动解锁对象吗? (2认同)