I get insufficient privileges error when executing a procedure inside a package, even though appropriate access has been granted.
CREATE OR REPLACE PACKAGE DEVELOPER.DDL_PACKS
AS
PROCEDURE disbcons
AS
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE TESTER.ADDRESS DISABLE CONSTRAINT PK4';
END;
END;
GRANT ALTER ON TESTER.ADDRESS TO DEVELOPER;
EXEC developer.ddl.disbcons
EDIT:
I tried adding AUTHID DEFINER
in package header. But still i get the ORA-01031:insufficient privileges
error when executed with DEVELOPER
. user
Execution works good if i add AUTHID CURRENT_USER
and execute with the same DEVELOPER
user. I do not understand why oracle does not consider relevant access when executed with AUTHID DEFINER