Oracle’s automatic indexing feature, available in Autonomous Database, optimizes query performance by creating and managing indexes. The requirement here is to enable it but ensure new indexes are invisible (not used by the optimizer unless explicitly made visible). The correct command is:
EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','REPORT ONLY') (C):The REPORT ONLY mode enables automatic indexing, where the database identifies and creates candidate indexes based on workload analysis. However, these indexes are created as invisible by default, meaning the optimizer does not use them in SQL execution plans unless a DBA manually makes them visible (e.g., via ALTER INDEX ... VISIBLE). This mode is ideal for testing or validation without impacting production queries. For example, if a query frequently filters on a column, an invisible index might be created, but it won’t affect performance until explicitly activated.
The incorrect options are:
EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','IMPLEMENT') (A):The IMPLEMENT mode fully enables automatic indexing, creating and maintaining visible indexes that the optimizer uses immediately. This contradicts the requirement for invisible indexes.
EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','OFF') (B):The OFF mode disables automatic indexing entirely, so no indexes (visible or invisible) are created, failing the requirement to enable it.
EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','INVISIBLE') (D):There is no INVISIBLE mode in DBMS_AUTO_INDEX.CONFIGURE. While indexes can be set as invisible individually, this is not a valid configuration option for the auto-indexing feature.
The REPORT ONLY mode provides a controlled approach, allowing index creation for analysis without immediate deployment. This is particularly useful in Autonomous Database, where automation is balanced with DBA oversight.