LOCK TABLE命令时对oracle 8i的权限不足

时间:2015-03-03 22:11:32

标签: oracle locking oracle8i

我有一个包,我需要在桌子上放锁。

我在主要proc的开头使用以下语句。

PROCEDURE proc_main IS
BEGIN

-- added by praphul to test locking 

        EXECUTE IMMEDIATE 'LOCK TABLE schema.XYZ IN EXCLUSIVE MODE NOWAIT';

获取以下错误:

SQL> exec ssss.abcd.proc_main();
BEGIN ssss.abcd.proc_main(); END;

*
ERROR at line 1:
ORA-20001: ERROR OCCURED AT STEP:500
REASON: abcd FAILED
SQLCODE: -1031
SYS-MSG: ORA-01031: insufficient privileges
ORA-06512: at "ssss.PROC_ERROR_RAISE", line 31
ORA-06512: at "ssss.abcd", line 156
ORA-06512: at line 1

1 个答案:

答案 0 :(得分:1)

要成功锁定表,它必须位于您登录的同一模式中,或者您必须具有LOCK ANY TABLE权限,或者必须为相关表授予任何对象权限。显然,ssss用户尚未在schema.XYZ上被授予适当的权限。和你谈谈DBA。

祝你好运。