Oracle Database 19c から最新の Oracle Database 26ai (FREE) への進化において、初期化パラメータは劇的に変化しました。本記事では、筆者の検証環境(Oracle Database 19c および Oracle Database 26ai FREE)における実機の show parameter 出力結果を元に、AI Vector Search や JavaScript (MLE) 対応など追加された新機能パラメータと、廃止された重要なパラメータ(SEC_CASE_SENSITIVE_LOGON等)を徹底比較・解説します。
※19c は Release Update (RU) の適用状況によりパラメータが増減する場合がありますが、本記事は特定環境での出力差分に焦点を当てています。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
結論・最短手順:26ai 移行でやるべきチェック
19c と 26ai のパラメータ差異から読み取れる、DBAが最初に確認すべきポイントは以下の通りです。
- AI機能のメモリ設計:
VECTOR_MEMORY_SIZEが0(デフォルト) のため、AI Vector Search を使うなら SGA 設計の見直しと設定変更を行う。 - 新言語エンジンの確認: ストアドプロシージャで JavaScript を使う場合、
MLE_PROG_LANGUAGESがALLになっているか確認する。 - 認証セキュリティの修正:
SEC_CASE_SENSITIVE_LOGONがパラメータから消滅(強制有効化)したため、古いアプリのパスワード大文字小文字接続検証を必ず行う。 - キャッシュ戦略の検討: エッジ用途なら
TRUE_CACHEの導入を検討する。
1. 背景と基礎:パラメータの変化とは?
初期化パラメータとは?
初期化パラメータとは、データベース起動時に読み込まれる設定値(spfile / pfile)のことです。メモリ(SGA/PGA)のサイズや、使用する機能、セキュリティポリシーを決定します。
19c vs 26ai の変化の傾向
Oracle 19c(Long Term Support)から 23ai/26ai へのジャンプでは、単なるチューニング項目の増減だけでなく、「データベースにAIとアプリロジックを組み込む」ためのパラメータが大量に追加されています。一方で、レガシーなセキュリティ設定は「廃止(強制適用)」される傾向にあります。
2. 26ai (23aiベース) で追加された主要パラメータ解説
実機確認に基づき、19c (最新RUを含む) には存在せず、26ai (23ai) で本格導入された特に重要なパラメータを機能別に解説します。
AI & Vector Search 関連(最重要)
Oracle 26ai の目玉機能であるベクトル検索(RAG構築などに利用)を制御するパラメータ群です。これらは19cには存在しません。
| パラメータ名 | デフォルト値 (26ai FREE) | 解説 |
|---|---|---|
| VECTOR_MEMORY_SIZE | 0 | ベクトルインデックスや検索処理に使用するメモリ領域(SGA内)の上限。AI検索を使う場合は設定必須。 |
| VECTOR_QUERY_CAPTURE | ON | ベクトル検索クエリのキャプチャ機能。チューニングや利用状況の分析に使用されます。 |
| VECTOR_INDEX_NEIGHBOR_GRAPH_RELOAD | RESTART | ベクトルインデックスのグラフ構造のリロードポリシー。 |
多言語エンジン (MLE) & 開発者向け
データベース内で JavaScript を実行するための Multilingual Engine (MLE) や SQL高速化関連です。
| パラメータ名 | デフォルト値 (26ai FREE) | 解説 |
|---|---|---|
| MLE_PROG_LANGUAGES | ALL | DB内で実行可能なプログラミング言語。ALL により JavaScript ストアドプロシージャが標準で利用可能です。 |
| SQL_TRANSPILER | OFF | SQL を PL/SQL にトランスパイルして高速化する機能(SQL Transpiler)。 |
| JSON_BEHAVIOR | (空欄) | JSON データの扱いに関する挙動制御。 |
パフォーマンス & キャッシュ (True Cache)
アプリケーションキャッシュとしての機能を強化する設定です。
| パラメータ名 | デフォルト値 (26ai FREE) | 解説 |
|---|---|---|
| TRUE_CACHE | FALSE | データベースをインメモリ・キャッシュ(True Cache)として動作させる場合に TRUE に設定。 |
| LOCKFREE_RESERVATION | ON | トランザクションの同時実行性を高めるロックフリー予約機能。 |
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
3. 19c から廃止・変更されたパラメータ
19c のリストには存在し、26ai のリストから消滅(または不可視化)したパラメータです。これらは「設定変更できなくなった」ことを意味し、移行時のトラブル要因第1位です。
認証・セキュリティの厳格化
SEC_CASE_SENSITIVE_LOGON- 19c:
TRUE(変更可能) - 26ai: リストに存在せず
- 解説: パスワードの大文字小文字区別を無効化(
FALSE)する設定が廃止されました。26ai では大文字小文字の区別が強制されます。10g 以前の古いクライアントや、パスワードを小文字だけで送るレガシーアプリは接続エラーになります。
- 19c:
監査・管理
UNIFIED_AUDIT_SGA_QUEUE_SIZE- 19c:
1048576 - 26ai: リストに存在せず
- 解説: 統合監査(Unified Audit)の内部アーキテクチャ変更に伴い、キューサイズの手動制御が不要、または自動化されました。
- 19c:
その他
SERVICE_NAMES- 19c:
orcl - 26ai:
FREE - これは廃止ではありませんが、デフォルトのサービス名がエディションにより異なる点に注意してください。接続文字列(TNSNAMES.ORA)の変更が必要です。
- 19c:
4. 実行例:新機能パラメータの確認と設定
実際に 26ai 環境で、AI ベクトル検索用のメモリを割り当てて有効化する手順です。 ※以下のSQLは SYSDBA 権限で実行してください。
前提:
- Oracle Database 26ai (FREE) 環境
- CDB$ROOT または PDB に接続
-- 1. 現在の Vector 関連パラメータを確認
-- コマンドの意図:デフォルトで機能が有効か、メモリ設定がどうなっているか確認する
col name format a40
col value format a20
SELECT name, value
FROM v$parameter
WHERE name LIKE 'vector_%';
-- 【実行結果イメージ】
-- NAME VALUE
-- ---------------------------------------- --------------------
-- vector_memory_size 0
-- vector_query_capture ON
-- ...
-- 2. ベクトル検索用に SGA メモリを確保 (例: 1GB)
-- 解説:Vector Search を利用するには SGA 内に専用領域 (Vector Pool) が必要です。
-- 注意:SGA_TARGET の内数、または追加で物理メモリが必要です。
ALTER SYSTEM SET vector_memory_size = 1G SCOPE=BOTH;
-- 3. MLE (JavaScript) が有効か確認
SELECT name, value
FROM v$parameter
WHERE name = 'mle_prog_languages';
-- 結果が 'ALL' なら JavaScript プロシージャが作成可能です。
5. トラブルシューティング
パラメータ差異によって発生しやすいエラーとその対処法です。
| エラー/現象 | 考えられる原因 | 対処法 |
|---|---|---|
| ORA-01017: ユーザー名/パスワードが無効 | SEC_CASE_SENSITIVE_LOGON 廃止により、パスワードの大文字小文字が厳密に判定されている。 | クライアント側で正しいケース(大文字/小文字)でパスワードを送信するよう修正する。 |
| ORA-00922: オプション指定が無効 | 19c の pfile/spfile をインポートした際、廃止パラメータが含まれている。 | パラメータファイルから SEC_CASE_SENSITIVE_LOGON 等の廃止行を削除して再試行する。 |
| ORA-00821: SGAメモリ不足 | 新機能(vector_memory_size 等)にメモリを割り当てた結果、既存の sga_target が不足した。 | sga_max_size および sga_target を増やす設計変更を行う。 |
6. FAQ:よくある質問
Q1: 19c のパラメータファイル (pfile) をそのまま 26ai で使えますか? A1: いいえ、推奨されません。 廃止されたパラメータが含まれているとインスタンス起動時にエラーになります。また、ディレクトリパス(audit_file_dest 等)のデフォルト値も大きく異なります。新規作成するか、廃止パラメータを削除してから使用してください。
Q2: 26ai で JavaScript (MLE) を無効にする方法は? A2: セキュリティ上の理由で無効化したい場合、MLE_PROG_LANGUAGES パラメータを変更することで制限可能です。ただし、一部の内部機能が依存している可能性があるため、公式ドキュメントを確認してください。
Q3: compatible パラメータの値はどうなっていますか? A3: 今回の 26ai FREE 環境では compatible は 23.6.0 となっています。これは 26ai が 23ai のコードベースを拡張したものであることを示唆しています。
7. まとめ
Oracle 19c と 26ai の初期化パラメータ比較による要点は以下の通りです。
- AI・ベクトル対応:
VECTOR_MEMORY_SIZEなど、生成AI連携のためのパラメータが最重要追加項目。 - 開発言語の拡張:
MLE_PROG_LANGUAGESにより、DB内で JavaScript が標準で動くようになった。 - セキュリティの強制:
SEC_CASE_SENSITIVE_LOGONが廃止され、パスワードの大文字小文字区別が強制になった点は移行時の最大の注意点。 - クラウド・エッジ対応:
TRUE_CACHEやエッジコンピューティング向けの機能が強化されている。
移行計画を立てる際は、単なる「設定のコピー」ではなく、これら新機能をどう活用(または無効化)するか、パラメータレベルでの再設計をお勧めします。
[参考]
Oracle AI Vector Searchのパラメータ
【ご注意】 本記事の比較結果は、あくまで Oracle Database 19c (Non-CDB/Linux) と Oracle Database 26ai FREE (CDB/Linux) の特定の実機環境における
show parameter出力の差異に基づいています。 19c 環境への Release Update (RU) 適用状況や、26ai の製品版(Enterprise Edition等)では、パラメータの存在有無やデフォルト値が異なる可能性があります。公式マニュアルも併せてご参照ください。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?




コメント