1Z0-116 · Question #9
Examine these commands and responses: Which object privilege must be granted to allow execution of the stored procedure?
The correct answer is A. grant EXECUTE ON MARY.PBOC2 Co U1. Granting EXECUTE ON MARY.PROC2 TO U1 is correct because EXECUTE is the specific object privilege required to allow a user to run a stored procedure owned by another schema. The syntax follows the pattern GRANT EXECUTE ON owner.object TO grantee, which directly enables U1 to…
Question
Examine these commands and responses:
Which object privilege must be granted to allow execution of the stored procedure?
Exhibit
Options
- Agrant EXECUTE ON MARY.PBOC2 Co U1;
- Bgrant INHERIT PRIVILEGES ON USER U1 TO MARY;
- Cgrant INHERIT PRIVILEGES ON USER MARY TO Ul ;
- Dgrant EXECUTE ON Ul.PROC2 TO MARY;
How the community answered
(36 responses)- A72% (26)
- B3% (1)
- C8% (3)
- D17% (6)
Explanation
Granting EXECUTE ON MARY.PROC2 TO U1 is correct because EXECUTE is the specific object privilege required to allow a user to run a stored procedure owned by another schema. The syntax follows the pattern GRANT EXECUTE ON owner.object TO grantee, which directly enables U1 to invoke MARY's procedure.
Why the distractors are wrong:
- Option D reverses the direction - it grants EXECUTE on U1's procedure to MARY, which is the opposite of what's needed.
- Options B & C use
INHERIT PRIVILEGES, which is an Oracle-specific privilege controlling how invoker's-rights procedures inherit the caller's privileges at runtime - it has nothing to do with granting basic execution rights on a stored procedure.
Memory tip: Think of it as granting the action you want the user to perform - if you want someone to execute a procedure, grant them EXECUTE. The owner's name prefixes the object (MARY.PROC2), and the recipient follows TO. If the owner and grantee are swapped, the privilege goes the wrong direction.
Topics
Community Discussion
No community discussion yet for this question.
