目前 (2019年5月21日)似乎MOS上找不到 控制19c Automatic Indexing 自动建索引特性的Notes,大致可以通过 _optimizer_auto_index_allow 和 _optimizer_use_auto_indexes 2个参数关闭该新特性。
col name format a40
SELECT x.ksppinm NAME, y.ksppstvl VALUE
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV ('Instance')
AND y.inst_id = USERENV ('Instance')
AND x.indx = y.indx
AND x.ksppinm LIKE '%index%';
NAME VALUE
-------------------------------------------------- ------------------------------------------------------------
_optimizer_auto_index_allow AUTO
_gc_defer_ping_index_only TRUE
_kcl_index_split TRUE
_gc_fast_index_split_wait 0
_index_partition_large_extents FALSE
_index_partition_shrink_opt TRUE
_db_index_block_checking TRUE
_disable_index_block_prefetching FALSE
_index_scan_check_skip_corrupt FALSE
_index_scan_check_stopkey FALSE
_index_max_inc_trans_pct 20
_index_split_chk_cancel 5
_advanced_index_compression_trace 0
db_index_compression_inheritance NONE
_index_alert_key_not_found FALSE
_reuse_index_loop 5
_reclaim_lob_index_scan_limit 0
_ignore_desc_in_index FALSE
_index_load_buf_oltp_sacrifice_pct 10
_index_load_buf_oltp_under_pct 85
_index_load_buf_oltp_over_retry 0
_index_load_last_leaf_comp 85
_index_load_min_key_count 10
_index_load_analysis_frequency 4
_advanced_index_compression_umem_options 2147483647
_advanced_index_compression_options 0
_advanced_index_compression_cmp_options 0
_advanced_index_compression_tst_options 0
_advanced_index_compression_opt_options 0
_advanced_index_compression_options_value 0
_advanced_index_compression_recmp_cusz 90
_advanced_index_compression_recmp_crsz 10
_advanced_index_compression_recmp_nprg 10
_kdkv_index_lossy TRUE
_kdkv_index_relocate FALSE
_kdkv_indexinvalid FALSE
_domain_index_batch_size 2000
_domain_index_dml_batch_size 200
_odci_index_pmo_rebuild FALSE
_cell_index_scan_enabled TRUE
optimizer_index_cost_adj 100
optimizer_index_caching 0
_system_index_caching 0
_index_prefetch_factor 100
_index_join_enabled TRUE
_use_nosegment_indexes FALSE
_optimizer_compute_index_stats TRUE
skip_unusable_indexes TRUE
_delay_index_maintain TRUE
_disable_function_based_index FALSE
_globalindex_pnum_filter_enabled TRUE
_enable_online_index_without_s_locking TRUE
_optimizer_fkr_index_cost_bias 10
optimizer_use_invisible_indexes FALSE
_noseg_for_unusable_index_enabled TRUE
_px_index_sampling_objsize TRUE
_part_redef_global_index_update TRUE
_fast_index_maintenance TRUE
_modify_column_index_unusable FALSE
_indexable_con_id TRUE
_optimizer_use_auto_indexes AUTO
_optimizer_gather_stats_on_load_index TRUE
_optimizer_auto_index_allow
_optimizer_use_auto_indexes
SQL> alter system set "_optimizer_auto_index_allow"=0 scope=spfile;
alter system set "_optimizer_auto_index_allow"=0 scope=spfile
*
ERROR at line 1:
ORA-00096: invalid value 0 for parameter _optimizer_auto_index_allow, must be from among ALWAYS, AUTO, NEVER
alter system set "_optimizer_auto_index_allow"=NEVER scope=spfile;
alter system set "_optimizer_use_auto_indexes"=NEVER scope=spfile;
ERROR at line 1:
ORA-00096: invalid value NEVER for parameter _optimizer_use_auto_indexes, must be from among ON, AUTO, OFF
alter system set "_optimizer_use_auto_indexes"=OFF scope=spfile;
19C has a new feature database 19c is automatic indexing. How does it work?
QUESTIONS AND ANSWERS
How does automatic indexing work?
This is fully automated process. Oracle will identify candidate indexes,
verify their effectiveness, perform online validations and then implement the indexes where appropriate.
DBA does not need to do anything. Oracle internally picks the candidate indexes and validates the index or indexes.
Does any parameters need to be set for the automatic indexing to work?
Per documentation:
21.7.3 Enabling Automatic Indexing
Automatic indexing is disabled by default in an Oracle database. To enable
automatic indexing, set the AUTO_IMPLEMENT_INDEXES initialization parameter
to the Oracle database release number, for example, 19.1. You can disable
automatic indexing by setting the AUTO_IMPLEMENT_INDEXES initialization
parameter to NONE.
Database Oracle
Oracle Database Release 19
Database Administrator’s Guide
https://docs-stage.oracle.com/en/database/oracle/oracle-database/19/admin/managing-indexes.html#GUID-6E31777C-3BE3-4510-90D5-C715644E00CB
However, the parameter does not seem to exist though and cannot be used in 19.1
The parameter to control/enable automatic indexing is available in the next
refresh of the RDBMS, 19.2. per following internal bug:
Bug 29001016 – 19CBETA CANNOT USE AUTOMATIC INDEXING FUNCTIONALITY – PARAMETER MISSING

