データベースについて調べてみた

データベースについて調べたことのメモ。Oracle要素多めになる予定。

Oracle19cと23cの隠しパラメータの差分について調べてみた ~その1~

前回Oracle Databaseの初期化パラメータについて19cと23cの比較を行ったが、19cと21cでもやった様に、今度は隠しパラメータの比較を行ってみた。

 

0.隠しパラメータの確認方法

19cと21cで比較した時と同様に、隠しパラメータは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個であったのに対して23cは6254個と、単純な個数でいうと約1300の差があった。そのうち23cでは廃止されていたものは68個、23cにのみ存在していたものは1388個と、やはりバージョンが上がって機能が追加されている分、隠しパラメータも追加されていることがわかる。

 

今回確認した差分として、以下5種類の差分について記載する。なお、隠しパラメータのセッション上での値(x$ksppcv.ksppstvl)とインスタンス上での値(x$ksppsv.ksppstvl)についてもSQLで取得してはいるが、環境によって値が異なる可能性が高いため、今回は比較対象外とした。

  1. 23cでは廃止されているパラメータ  ← 今回はココ
  2. 19cと23cでデフォルト値が異なるパラメータ
  3. 19cと23cで設定可能範囲が変更されているパラメータ
  4. 19cと23cでパラメータ名が変わった様に見えるパラメータ
  5. 19c→23cで新規登場したパラメータ

 

1.廃止された隠しパラメータ

23cで廃止されていた隠しパラメータは68個存在した。隠しパラメータはマニュアルに記載がないため、パラメータ概要には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
_bct_initial_private_dba_buffer_size initial number of entries in the private change tracking dba buffers
_bug29274428_modsvc_call_out_enabled one-hundred-and-forty-third spare parameter - boolean
_cell_offload_backup_compression enable offload of backup compression to cells
_ctx_doc_policy_stems enable ctx_doc.policy_stems api
_dedicated_server_poll_count dedicated server poll count
_dedicated_server_post_wait dedicated server post/wait
_dedicated_server_post_wait_call dedicated server post/wait call
_disable_flashback_archiver disable flashback archiver
_disable_thread_snapshot Thread snapshot
_enable_auto_upgrade Enable automatic PDB upgrade
_enable_ffw FAL FORWARDING
_gc_async_receive if TRUE, receive blocks asynchronously
_gc_undo_block_disk_reads if TRUE, enable undo block disk reads
_gc_xmem_rdma if TRUE, xmem blocks rdma read is enabled
_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_auto_av_cache use dynamic across all levels cache
_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
_hcs_enable_parse_auto_av_cache allow parsing of dynamic across all levels cache
_ipddb_enable Enable IPD/DB data collection
_kdli_sio_fgio reap asynchronous IO in the foreground
_kernel_message_network_driver kernel message network driver
_kgl_message_locks RAC message lock count
_kkpo_ctb_allow_vpd allow VPD predicates in recursive SQL under CREATE TABLE
_krpm_trace_buffer_size size of per-process mira trace buffer
_ksipc_ipclw_spare_param1 ksipc ipclw spare parameter 1
_ksipc_trace_bucket memory tracing: use ksipc-private or rdbms-shared bucket
_ksipc_trace_bucket_size KSIPC trace bucket size in bytes (format: "IPC0:-REST:")
_ksxp_disable_rolling_migration disable possibility of starting rolling migration
_limit_itls limit the number of ITLs in OLTP Compressed Tables
_lock_dc_users_time max time to attempt to lock dc_users
_log_archive_avoid_memcpy log archive avoid memcpy
_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
_redo_transport_catch_up_bandwidth_percentage redo transport catch up bandwitdth percent
_reset_maxcap_history reset maxcap history periods
_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
_show_mgd_recovery_state Show internal managed recovery state
_size_of_status_table modifying this hidden parameter, will modify the sizeof the v$gcr_status table
_so_max_inc SO max inc
_sysdate_at_dbtimezone return SYSDATE at database timezone
_ta_lns_wait_for_arch_log LNS Wait time for archived version of ORL
_tablespace_encryption_default_algorithm default tablespace encryption block cipher mode
_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

23cで廃止されていた隠しパラメータのうち、下記の4つについては、23cで正式な初期化パラメータに昇格していた。

  • auto_start_pdb_services
  • ipddb_enable
  • sysdate_at_dbtimezone
  • tablespace_encryption_default_algorithm

 

デフォルト値が変わった隠しパラメータなどは次回に。

 

前回の記事:Oracle19cと23cの初期化パラメータの差分について調べてみた ~その2~