Oracle ACE Pro 篠田です。本記事は JPOUG Advent Calendar 2025 20日目の記事です。本記事では Oracle Database 19c では利用できた機能のうち Oracle AI Database 26ai でサポート対象外になったセキュリティ関連機能について検証しています。
Oracle AI Database 26ai の標準監査
標準監査機能は Oracle Database 19c でも非推奨でしたが、Oracle AI Database 26ai では明確にサポート対象外となりました。基本的には統合監査が推奨ですが、ファイングレイン監査機能は引き続き利用できます。
SQL> SELECT parameter, value FROM V$OPTION WHERE PARAMETER LIKE '%Audit%';
PARAMETER VALUE
------------------------------ ------------------------------
Fine-grained Auditing TRUE
Unified Auditing TRUE
監査設定
Oracle AI Database 26ai で標準監査設定を実行してみます。
SQL> AUDIT CREATE SESSION;
AUDIT CREATE SESSION
*
ERROR at line 1:
ORA-46401: No new traditional AUDIT configuration is allowed. Traditional
auditing is desupported, and you should use unified auditing in its place.
Help: https://docs.oracle.com/error-help/db/ora-46401/
上記のように AUDIT 文がエラー(ORA-46401)となり、サポート対象外であるというメッセージが出力されます。AUDIT 文の実行自体ができなくなっています。このため「サポート対象外だが使う」という選択肢は無くなりました。監査証跡を参照する DBA_AUDIT_TRAIL ビューは残っています。
SQL> DESCRIBE DBA_AUDIT_TRAIL
Name Null? Type
----------------------------------------- -------- ----------------------------
OS_USERNAME VARCHAR2(255)
USERNAME VARCHAR2(128)
USERHOST VARCHAR2(128)
TERMINAL VARCHAR2(255)
TIMESTAMP DATE
OWNER VARCHAR2(128)
OBJ_NAME VARCHAR2(128)
ACTION NOT NULL NUMBER
ACTION_NAME VARCHAR2(28)
NEW_OWNER VARCHAR2(128)
NEW_NAME VARCHAR2(128)
OBJ_PRIVILEGE VARCHAR2(34)
SYS_PRIVILEGE VARCHAR2(40)
ADMIN_OPTION VARCHAR2(1)
GRANTEE VARCHAR2(128)
AUDIT_OPTION VARCHAR2(40)
SES_ACTIONS VARCHAR2(19)
LOGOFF_TIME DATE
LOGOFF_LREAD NUMBER
LOGOFF_PREAD NUMBER
LOGOFF_LWRITE NUMBER
LOGOFF_DLOCK VARCHAR2(40)
COMMENT_TEXT VARCHAR2(4000)
SESSIONID NOT NULL NUMBER
ENTRYID NOT NULL NUMBER
STATEMENTID NOT NULL NUMBER
RETURNCODE NOT NULL NUMBER
PRIV_USED VARCHAR2(40)
CLIENT_ID VARCHAR2(128)
ECONTEXT_ID VARCHAR2(64)
SESSION_CPU NUMBER
EXTENDED_TIMESTAMP TIMESTAMP(6) WITH TIME ZONE
PROXY_SESSIONID NUMBER
GLOBAL_UID VARCHAR2(32)
INSTANCE_NUMBER NUMBER
OS_PROCESS VARCHAR2(16)
TRANSACTIONID RAW(8)
SCN NUMBER
SQL_BIND NVARCHAR2(2000)
SQL_TEXT NVARCHAR2(2000)
OBJ_EDITION_NAME VARCHAR2(128)
DBID NUMBER
RLS_INFO CLOB
CURRENT_USER VARCHAR2(128)
統合監査への移行
標準監査では AUDIT 文で監査を設定していましたが、統合監査では監査ポリシーを設定します。標準で有効になっている監査ポリシーを確認します。
SQL> SELECT policy_name FROM audit_unified_enabled_policies;
POLICY_NAME
--------------------------------------------------------------------------------
ORA_LOGIN_LOGOUT
ORA$DICTIONARY_SENS_COL_ACCESS
ORA_DV_SCHEMA_CHANGES
ORA_DV_DEFAULT_PROTECTION
ORA_LOGIN_LOGOUT ポリシーはクライアントの接続、切断を監査し、ORA$DICTIONARY_SENS_COL_ACCESS ポリシーは高機密列に対するアクセスを監査するためのポリシーです。標準で構成されているポリシーは audit_unified_policies ビューを検索します。標準で作成される監査ポリシー名は Oracle Database 19c の頃とは変わっています。
SQL> SELECT DISTINCT policy_name FROM audit_unified_policies ORDER BY 1;
POLICY_NAME
----------------------------------------
ORA$DICTIONARY_SENS_COL_ACCESS
ORA$DICTIONARY_SNET_RPC_ACCESS
ORA_ACCOUNT_MGMT
ORA_ALL_TOPLEVEL_ACTIONS
ORA_CIS_RECOMMENDATIONS
ORA_DATABASE_PARAMETER
ORA_DV_DEFAULT_PROTECTION
ORA_DV_SCHEMA_CHANGES
ORA_LOGIN_LOGOUT
ORA_LOGON_FAILURES
ORA_LOGON_LOGOFF
ORA_OLS_SCHEMA_CHANGES
ORA_RAS_POLICY_MGMT
ORA_RAS_SESSION_MGMT
ORA_SECURECONFIG
ORA_STIG_RECOMMENDATIONS
16 rows selected.
標準監査関連の初期化パラメーター
標準監査関連の初期化パラメーターを検証します。標準監査に関係する以下の初期化パラメーターは残っていますが、Deprecated 扱いとなります。これらの初期化パラメーターは設定変更できますが機能しません。
| 初期化パラメーター名 | 説明 | 備考 |
|---|---|---|
| audit_file_dest | 監査証跡出力ディレクトリ | |
| audit_sys_operations | SYS ユーザー監査 | |
| audit_syslog_level | 監査情報 SYSLOG 転送 | unified_audit_common_systemlog で設定 |
| audit_trail | 監査証跡出力方法 |
これらの初期化パラメーターを変更すると、インスタンス起動時に警告メッセージ「ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance」が出力されます。
SQL> ALTER SYSTEM SET audit_sys_operations=TRUE SCOPE=SPFILE;
System altered.
SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 1083278096 bytes
Fixed Size 5006096 bytes
Variable Size 536870912 bytes
Database Buffers 536870912 bytes
Redo Buffers 4530176 bytes
Database mounted.
Database opened.
セキュリティ関連の初期化パラメーター
Oracle AI Database 26ai では初期化パラメーター sec_case_sensitive_logon が廃止されました。このためパスワードの大文字/小文字を区別せずに接続できなくなっています。それ以外の初期化パラメーターには変化がありません。
| 初期化パラメーター | 19c | 26ai | デフォルト値 |
|---|---|---|---|
| sec_case_sensitive_logon | 〇 | 廃止 | TRUE |
| sec_max_failed_login_attempts | 〇 | 〇 | 3 |
| sec_protocol_error_further_action | 〇 | 〇 | (DROP,3) |
| sec_protocol_error_trace_action | 〇 | 〇 | TRACE |
| sec_return_server_release_banner | 〇 | 〇 | FALSE |
初期化パラメーター sec_case_sensitive_logon は廃止され、SQL*Plus から実行される SHOW PARAMETER コマンドや、V$PARAMETER ビューからは参照できません。しかし ALTER SYSTEM SET 文で変更しようとすると、パラメーターが存在しないエラー(ORA-02065)ではなく、サポート対象外のエラー(ORA-25138)が出力されます。
SQL> ALTER SYSTEM SET sec_case_sensitive_logon = FALSE;
ALTER SYSTEM SET sec_case_sensitive_logon = FALSE
*
ERROR at line 1:
ORA-25138: SEC_CASE_SENSITIVE_LOGON initialization parameter has been made
obsolete
Help: https://docs.oracle.com/error-help/db/ora-25138/
sqlnet.ora ファイルの設定
sqlnet.ora ファイルのパラメーター SQLNET.ALLOWED_LOGON_VERSION_SERVER と SQLNET.ALLOWED_LOGON_VERSION_CLIENT は指定できる値が少なくなっています。11 以下の値はサポートされません。ただし設定してもエラーにはなりません。
| 設定値 | 19c | 26ai | 備考 |
|---|---|---|---|
| 12a | 〇 | 〇 | |
| 12 | 〇 | 〇 | デフォルト |
| 11 | 〇 | 非サポート | |
| 10 | 〇 | 非サポート | |
| 9 | 〇 | 非サポート | |
| 8 | 〇 | 非サポート |
参考資料
Oracle AI Database 26ai Database Upgrade Guide - 10 Oracle Database Changes, Desupports, and Deprecations
Author: Noriyoshi Shinoda / Date: December 20, 2025