前回はOracle Databaseの初期化パラメータについて19cと21cの比較を行ったが、今度は隠しパラメータについて同様の比較を行ってみた。
0.隠しパラメータの確認方法
隠しパラメータはshow parameterやV$PARAMETERでは確認できないため、下記のようなSQLでX$表を確認した。
SELECT a.ksppinm "Parameter", b.ksppstdf "IS_DEFAULT", b.ksppstdfl "Default Value", b.ksppstvl "Session Value", c.ksppstvl "Instance Value", decode(bitand(a.ksppiflg/256,1),1,'TRUE','FALSE') IS_SESSION_MODIFIABLE, decode(bitand(a.ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED',3,'IMMEDIATE','FALSE') IS_SYSTEM_MODIFIABLE, a.ksppdesc DESCRIPTION FROM x$ksppi a, x$ksppcv b, x$ksppsv c WHERE a.indx = b.indx AND a.indx = c.indx AND a.ksppinm LIKE '/_%' escape '/' ;
ちなみに、隠しパラメータの出力方法は下記のオラクル社の技術情報(参照には要サポート契約)に公開されている。ただし、下記情報ではx$ksppcv.ksppstdfがデフォルト値と記載されていたが、実機で確認した限り、x$ksppcv.ksppstdfは現在の設定値がデフォルト値のままであるかを表している様に見え、デフォルト値自体はx$ksppcv.ksppstdflに格納されている様に見えたので、実機調査をする際はこの点に注意が必要だ。
Oracle 隠しパラメータの問い合わせおよび変更方法 - Oracle 10g以降 (ドキュメントID 2563436.1)
差分確認に使用したOracle Databaseのバージョンは以下の通り。
調査の結果、19cの隠しパラメータは4934個であったのに対して21cは5496個と、単純な個数でいうと約600弱の差があった。そのうち21cでは廃止されていたものは63個、21cにのみ存在していたものは625個と、やはりバージョンが上がって機能が追加されている分、隠しパラメータも追加されていることがわかる。
今回確認した差分として、以下5種類の差分について記載する。なお、隠しパラメータのセッション上での値(x$ksppcv.ksppstvl)とインスタンス上での値(x$ksppsv.ksppstvl)についてもSQLで取得してはいるが、環境によって値が異なる可能性が高いため、今回は比較対象外とした。
- 21cでは廃止されているパラメータ
- 19cと21cでデフォルト値が異なるパラメータ
- 19cと21cで設定可能範囲が変更されているパラメータ
- 19cと21cでパラメータ名が変わった様に見えるパラメータ
- 19c→21cで新規登場したパラメータ
1.廃止された隠しパラメータ
21cで廃止されていた隠しパラメータは63個存在した。隠しパラメータはマニュアルに記載がないため、パラメータ概要にはx$ksppi.ksppdesc列の内容を記載した。
パラメータ名 | パラメータ概要 |
---|---|
_arch_sim_mode | Change behavior of local archiving |
_asm_enable_parity_datafile_creation | Enable parity datafiles creation |
_auto_start_pdb_services | Automatically start all PDB services on PDB Open |
_bug29274428_modsvc_call_out_enabled | one-hundred-and-forty-third spare parameter - boolean |
_disable_thread_snapshot | Thread snapshot |
_eighth_spare_parameter | eighth spare parameter - integer |
_eighty-first_spare_parameter | eighty-first spare parameter - string |
_enable_auto_upgrade | Enable automatic PDB upgrade |
_first_spare_parameter | first spare parameter - integer |
_fourth_spare_parameter | fourth spare parameter - integer |
_gc_async_receive | if TRUE, receive blocks asynchronously |
_group_partition_data_for_impdp_ok | data pump import allows DATA_OPTIONS=GROUP_PARTITION_DATA |
_hang_enable_nodeeviction | Enable Hang Manager node eviction |
_hang_long_wait_time_threshold | Long session wait time threshold in seconds |
_hcs_disable_cell_qry_meas_prune_opt | apply measure prune optimization to cell query |
_hcs_disable_cell_qry_tmpls | no cell query templates for optimization |
_hcs_disable_hord_in_oby_prune | prune levels if HIER_ORDER referenced only in ORDER BY |
_hcs_disable_jback_opt_for_hord_in_oby | optimize analytic view joinback for HIER_ORDER |
_hcs_disable_level_prune_gby | perform level pruning in group by |
_hcs_disable_level_prune_vis_lvs | perform level pruning from visible leaves |
_hcs_disable_pushed_preds_in_gen_sql | push sql query predicates into hierarchy targets |
_hcs_disable_rmv_unref_top_opt | apply remove unref top blocks optimization to cell query |
_hcs_disable_sp_jback_opt | optimize single parent joinback |
_hcs_disable_tgt_depths_opt | apply target depths optimization |
_hcs_enable_dynamic_cache | enable/disable av cache DYNAMIC definition |
_hcs_enable_mem_trck | enable memory tracking |
_hcs_enable_multi_parent_gen | generate hcs query using multi-parent aggregation |
_kkpo_ctb_allow_vpd | allow VPD predicates in recursive SQL under CREATE TABLE |
_ksipc_ipclw_spare_param1 | ksipc ipclw spare parameter 1 |
_ksipc_spare_param2 | ksipc spare param 2 |
_log_archive_avoid_memcpy | log archive avoid memcpy |
_ninth_spare_parameter | ninth spare parameter - integer |
_one-hundred-and-fiftieth_spare_parameter | one-hundred-and-fiftieth spare parameter - boolean |
_one-hundred-and-fifty-first_spare_parameter | one-hundred-and-fifty-first spare parameter - boolean |
_one-hundred-and-fifty-second_spare_parameter | one-hundred-and-fifty-second spare parameter - boolean |
_one-hundred-and-fifty-third_spare_parameter | one-hundred-and-fifty-third spare parameter - boolean |
_one-hundred-and-forty-eighth_spare_parameter | one-hundred-and-forty-eighth spare parameter - boolean |
_one-hundred-and-forty-fifth_spare_parameter | one-hundred-and-forty-fifth spare parameter - boolean |
_one-hundred-and-forty-fourth_spare_parameter | one-hundred-and-forty-fourth spare parameter - boolean |
_one-hundred-and-forty-ninth_spare_parameter | one-hundred-and-forty-ninth spare parameter - boolean |
_one-hundred-and-forty-sixth_spare_parameter | one-hundred-and-forty-sixth spare parameter - boolean |
_optimizer_auto_index_allow | Controls Auto Index |
_optimizer_quarantine_sql | enable use of sql quarantine |
_part_access_version_by_number | use version numbers to access versioned objects for partitioning |
_pga_detail_combine_auto | combine auto and manual PGA memory detail snapshots |
_reset_maxcap_history | reset maxcap history periods |
_second_spare_parameter | second spare parameter - integer |
_securefiles_increase_hbb | securefiles increase hbb |
_session_fast_lrg_prediction | use short interval for session SO prediction |
_session_prediction_interval | session SO prediction interval |
_session_use_linear_prediction | use session SO lin-reg prediction |
_session_use_periodic_prediction | use session SO periodic prediction |
_seventh_spare_parameter | seventh spare parameter - integer |
_show_mgd_recovery_state | Show internal managed recovery state |
_sixth_spare_parameter | sixth spare parameter - integer |
_size_of_status_table | modifying this hidden parameter, will modify the sizeof the v$gcr_status table |
_so_max_inc | SO max inc |
_ta_lns_wait_for_arch_log | LNS Wait time for archived version of ORL |
_tablespace_encryption_default_algorithm | default tablespace encryption block cipher mode |
_twelfth_spare_parameter | twelfth spare parameter - integer |
_unified_audit_flush_interval | Unified Audit SGA Queue Flush Interval |
_unified_audit_flush_threshold | Unified Audit SGA Queue Flush Threshold |
_workload_attributes_spare_param | connect string workload behavior spare param |
21cで廃止されていた隠しパラメータのうち、下記の2つについては、21cで正式な初期化パラメータに昇格していた。
- auto_start_pdb_services
- tablespace_encryption_default_algorithm
デフォルト値が変わった隠しパラメータなどは次回に。