Examine the following code:
Which two statements are true about the above function? (Choose two.)
A. It can be used only in a parallelized query.
B. It can be used in both a parallelized query and a parallelized DML statement.
C. It can be used only in a parallelized data manipulation language (DML) statement.
D. It can have a separate copy run in each of the multiple processes when called from a SQL statement that is run in parallel.
E. It requires a PRAGMA RESTRICT_REFERENCES declaration with RNDS, WNDS, RNPS, and WNPS specified in order to use parallel optimization.
I also think correct answers are B,D.
References:
https://docs.oracle.com/database/121/VLDBG/GUID-E8E35EE2-C719-4122-AEA2-1E7D15147439.htm#VLDBG1472
In a SELECT statement or a subquery in a DML or DDL statement, a user-written function may be executed in parallel in any of the following cases:
If it has been declared with the PARALLEL_ENABLE keyword
In a parallel DML or DDL statement, as in a parallel query, a user-written function may be executed in parallel in any of the following cases:
If it has been declared with the PARALLEL_ENABLE keyword
https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/restrictreferences_pragma.htm#LNPLS01339
“The RESTRICT REFERENCES pragma is deprecated. Oracle recommends using DETERMINISTIC and PARALLEL_ENABLE (described in Function Declaration and Definition) instead of RESTRICT REFERENCES.”