そろそろ次のロングタームリリースであるOracle Database 23cがリリースされるが、よく考えてみたら21cすら触ったことがなかったので、23cがリリースされた後に19cとの比較をする練習として、19cと21cの初期化パラメータの差を調べてみた。
0.調査方法
下記のSQLを19cと21cでそれぞれ実行し、差分を確認する。
SELECT name, default_value, isdeprecated, isses_modifiable, issys_modifiable, ispdb_modifiable, isinstance_modifiable, description, update_comment FROM v$parameter ORDER BY name;
使用したOracle Databaseのバージョンは以下の通り。
調査の結果、以下4種類の差分について確認できた。
- 21cでは廃止されているパラメータ
- 19cと21cでデフォルト値が異なるパラメータ
- 19cと21cで設定可能範囲が変更されているパラメータ
- 19c→21cで新規登場したパラメータ
1.廃止されたパラメータ
21cで廃止されたパラメータは4つ。これらは19cの時点で非推奨になっていた。
パラメータ | パラメータ概要 |
---|---|
cluster_database_instances | クラスタ・データベースの一部として構成されたインスタンスの数 |
remote_os_authent | OS_AUTHENT_PREFIXパラメータ値でリモート・クライアント認証させるか |
sec_case_sensitive_logon | データベースにおけるパスワードの大/小文字の区別を有効とするか |
unified_audit_sga_queue_size | 統合監査用のSGAキューのサイズ |
cluster_database_instancesについては、21cでは隠しパラメータとなっていた。
2.デフォルト値が変わったパラメータ
19cと21cでデフォルト値に差があったパラメータは5つ。ただし、shared_serversについては、値が大きすぎる(もしくは負数?)のと、マニュアル上ではデフォルト値が19cでも0で差がないので、差のあるパラメータは4つと考えてよい気がする。
パラメータ | 19cの値 | 21cの値 | パラメータ概要 |
---|---|---|---|
enable_pluggable_database | FALSE | TRUE | CDB構成でデータベースを起動するか |
optimizer_features_enable | 19.1.0 | 21.1.0 | オプティマイザを動作させるバージョン |
permit_92_wrap_format | TRUE | FALSE | Oracle9iR2以前でラップしたバージョンのPL/SQLソース・テキストを使用できる様にするか |
shared_servers | 4294967294 | 0 | インスタンスの起動時に作成する共有サーバープロセスの数 |
spatial_vector_acceleration | FALSE | TRUE | 空間ベクトル・パフォーマンス・アクセラレータ(VPA)機能を使用するか |
21cでは非CDB構成がサポート対象外であることからenable_pluggable_databaseはTRUEに、Oracle Spatialのオプションライセンスが不要になったことから、spatial_vector_accelerationもTRUEになったのだろう。
3.設定可能範囲に変更があったパラメータ
19cと23cで設定可能範囲(SESSION/SYSTEMでの変更、PDB単位での変更)に差があったパラメータは7つ。ただし、aq_tm_processesとclient_statistics_levelについては、マニュアル上では差がなかったが、19cではaq_tm_processesはSESSION単位での変更ができたのでドキュメントバグと考えられる。client_statistics_levelについては、19cのPDB環境が用意できたら確認してみようと思う。
パラメータ | 23cでの変更点 | パラメータ概要 |
---|---|---|
aq_tm_processes | SESSION単位での変更が不可 | AQ(qmon)の起動プロセス数 |
client_statistics_level | PDB単位での変更が可 | DBクライアントがDBにNW統計を報告するかどうかを制御 |
db_file_name_convert | SYSTEM/PDB単位での変更が可 | プライマリDB上のデータファイル名をスタンバイDB上のファイル名に変換する際のパターン |
distributed_lock_timeout | SYSTEM/PDB単位での変更が可 | 分散トランザクションがロックされているリソースを待機する秒数 |
log_file_name_convert | SYSTEM単位での変更が可 | プライマリDB上のログファイル名をスタンバイDB上のファイル名に変換する際のパターン |
processes | SYSTEM単位での変更が可 | Oracleユーザプロセスの最大数 |
shrd_dupl_table_refresh_rate | SESSION単位での変更が可 | シャード内で重複した表のリフレッシュ間隔(秒) |
23cで新規追加されたパラメータは多数あるため、次回に。