RU 適用により変更される初期化パラメーター（Oracle Database 19c)

　Oracle Database はバグフィックスやセキュリティ向上のためにパッチの集合（Release Update = RU）を提供しています。RU は定期的（原則３ヶ月に一回）にアップデートされ、マイナーバージョンが付与されます。Oracle Database 19c については、2025 年 1 月現在 RU 19.25 が最新です。RU はバグフィックスがメインですが、機能追加や動作変更が行われることがあります。本記事では RU が適用されることによる動作変更や、追加される初期化パラメーターについて記載しています。元データとして最新の「[Oracle Database データベース・リファレンス](https://docs.oracle.com/cd/F19136_01/refrn/index.html#Oracle%C2%AE-Database)」マニュアルを使用しています。

# 追加される初期化パラメーター
RU を適用することにより以下の初期化パラメーターが追加されます。

|初期化パラメーター名| RU のバージョン|備考|
|:---|:---|:---|
|ADG_REDIRECT_DML|バージョン 19.1 以降で使用可能||
|BLOCKCHAIN_TABLE_MAX_NO_DROP|バージョン 19.10 以降で使用可能||
|CLIENT_STATISTICS_LEVEL|バージョン 19.1 以降で使用可能||
|CONTAINER_DATA|バージョン 19.10 以降で使用可能||
|DATA_GUARD_MAX_IO_TIME|バージョン 19.1 以降で使用可能||
|DATA_GUARD_MAX_LONGIO_TIME|バージョン 19.1 以降で使用可能||
|DRCP_DEDICATED_OPT|バージョン 19.11 以降で使用可能||
|ENABLE_IMC_WITH_MIRA|バージョン 19.1 以降で使用可能||
|IDENTITY_PROVIDER_CONFIG|バージョン 19.16 以降で使用可能||
|IDENTITY_PROVIDER_TYPE |バージョン 19.16 以降で使用可能||
|IGNORE_SESSION_SET_PARAM_ERRORS|バージョン 19.4 以降で使用可能||
|INMEMORY_FORCE|バージョン 19.8 以降で使用可能||
|LOB_SIGNATURE_ENABLE|バージョン 19.1 以降で使用可能||
|MAIN_WORKLOAD_TYPE|バージョン 19.21 以降で使用可能|
|MAX_AUTH_SERVERS|バージョン 19.10 以降で使用可能||
|MAX_DATAPUMP_PARALLEL_PER_JOB|バージョン 19.1 以降で使用可能||
|MIN_AUTH_SERVERS|バージョン 19.10 以降で使用可能||
|OGG_ONLINE_DDL|バージョン 19.22 以降で使用可能|
|OPTIMIZER_REAL_TIME_STATISTICS|バージョン 19.10 以降で使用可能||
|OPTIMIZER_SESSION_TYPE|バージョン 19.6 以降で使用可能||
|SESSION_EXIT_ON_PACKAGE_STATE_ERROR|バージョン 19.23 以降で使用可能||
|TABLESPACE_ENCRYPTION|バージョン 19.16 以降で使用可能||

# 代替される初期化パラメーター
以下の初期化パラメーターは既存の初期化パラメーターを代替します。

|初期化パラメーター名| RU のバージョン|代替される初期化パラメーター|
|:---|:---|:---|
|TABLESPACE_ENCRYPTION|バージョン19.16|ENCRYPT_NEW_TABLESPACESパラメータの代替|

# 動作が変更になる初期化パラメーター
以下の初期化パラメーターは動作の変更や、指定できる値の増加など変化があります。特に初期化パラメーター UNDO_RETENTION の設定は多くのデータベースで変更されていることから影響が大きいと思われます。

|初期化パラメーター名| RU のバージョン|動作の変更|
|:---|:---|:---|
|FAST_START_PARALLEL_ROLLBACK|バージョン 19.17 以降|PDB で変更可能|
|INMEMORY_FORCE|バージョン 19.8 以降|BASE_LEVELを指定可能、CELLMEMORY_LEVEL 指定時の動作変更|
|LDAP_DIRECTORY_ACCESS|バージョン 19.10 以降|ALTER SYSTEM 文による適用範囲が変更|
|PROCESSOR_GROUP_NAME|ODA リリース 19.9 以降|PROCESSOR_GROUP_NAMEを使用して、ODA上のデータベースが実行されるCPUコアのセットを指定可能|
|UNDO_RETENTION|バージョン19.7以降|自動拡張オフの UNDO 表領域でも UNDO_RETENTION が考慮される|
|UNDO_RETENTION|バージョン19.9以降|CDB の初期化パラメーター変更が PDB に継承されない|

INMEMORY_FORCE 設定値 CELLMEMORY_LEVEL に関するマニュアルの記載
>　CellMemoryは、Exadataスマート・フラッシュ・キャッシュを使用してインメモリー列形式でデータを移入できるExadata機能です。旧リリースのOracle Databaseでは、CellMemory機能を使用するために、IM列ストアを使用する予定がない場合でも(INMEMORY_SIZEを0より大きい値に設定して) IM列ストアを有効化する必要がありました。このため、IM列ストアを利用しないのに、有効化によるオーバーヘッドが発生していました。Oracle Databaseリリース19c、バージョン19.8以降では、INMEMORY_FORCE=CELLMEMORY_LEVELおよびINMEMORY_SIZE=0を設定することで、IM列ストアを有効にせずにCellMemory機能を使用できます。これらの設定を使用すると、IM列ストアは有効化されませんが、問合せでCellMemoryを使用してオブジェクトをスキャンできます。

LDAP_DIRECTORY_ACCESS に関するマニュアルの記載
> Oracle Databaseリリース19c, バージョン19.10より前のリリースの場合、CDBルート・コンテナでこのパラメータを設定すると、CDB内のすべてのPDBでそのパラメータの設定が使用されます。PDBでこのパラメータを設定すると、パラメータ設定はそのPDBにのみ影響します。ALTER SYSTEMを使用して、PDBでこのパラメータを設定できます。
> Oracle Databaseリリース19c, バージョン19.10以降:
> CDBルートに接続している状況で、ALTER SYSTEMコマンドを使用してLDAP_DIRECTORY_ACCESSの値を設定する場合、次のようになります。
> CONTAINER=ALL句を指定すると、設定はCDBルートおよびすべてのPDBに適用されます。
> CONTAINER=ALL句を省略する、またはCONTAINER=CURRENT句を指定した場合、設定はCDBルートにのみ適用されます。
> PDBに接続している状況で、ALTER SYSTEMコマンドを使用してLDAP_DIRECTORY_ACCESSの値を設定した場合、設定はそのPDBにのみ適用されます。
> 初期化パラメータ・ファイルでLDAP_DIRECTORY_ACCESSの値を設定した場合、設定はCDBルートにのみ適用され、PDBには適用されません。


MAIN_WORKLOAD_TYPE に関するマニュアルの記載
> MAIN_WORKLOAD_TYPEにより、データベースまたはPDBのメイン・ワークロード・タイプを指定します。

OGG_ONLINE_DDL に関するマニュアルの記載
> オンラインDDLのGoldenGateレプリケーションを有効または無効にするには、OGG_ONLINE_DDLを使用します。

SESSION_EXIT_ON_PACKAGE_STATE_ERROR に関するマニュアルの記載
> セッションの状態が無効化されたときに強制的にハード・セッションを終了するには、SESSION_EXIT_ON_PACKAGE_STATE_ERRORを使用します。

UNDO_RETENTION に関するマニュアルの記載
>　Oracle Databaseリリース19cバージョン19.7以降では、AUTOEXTEND UNDO表領域と固定サイズのUNDO表領域の両方で、UNDOは、このパラメータに指定した時間以上に保存され、問合せに対するUNDO要件にあわせてUNDO保存期間が自動的にチューニングされます。
　Oracle Databaseリリース19cバージョン19.9以降では、CDBでのUNDO_RETENTIONの値は継承されません。したがって、CDBルートでUNDO_RETENTIONの値を変更しても、PDBではその新しい値は継承されません。PDBレベルでUNDO_RETENTIONの値を変更する必要がある場合は、明示的に変更する必要があります。たとえば、CDBに2つのPDB (PDB1およびPDB2)が含まれている場合は、次のように、CDBルートと両方のPDBでUNDO_RETENTIONを2000に設定できます。

# 非推奨になる初期化パラメーター
　以下の初期化パラメーターは RU 適用により非推奨になります。

|初期化パラメーター名| RU のバージョン|備考|
|:---|:---|:---|
|CLUSTER_DATABASE_INSTANCES|バージョン 19.1 では非推奨||
|PRE_PAGE_SGA|バージョン 19.22 で非推奨|

CLUSTER_DATABASE_INSTANCES に関するマニュアルの記載です。
> バージョン19.1以上では、構成可能なOracle RACインスタンスの数はOracle Clusterwareから導出されます。

PRE_PAGE_SGA に関するマニュアルの記載です。
> Exadataシステムでは、PRE_PAGE_SGAの値は必ずTRUEに設定されます。ExadataシステムでこのパラメータをFALSEに設定しようとしても、効果はありません。

Author: Noriyoshi Shinoda / Date: January 16, 2025