Oracle Database 11g: Program with PL/SQL — Question 45
Consider the following scenario:
Local procedure a calls remote procedure B.
Procedure A was compiled at 8 AM.
Procedure A was modified and recompiled at 9 AM.
Remote procedure B was later modified and recompiled at 11 AM.
The dependency mode is set to timestamp.
Which statement correctly describes what happens when procedure A is invoked at 1 PM?
Answer options
- A. Procedure A is invalidated and recompiled immediately.
- B. There is no effect on procedure A and it runs successfully.
- C. Procedure B is invalidated and recompiled again when invoked.
- D. Procedure A is invalidated and recompiles when invoked the next time.
Correct answer: D
Explanation
The correct answer is D because Procedure A becomes invalidated after its modification at 9 AM, and it will not recompile until the next time it is invoked. Option A is incorrect as it suggests immediate recompilation, while option B implies no effect, which is not the case. Option C incorrectly focuses on Procedure B, which does not impact the invocation of Procedure A directly.