文档解释
ORA-07484: snlkput: cannot convert(put) lock.
Cause: lm_convert failed to put lock value.
Action: Check result code in sercerrno. Possible lock manager failure.
此 ORA-07484 错误消息指示,当 Oracle 企图使用 SLEEP 功能将锁定转化为某种形式的共享锁(例如,共享资源锁或事务锁)时发生错误。
官方解释
ORA-07484表明,当Oracle试图将锁转换成某种形式的共享锁(比如,事务型共享锁或当前资源型共享锁)时出现了错误。
常见案例
此错误通常发生在三种情况下:
1. 在空间不够的情况下分配 kgl(内存锁)用量
2. 在CPU负载工作时,多个用户正在竞争正在锁定的资源
3. 使用 ORADEBUG SETOSPID 命令从外部来更改进程号
正常处理方法及步骤
1. 如果系统已达到最大 kgl 分配量,则应释放其他 kgl 池资源以确保有充分的内存空间可供分配。
2. 如果用户会话大量竞争有限的资源,则有必要调整资源冲突,让相关会话可以使用率内存资源。
3. 使用ORADEBUG SETOSPID命令慎重,如果需要启动其他会话,可以使用ALTER SYSTEM KILL SESSION命令来标记僵死的会话。