ヘッダーをスキップ

Oracle® Database Firewall管理ガイド リリース5.1 B66170-01 |
| 目次 | 索引

前 | 次 |

# A Oracle Database Firewallデータベース・スキーマ

この付録の内容は、次のとおりです。

- Oracle Database Firewallスキーマの概要

- サマリー表

- ログ・フォレンジック表

- ストアド・プロシージャおよびユーザー・ロールの監査表

- レポート関連の関数

## Oracle Database Firewallスキーマの概要

Oracle Database Firewallの表は、`SECURELOG`スキーマに格納されています。このスキーマには、この付録で説明する論理的に関連した一連の表が格納されています。

## サマリー表

この項の内容は、次のとおりです。

- サマリー表の概要

- applied_baselines表

- database_user_addresses表

- database_users表

- dictionary表

- protected_database_addresses表

- protected_databases表

- sources表

- summary_clusters表

- cluster_components表

- summary_records表

- summary_sessions表

- summary_statement_attributes表

- traffic_events表

- traffic_summariesビュー

- サマリー表の関連図

### サマリー表の概要

サマリー表には、ログイン中のユーザーの名前、監視対象データベース、ユーザー・セッション、データベース・トラフィック、イベントなど、監視中のデータに関する一般情報が保存されます。

### applied_baselines表

表A-1に、現在、トラフィックを取得する際に使用されているポリシーの名前を示します。

表A-1 applied_baselines表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`baseline_id` | `INTEGER` | `NOT NULL` | このレコードの一意のID
`name` | `VARCHAR2(1024 CHAR)` | `NOT NULL` | ベースラインの名前(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`database_id` | `INTEGER` | `NOT NULL` | `protected_databases`表(表A-6)の保護対象データベースのID

### database_user_addresses表

表A-2に、保護対象データベースにアクセスしたユーザーによる使用が想定される IPアドレスを示します。

表A-2 database_user_addresses表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`address_id` | `INTEGER` | `NOT NULL` | この表のアドレス・レコードのID
`user_id` | `INTEGER` | `NULL` | `database_users`表(表A-3)のデータベース・ユーザーのID
`address` | `VARCHAR2(30)` | `NULL` | ユーザーの想定IPアドレス(多数の中の有力な1つ)

### database_users表

表A-3には、保護対象データベースにアクセスした各ユーザーが記録されます。

表A-3 database_users表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`user_id` | `INTEGER` | `NOT NULL` | この表のユーザー・レコードのID
`user_name` | `VARCHAR2(255)` | `NULL` | セッションを開始したユーザーの名前(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`database_id` | `INTEGER` | `NULL` | `protected_databases`表(表A-6)の保護対象データベースのID
`terminated_at` | `TIMESTAMP` | `NULL` | セッションの終了時刻
`is_admin` | `CHAR (ONLY:'0','1')` | `NOT NULL` | ユーザーがデータベースの管理者である場合は1に設定
`is_predefined` | `CHAR (ONLY:'0','1')` | `NOT NULL` | ユーザーが事前定義の(つまり、`protected_databases`表(表A-6)の作成時に自動的に作成された)データベース・ユーザーである場合は1に設定

### dictionary表

表A-4に、コード化された値から意味のあるテキストへの一連のマッピングを示します。この表は、値をレポート問合せにハードコード化せずに、レポートで理解しやすいテキストを生成するのに便利です。この付録の各表には、この表にリストされている値が使用されています。たとえば、複数の表に`cluster_type`というタイトルの列があります。この`dictionary`表には、`cluster_type`列に使用可能な値がリストされています。

表A-4 dictionary表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`category` | `VARCHAR2(30)` | `NOT NULL` | 項目の名前。可能な値は、次のとおりです。 `dialect` (データベース製品) `event_action` `log_action` `logging_code` `threat_severity` `cluster_type` `doa_object_type` `doa_object_subtype` `doa_object_class` `doa_edit_type` `database_event_type` `record_type` `response_status` `log_cause` `event_action_code` `session_data_origin`
`value` | `INTEGER` | `NOT NULL` | `category`列にリストされている項目の値。たとえば、categoryが`dialect`で、リストされているデータベース製品がOracleの場合は、2の値がここにリストされます。
`name` | `VARCHAR2(100)` | `NULL` | `value`列にリストされている値の説明。たとえば、`category`が`dialect`で、値が`2`の場合、ここにリストされる名前は`Oracle`です。

### protected_database_addresses表

表A-5に、各保護対象データベースのアドレスとポートの詳細を示します。

表A-5 protected_database_addresses表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`address_id` | `INTEGER` | `NOT NULL` | このレコードの一意のID
`address` | `VARCHAR2(255)` | `NOT NULL` | 保護対象データベースのIPアドレス
`port_number` | `INTEGER` | `NOT NULL` | 保護対象データベースへのアクセスに使用されるポート番号
`service_name` | `VARCHAR2(255 CHAR` | `NULL` | データベース・サービス名(オプション)
`database_id` | `INTEGER` | `NULL` | `protected_databases`表(表A-6)の保護対象データベースのID

### protected_databases表

表A-6に、各保護対象データベースに関する詳細を示します。

表A-6 protected_databases表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`database_id` | `INTEGER` | `NOT NULL` | データベースの一意のID
`name` | `VARCHAR2(250 CHAR)` | `NOT NULL` | データベース名
`dialect` | `SMALLINT` | `NOT NULL` | SQL言語: `1`: Microsoft SQL Server `2`: Oracle `5`: Sybase `7`: IBM DB2 (Linux、UNIX、Windows)
`description` | `VARCHAR2(1024 CHAR)` | `NULL` | データベースの説明
`is_sox_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからSOXレポートを作成できる場合は1に設定(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`is_pci_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからPCIレポートを作成できる場合は1に設定(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`is_dpa_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからDPAレポートを作成できる場合は1に設定(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`is_glba_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからGLBAレポートを作成できる場合は1に設定(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`is_hipaa_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからHIPAAレポートを作成できる場合は1に設定(`traffic_summaries`ビュー(表A-14)から使用することも可能)

### sources表

表A-7に、イベントのソース(システム全体に適用するイベントの関連ハードウェア(または仮想)デバイス、または監視によって検出されたイベントの監視強制ポイント)に関する詳細を示します。

表A-7 sources表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | イベントのソースの一意のIDで、ソースは、syslogメッセージの場合はアプライアンス(物理サーバー)、データベース・トラフィック関連のイベントまたは強制ポイント関連のsyslogメッセージの場合は強制ポイントのいずれかです。
`time` | `TIMESTAMP` | `NOT NULL` | イベントのソースがデータベースに追加された時刻
`name` | `VARCHAR2(30)` | `NOT NULL` | イベントのソースの短縮名
`is_hardware` | `CHAR (ONLY:'0','1')` | `NULL` | イベントのソースが強制ポイント以外のsyslogソースである場合は1に設定

### summary_clusters表

表A-8に、レポート作成の目的で使用する個々のクラスタに関する情報を示します。この表では、各クラスタの特性に加え、クラスタに表示される文の例も示します。

表A-8 summary_clusters表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`cluster_id` | `INTEGER` | `NOT NULL` | バイナリ・データのソースID
`grammar_version` | `INTEGER` | `NOT NULL` | 構文固有のバージョン番号
`dialect` | `SMALLINT` | `NOT NULL` | SQL言語: `1: Microsoft SQL Server` `2: Oracle`
`cluster_type` | `SMALLINT` | `NOT NULL` | クラスタに含まれている文のタイプ: 0: コンポジット 1: データ操作 2: データ定義 3: データ・コントロール `4`: 手続き型の文 `5`: データ操作 `6`: トランザクション `7`: トランザクション・コンポジット `8`: 無効 `traffic_summaries`ビュー(表A-14)も参照
`representation` | `CLOB` | `NOT NULL` | クラスタの文字列表現(パス)。未使用
`cluster_example` | `CLOB` | `NULL` | クラスタにある文の例(`traffic_summaries`ビュー(表A-14)から使用することも可能)

### cluster_components表

表A-9は、クラスタ・パス表現からクラスタ・コンポーネントに情報を分解したものです。この情報は、レポートで、指定されたデータベース表または表の列に関連するクラスタを選択するときに使用できます。

表A-9 cluster_components表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
cluster_id | `INTEGER` | NOT NULL | クラスタのグローバル識別子
grammar_version | `INTEGER` | NOT NULL | 構文固有のバージョン番号
dialect | `SMALLINT` | `NOT NULL` | クラスタのデータベース・タイプ。意味はディクショナリ表を参照してください(表A-9)。
component_index | `INTEGER` | NOT NULL | コンポーネントの索引(1から始まります)
component_type | `VARCHAR2(15)` | NOT NULL | 次のいずれかのコンポーネント・タイプ: ' 'keyword'、'column'、'table'、'stored_procedure'、'cluster_set
component_value | `VARCHAR2(4000)` | NULL | コンポーネント文字列

### summary_records表

表A-10に、各クラスタのオカレンス・カウントを1時間ごとのサマリーとしてトラフィック・ログに収集した主要な情報を示します。

表A-10 summary_records表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`summary_id` | `INTEGER` | `NOT NULL` | サマリー・レコードの一意のID
`session_id` | `INTEGER` | `NOT NULL` | `summary_sessions`表のセッションのID
`attribute_set_id` | `INTEGER` | `NOT NULL` | セッション属性のセット
`cluster_id` | `INTEGER` | `NOT NULL` | `summary_clusters`表(表A-10)のクラスタのIDで、`traffic_summaries`ビュー(表A-14)から使用することも可能
`attribute_id` | `INTEGER` | `NULL` | `summary_statement_attributes`表(表A-12)の属性のID
`grammar_version` | `INTEGER` | `NOT NULL` | 構文固有のバージョン番号
`response_status` | `INTEGER` | `NOT NULL` | データベース・レスポンス・モニタリングに対する文のレスポンス・コード: 0: 未定義 1: 未知 2: ログイン成功 3: ログイン失敗 `4`: 文成功 `5`: 文失敗 `traffic_summaries`ビュー(表A-14)も参照
`time` | `TIMESTAMP` | `NOT NULL` | Database FirewallがSQL文を取得した時刻(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`threat_severity` | `INTEGER` | `NOT NULL` | 文の脅威の重大度: `0`: 未割当て `1`: ほとんど問題なし `2`: 重要でない `3`: 中程度 `4`: 重度 `5`: 致命的 `traffic_summaries`ビュー(表A-14)も参照
`logging_code` | `SMALLINT` | `NOT NULL` | 文のロギング・レベル: `0`: 未割当て `1`: なし `2`: サンプル `3`: 常時 `4`: 1度 `5`: 一意 `traffic_summaries`ビュー(表A-14)も参照
`action_code` | `SMALLINT` | `NOT NULL` | 文のアクション・レベル: `1`: 既知のブロック `2`: 既知の警告 `3`: 未知のブロック `4`: 未知の警告 `traffic_summaries`ビュー(表A-14)も参照
`statement_count` | `INTEGER` | `NULL` | 前述の特性と同じ特性を持つ文の数(`traffic_summaries`ビュー(表A-14)から使用することも可能)

### summary_sessions表

新しいセッションは、クライアント・アプリケーションがデータベースに適切にログインすると開始されます。このセッションは、接続が存在しているかぎり存続します(多くの場合、アプリケーションがデータベースからログアウトするまで存続しますが、制御性が低い方法ではセッションが終了する場合があります)。セッションはクライアント・アプリケーションに関連付けられており、接続の確立に使用される認証または識別情報(主としてユーザー名)に関連付けられています。単純なクライアント・アプリケーションでは、作成されるセッションは1つか、場合によっては1つのセッションの後に次のセッションというように作成されます。より複雑なアプリケーションでは、多数のアクティブなセッションが同時に存在する場合があります。

注意: この表には、各セッションは記録されません。かわりに、1つ以上のフィールド(`source_id`、`client`、`user_id`、`baseline_id`および`dialect_version`)が既存のレコードと異なる場合に、新しいレコードが追加されます。

表A-11に、通常はセッションのソース・アドレスで識別される、各データベース・セッションに関する詳細を示します。

表A-11 summary_sessions表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`session_id` | `INTEGER` | `NOT NULL` | データベース・セッションの一意のID
`source_id` | `INTEGER` | `NULL` | `sources`表のソースのID(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`client` | `VARCHAR2(30)` | `NULL` | データベース・クライアントのIPアドレス(`traffic_summaries`ビュー(表A-14)から使用することも可能)
`user_id` | `INTEGER` | `NULL` | セッションを開始したユーザーのID(表A-3)
`baseline_id` | `INTEGER` | `NULL` | `applied_baselines`表(表A-1)のポリシーのID
`dialect_version` | `VARCHAR2(20)` | `NULL` | 未使用
`application_name` | `VARCHAR2(255)` | `NULL` | このセッションで使用されたクライアント・プログラムの名前
`os_user_name` | `VARCHAR2(255)` | `NULL` | オペレーティング・システムのユーザー名

### summary_statement_attributes表

表A-12には、`summary_records`表から要約可能な文の属性値が示されています。

表A-12 summary_statement_attributes表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NULL` | この表の各レコードのID
`hash` | `INTEGER` | `NULL` | すべての属性値の連結に関するCRC32(巡回冗長検査)の結果。高速検索を可能にする目的で内部でのみ使用されます。
`f5_response_code` | `VARCHAR2(4000)` | `NULL` | HTTPレスポンス・コード 注意: このフィールドおよびこの表の残りのフィールドは、F5 BIG-IP ASM統合にのみ関係しています。詳細は、第11章「Oracle Database FirewallとBIG-IP ASMの併用」を参照してください。
`f5_method` | `VARCHAR2(4000)` | `NULL` | HTTPリクエスト・メソッド
`f5_protocol` | `VARCHAR2(4000)` | `NULL` | リクエスト・プロトコル
`f5_uri` | `VARCHAR2(4000)` | `NULL` | リクエストされたリソース
`f5_ip` | `VARCHAR2(15)` | `NULL` | WebクライアントIPアドレス
`f5_web_application_name` | `VARCHAR2(64)` | `NULL` | Webアプリケーション名
`f5_unit_hostname` | `VARCHAR2(64)` | `NULL` | WAFボックスの名前
`f5_management_ip_address` | `VARCHAR2(15)` | `NULL` | WAF管理インタフェースのIPアドレス
`f5_policy_name` | `VARCHAR2(128)` | `NULL` | WAFポリシー名
`f5_x_forwarded_for_header_value` | `VARCHAR2(4000)` | `NULL` | HTTPリクエストの`X-FORWARDED-FOR`フィールドで提供されるIPアドレスのリスト
`f5_request_blocked` | `CHAR (ONLY:'0','1')` | `NULL` | HTTPリクエストがブロックされた場合は1に設定
`f5_web_username` | `VARCHAR2(128)` | `NULL` | Webユーザーの名前
`f5_referer` | `VARCHAR2(4000)` | `NULL` | HTTPリファラ
`f5_web_host` | `VARCHAR2(256)` | `NULL` | Webアプリケーション・サーバー名
`f5_user_agent` | `VARCHAR2(1024)` | `NULL` | IHTTPユーザー・エージェント
`f5_cardinal_ip` | `VARCHAR2(15)` | `NULL` | HTTPリクエストを開始したクライアントのIPアドレス。リクエストが発行されたHTTP接続のクライアントIPアドレスまたはHTTPヘッダー・レコード「X-FORWARDED-FOR」の値(ある場合)が使用されます。
`f5_primary_violation` | `VARCHAR2(64)` | `NULL` | 優先順位が最も高い`attr_f5_violations`違反
`f5_match_result` | `VARCHAR2(4000)` | `NULL` | 次のいずれかの値 `1: PolicyConflict` `2: PolicyConfirmed` `3: WAFBlocked` `4: NoMatchDataMasked` `5: NoMatch`

### traffic_events表

表A-13 に、強制ポイントによってsyslog経由で送信されたイベント、または送信の可能性があるイベントに関する詳細を示します。これらのイベントは、主として監視からのアラートです。

表A-13 traffic_events表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`event_id` | `INTEGER` | `NOT NULL` | トラフィック・イベントの一意のID
`source_id` | `INTEGER` | `NOT NULL` | `sources`表(ソース表)のソース・イベントのID
`time` | `TIMESTAMP` | `NOT NULL` | イベントの発生時刻
`cluster_id` | `INTEGER` | `NULL` | クラスタのID
`action` | `INTEGER` | `NULL` | 文が属しているクラスタのアクション・レベル: `0`: 未割当て `1`: ブロック `2`: 警告 `3`: 通過
`threat_severity` | `INTEGER` | `NULL` | クラスタの脅威の重大度: `0`: 未割当て `1`: ほとんど問題なし `2`: 重要でない `3`: 中程度 `4`: 重度 `5`: 致命的
`log_level` | `INTEGER` | `NULL` | クラスタのロギング・レベル: `0`: 未割当て `1`: なし `2`: サンプル `3`: 常時 `4`: 1度 `5`: 一意
`db_client` | `VARCHAR2(30 CHAR)` | `NULL` | 文を送信したデータベース・クライアントのIPアドレス
`db_server` | `VARCHAR2(30 CHAR)` | `NULL` | データベース・サーバーのIPアドレス
`db_user` | `VARCHAR2(255 CHAR)` | `NULL` | 文を送信したデータベース・ユーザーの名前
`web_user` | `VARCHAR2(255 CHAR)` | `NULL` | Webユーザーの名前(WAFアラートでのみ使用可能)
`web_application` | `VARCHAR2(255 CHAR)` | `NULL` | Webアプリケーション名(WAFアラートでのみ使用可能)
`http_protocol` | `VARCHAR2(255 CHAR)` | `NULL` | リクエスト・プロトコル(WAFアラートでのみ使用可能): `http` `https`
`http_method` | `VARCHAR2(255 CHAR)` | `NULL` | HTTPリクエスト・メソッド(WAFアラートでのみ使用可能)。例: `POST`、`GET`など
`http_uri` | `VARCHAR2(255 CHAR)` | `NULL` | リクエストされたリソース(WAFアラートでのみ使用可能)。例: `faq.asp`
`http_query_string` | `VARCHAR2(2048 CHAR)` | `NULL` | リクエスト。例: `GET parameters: action=save`
`http_referrer` | `VARCHAR2(255 CHAR)` | `NULL` | HTTPリファラ(WAFアラートでのみ使用可能)。例: `http:`//192.0.2.220
`http_host` | `VARCHAR2(255 CHAR)` | `NULL` | Webアプリケーション・サーバー名(WAFアラートでのみ使用可能)。IPアドレスの場合があります(例: 192.0.2.220)。
`http_user_agent` | `VARCHAR2(255 CHAR)` | `NULL` | HTTPユーザー・エージェント(WAFアラートでのみ使用可能)。例: `Mozilla/4.0 (compatible; MSIE 7.0;` `Windows NT 5.1`)
`http_response_code` | `VARCHAR2(30 CHAR)` | `NULL` | HTTPレスポンス・コード(WAFアラートでのみ使用可能)
`http_request` | `VARCHAR2(2048 CHAR)` | `NULL` | 完全なHTTPリクエスト。`POST`データが含まれます(WAFアラートでのみ使用可能)
`waf_host_name` | `VARCHAR2(255 CHAR)` | `NULL` | WAFアプライアンスの名前(WAFアラートでのみ使用可能)
`waf_management_ip` | `VARCHAR2(30 CHAR)` | `NULL` | WAF管理インタフェースのIPアドレス(WAFアラートでのみ使用)
`waf_policy_name` | `VARCHAR2(255 CHAR)` | `NULL` | WAFポリシー名(WAFアラートでのみ使用可能)
`waf_policy_date` | `TIMESTAMP` | `NULL` | WAFポリシーを適用した時刻(WAFアラートでのみ使用可能)
`waf_support_id` | `VARCHAR2(255 CHAR)` | `NULL` | WAFシステムのイベントの一意のID(WAFアラートでのみ使用可能)
`waf_request_blocked` | `VARCHAR2(30 CHAR)` | `NULL` | HTTPリクエストがブロックされた場合は`TRUE`(WAFアラートでのみ使用可能)
`waf_session_cookies` | `VARCHAR2(512 CHAR)` | `NULL` | HTTPリクエストで送信されたすべてのセッションCookie(WAFアラートでのみ使用可能)
`primary_violation` | `VARCHAR2(255 CHAR)` | `NULL` | 優先順位が最も高い違反(WAFアラートでのみ使用可能)
`cardinal_ip` | `VARCHAR2(30 CHAR)` | `NULL` | 攻撃者のIPアドレス
`match_result` | `INTEGER` | `NULL` | 次のいずれか(WAFアラートでのみ使用可能): `1`: 確認済 `2`: 未確認 `3`: 検証不可
`statement_id` | `INTEGER` | `NULL` | 文の一意のID(連番)
`statement` | `VARCHAR2(2048 CHAR)` | `NULL` | SQL文の文字列(切り捨てられる可能性あり)

### traffic_summariesビュー

表A-14に、他の表のデータに対するビューを示します。

表A-14 traffic_summariesビュー

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`database_id` | `INTEGER` | `NOT NULL` | protected_databases表のデータベースのID
`db_name` | `VARCHAR2(250)` | `NOT NULL` | 保護対象データベースの名前: `Microsoft SQL Server` `Oracle` `Sybase ASE` `Sybase SQL Anywhere` `DB2/LUW` (Linux、UNIX、Windows)
`dialect` | `SMALLINT` | `NOT NULL` | データベースで使用されるSQL言語: `1`: Microsoft SQL Server `2`: Oracle `5`: Sybase ASE `6`: Sybase SQL Anywhere `8`: DB2/LUW (Linux、UNIX、Windows)
`is_sox_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからSOXレポートを作成できる場合は1に設定(`protected_databases` (表A-6)から)
`is_pci_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからPCIレポートを作成できる場合は1に設定(`protected_databases` (表A-6)から)
`is_dpa_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからDPAレポートを作成できる場合は1に設定(`protected_databases` (表A-6)から)
`is_glba_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからGLBAレポートを作成できる場合は1に設定(`protected_databases` (表A-6)から)
`is_hipaa_database` | `CHAR (ONLY:'0','1')` | `NOT NULL` | データベースからHIPAAレポートを作成できる場合は1に設定(`protected_databases` (表A-6)から)
`baseline_id` | `INTEGER` | `NOT NULL` | applied_baselines表のベースラインのID
`baseline_name` | `VARCHAR2(1024)` | `NOT NULL` | ベースラインの名前
`grammar_version` | `INTEGER` | `NOT NULL` | 構文バージョン
`session_id` | `INTEGER` | `NOT NULL` | summary_sessions表のセッションのID
`client` | `VARCHAR2(30)` | `NULL` | データベース・クライアントのIPアドレス
`user_id` | `INTEGER` | `NULL` | database_users表のユーザーのID
`user_name` | `VARCHAR2(255)` | `NULL` | データベース・ユーザーの名前
`dialect_version` | `VARCHAR2(20)` | `NULL` | 未使用
`source_id` | `INTEGER` | `NULL` | `sources`表(表A-7)のソースのID
`application_name` | `VARCHAR2(255)` | `NULL` | このセッションでクライアント・ソフトウェアとして使用されるアプリケーション名
`os_user_name` | `VARCHAR2(255)` | `NULL` | オペレーティング・システムのユーザー名
`cluster_example` | `CLOB` | `NULL` | クラスタに含まれている文の例
`summary_id` | `INTEGER` | `NOT NULL` | summary_records表のレコードのID
`time` | `TIMESTAMP` | `NOT NULL` | 文のカウント時刻
`cluster_id` | `INTEGER` | `NOT NULL` | クラスタのID(`summary_records`表(表A-10)から)
`attribute_id` | `INTEGER` | NULL | summary_clusters表のクラスタのID
`threat_severity` | `INTEGER` | `NOT NULL` | 文の脅威の重大度: `0`: 未割当て `1`: ほとんど問題なし `2`: 重要でない `3`: 中程度 `4`: 重度 `5`: 致命的
`logging_code` | `SMALLINT` | `NOT NULL` | 文のロギング・レベル: `0`: 未割当て `1`: なし `2`: サンプル `3`: 常時 `4`: 1度 `5`: 一意
`action_code` | `SMALLINT` | `NOT NULL` | 文のアクション・レベル: `1`: 既知のブロック `2`: 既知の警告 `3`: 未知のブロック `4`: 未知の警告
`cluster_type` | `SMALLINT` | `NOT NULL` | クラスタに含まれている文のタイプ: 0: コンポジット 1: データ操作 2: データ定義 3: データ・コントロール `4`: 手続き型の文 `5`: データ操作 `6`: トランザクション `7`: トランザクション・コンポジット `8`: 無効
`response_status` | `INTEGER` | `NOT NULL` | 文のレスポンス・コード: 0: 未定義 1: 未知 2: ログイン成功 3: ログイン失敗 `4`: 文成功 `5`: 文失敗
`statement_count` | `INTEGER` | `NULL` | この表にリストされている特性と同じ特性を持つSQL文の数

### サマリー表の関連図

図A-1に、それぞれの `summary`データベース表の関連を示します。

図A-1 サマリー表の関連図

「図A-1 サマリー表の関連図」の説明

## ログ・フォレンジック表

この項の内容は、次のとおりです。

- フォレンジック表の概要

- traffic_log_queries表

- traffic_log_query_results表

### フォレンジック表の概要

フォレンジック表には、Oracle Database Firewallがログに記録するすべてのSQL文に関する情報が格納されます。データ量が多くなる場合があるため、Oracle Database Firewallでは、管理コンソールを介してログ・ファイルを問い合せることができます。これらのログ・ファイルは、この項で説明する`traffic_log_queries`および`traffic_log_query_results`の2つの表に格納されます。

ログ・ファイルを検索する手順は、次のとおりです。

1. スタンドアロンDatabase FirewallまたはManagement Server管理コンソールにログインします。

   詳細は、「管理コンソールへのログイン」を参照してください。

2. 「Reporting」タブを選択します。

3. 「Traffic Log」メニューで、「Search Log」または「Log Search Results」を選択します。

   トラフィック・ログへのアクセスに関する詳細は、『Oracle Database Firewallセキュリティ・ガイド』を参照してください。

これらの2つの表に加え、検索ごとにOracle Database Firewallでは新しい表が作成されます。この表は、`traffic_log_query_results`から導出され、`traffic_log_query_results_``id`という形式の名前(`id`は検索の識別子)が指定されます。指定の検索で`traffic_log_queries`表のエントリが削除されると、この表も削除されます。

### traffic_log_queries表

表A-15 に、ログ検索の対象期間やフィルタ設定など、各ログ検索のプロパティを示します。管理コンソールのレポート作成ページで検索ログが使用されるたびに、表に新しい行が追加されます。各フィールドの意味に関する詳細は、表A-16を参照してください。

表A-15 traffic_log_queries表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | 問合せの一意のID
`title` | `VARCHAR2(100)` | `NULL` | レポートのタイトル
`started_at` | `TIMESTAMP` | `NULL` | 問合せの開始時刻
`finished_at` | `TIMESTAMP` | `NULL` | 問合せの終了時刻
`aborted_at` | `TIMESTAMP` | `NULL` | ユーザーが問合せを取り消した時刻
`deleted_at` | `TIMESTAMP` | `NULL` | 問合せの削除時刻
`results_table` | `VARCHAR2(30)` | `NULL` | `traffic_log_query_results_``id`形式(`id`は検索のIDを特定する整数)の結果表の名前(表A-16を参照)
`time_from` | `TIMESTAMP` | `NOT NULL` | 抽出(フィルタ処理)対象となるデータ時間範囲の開始時刻
`time_to` | `TIMESTAMP` | `NOT NULL` | 抽出(フィルタ処理)対象となるデータ時間範囲の終了時刻
`real_time_from` | `INTERVAL DAY(3) TO SECOND(2)` | `NULL` | 時間範囲の終了から相対的に示した時間範囲の開始
`real_time_from` | `INTERVAL DAY(3) TO SECOND(2)` | `NULL` | 任意の時間から相対的に示した時間範囲の終了
`filter` | `CLOB` | `NULL` | エントリ数を絞り込むためのフィルタ
`records_limit` | `INTEGER` | `NULL` | 抽出(フィルタ処理)する最大レコード数(`NULL`は非推奨。)
`records_count` | `INTEGER` | `NULL` | 管理コンソールで検索および表示されたレコード数の記録
`searched_files` | `INTEGER` | `NULL` | 管理コンソールで検索および表示されたファイル数の記録
`total_files` | `INTEGER` | `NULL` | 管理コンソールで検索および表示の対象になっているファイル数の記録
`status` | `VARCHAR2(255)` | `NULL` | 検索のステータス

### traffic_log_query_results表

表A-16に、`traffic_log_query_results_``id`(`id`は検索のIDを特定する整数)のテンプレートを示します。この表には、ログ検索の結果が格納され、取得した各SQL文ごとに1行が確保されます。この`traffic_log_query_results_``id`表は、ログ検索が実行されると自動的に作成され、ユーザーがログ検索を削除すると削除されます。

表A-16 traffic_log_query_results表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | この結果セットのID
`query_id` | `INTEGER` | `NULL` | この結果セットの定義に使用された問合せのID
`logfile_id` | `INTEGER` | `NULL` | この特定の文が含まれているログ・ファイルのID
`statement_id` | `INTEGER` | `NULL` | 文またはイベントのID
`record_type` | `SMALLINT` | `NOT NULL` | レコードのタイプ: `1`: 文レコード `2`: セッション・レコード
`source_name` | `VARCHAR2(30)` | `NULL` | ログ・ファイルを収集したデバイスの名前
`origin` | `VARCHAR2(255)` | `NULL` | レコードの作成元。次のいずれかです。 `dbfw` `f5` `dbfw、f5`
`protected_database` | `VARCHAR2(250)` | `NULL` | 保護対象データベースの名前
`database_dialect` | `SMALLINT` | `NOT NULL` | 保護対象データベースのデータベース・タイプ(言語): `1`: Microsoft SQL Server `2`: Oracle `5`: Sybase `7`: IBM DB2 (Linux、UNIX、Windows)
`user_name` | `VARCHAR2(255)` | `NULL` | 文に関連付けられているデータベース・ユーザー名
`user_name_origin` | `SMALLINT` | `NULL` | データベース・ユーザー名の作成元: `0`: 未定義 1: 生成 `2`: ネットワーク `3`: DB問合せ
`raw_user_name` | `VARCHAR2(255)` | `NULL` | Oracle Database Firewallが文ポリシーを適用する際に使用したデータベース・ユーザー名
`session_seq` | `INTEGER` | `NULL` | 内部セッション順序番号
`client_ip` | `VARCHAR2(30)` | `NULL` | 文を送信したデータベース・クライアントのIPアドレス
`client_port` | `INTEGER` | `NULL` | 文を送信したデータベース・クライアントのポート番号
`server_ip` | `VARCHAR2(30)` | `NULL` | 文を受信したデータベース・サーバーのIPアドレス
`server_port` | `INTEGER` | `NULL` | 文を受信したデータベース・サーバーのポート番号
`baseline` | `VARCHAR2(1024)` | `NULL` | 文を記録する際に使用されたポリシーの名前
`traffic_source` | `VARCHAR2(30)` | `NULL` | トラフィックのソース: `network` `local agent`
`dialect_version` | `VARCHAR2(20)` | `NULL` | 構文実装の内部バージョンまたはリビジョン
`statement` | `CLOB` | `NOT NULL` | システムによって取得された文のテキスト
`time` | `TIMESTAMP` | `NOT NULL` | システムによって文が取得された時刻
`threat_severity` | `INTEGER` | `NOT NULL` | 文の脅威の重大度: `0`: 未割当て `1`: ほとんど問題なし `2`: 重要でない `3`: 中程度 `4`: 重度 `5`: 致命的
`logging_code` | `SMALLINT` | `NOT NULL` | 文のロギング・レベル: `0`: 未割当て `1`: なし `2`: サンプル `3`: 常時 `4`: 1度 `5`: 一意
`log_cause` | `SMALLINT` | `NOT NULL` | 文のロギングの理由: 0: 未定義 1: クラスタ 2: ノベルティ 3: ベースライン異常 `4`: 無効なSQL `5`: WAF `6`: ログイン `7`: ログアウト
`action_code` | `SMALLINT` | `NOT NULL` | 文のアクション・レベル: `1`: 既知のブロック `2`: 既知の警告 `3`: 未知のブロック `4`: 未知の警告
`event_action_code` | `SMALLINT` | `NULL` | 文のログへの記録の原因となったアラート基準: 0: 未定義 1: アラートなし 2: 常にアラート 3: 成功時にアラート `4`: 失敗時にアラート `5`: ブロック
`freq_code` | `INTEGER` | `NOT NULL` | このレコードで示されている文の数。 `log all`モードでは、各文がログに個別に記録されるため値は1です。 `log unique`モードでは、ユーザー名、IPアドレスおよびクラスタの一意の組合せの最初のオカレンスのみがログに記録されるため、値は1です。 `log sample`モードでは、値は1より大きい場合があります。
`cluster_id` | `INTEGER` | `NOT NULL` | 文に関連付けられているクラスタのグローバルID
`cluster_type` | `INTEGER` | `NOT NULL` | クラスタに含まれている文のタイプまたはクラス: 0: コンポジット 1: データ操作 2: データ定義 3: データ・コントロール `4`: 手続き型の文 `5`: データ操作 `6`: トランザクション `7`: トランザクション・コンポジット `8`: 無効
`grammar_version` | `INTEGER` | `NOT NULL` | 構文固有のバージョン番号
`response_code` | `INTEGER` | `NULL` | データベース・サーバーが返したレスポンス・コード
`response_text` | `CLOB` | `NULL` | データベース問合せの失敗によって返されたエラー・メッセージ
`response_detailed_status` | `CLOB` | `NULL` | データベース・サーバーが返したレスポンスの詳細なテキスト
`failure_count` | `INTEGER` | `NULL` | 失敗となった後続の文の数
`response_time` | `TIMESTAMP` | `NULL` | Oracle Database Firewallが文レスポンスを取得する時刻
`response_status` | `INTEGER` | `NULL` | レスポンスのステータス: 0: 未定義 1: 未知 2: ログイン成功 3: ログイン失敗 `4`: 文成功 `5`: 文失敗
`transaction_time` | `DOUBLE PRECISION` | `NULL` | レスポンス時刻とリクエスト時刻との差異
`application_name` | `VARCHAR2(255)` | `NULL` | データベースに接続されているクライアント・アプリケーションの名前
`application_name_origin` | `SMALLINT` | `NULL` | アプリケーションの作成元: `0`: 未定義 1: 生成 `2`: ネットワーク `3`: DB問合せ
`os_user_name` | `VARCHAR2(255)` | `NULL` | 文を実行したオペレーティング・システム・ユーザー名
`os_user_name_origin` | `SMALLINT` | `NULL` | オペレーティング・システム・ユーザーの作成元: `0`: 未定義 1: 生成 `2`: ネットワーク `3`: DB問合せ
`attr_f5_request` | `CLOB` | `NULL` | POSTデータも含めた完全なHTTPリクエスト 注意: このフィールドおよびこの表の残りのフィールドは、F5 BIG-IP ASM統合にのみ関係しています。詳細は、付録11「Oracle Database FirewallとBIG-IP ASMの併用」を参照してください。
`attr_f5_headers` | `CLOB` | `NULL` | HTTP request
`attr_f5_response_code` | `CLOB` | `NULL` | HTTPレスポンス・コード
`attr_f5_method` | `CLOB` | `NULL` | HTTPリクエスト・メソッド
`attr_f5_protocol` | `CLOB` | `NULL` | リクエスト・プロトコル
`attr_f5_uri` | `CLOB` | `NULL` | リクエストされたリソース
`attr_f5_query_string` | `CLOB` | `NULL` | `GET`メソッドを使用して送信されたリクエスト・パラメータを含むURLの一部
`attr_f5_ip` | `VARCHAR2(15)` | `NULL` | WebクライアントIPアドレス
`attr_f5_web_application_name` | `VARCHAR2(64)` | `NULL` | Webアプリケーション名
`attr_f5_violations` | `CLOB` | `NULL` | 識別されたWAF違反
`attr_f5_unit_hostname` | `VARCHAR2(64)` | `NULL` | WAFボックスの名前
`attr_f5_management_ip_address` | `VARCHAR2(15)` | `NULL` | WAF管理インタフェースのIPアドレス
`attr_f5_policy_name` | `VARCHAR2(128)` | `NULL` | WAFポリシー名
`attr_f5_policy_apply_date` | `TIMESTAMP` | `NULL` | ポリシーが適用された時刻
`attr_f5_x_forwarded_for_header_value` | `CLOB` | `NULL` | HTTPリクエストの`X-FORWARDED-FOR`フィールドで提供されるIPアドレスのリスト
`attr_f5_support_id` | `VARCHAR2(20)` | `NULL` | WAFシステムのイベントの一意のID
`attr_f5_request_blocked` | `CHAR (ONLY:'0','1')` | `NULL` | HTTPリクエストがブロックされた場合は1に設定
`attr_f5_web_username` | `VARCHAR2(128)` | `NULL` | Webユーザーの名前
`attr_f5_authentication_method` | `CLOB` | `NULL` | セッションの認証方式
`attr_f5_referer` | `CLOB` | `NULL` | HTTPリファラ
`attr_f5_web_host` | `VARCHAR2(256)` | `NULL` | Webアプリケーション・サーバー名
`attr_f5_user_agent` | `VARCHAR2(1024)` | `NULL` | HTTPユーザー・エージェント
`attr_f5_cardinal_ip` | `VARCHAR2(15)` | `NULL` | `attr_f5_ip`および`attr_f5_x_forwarded_for_header_value`から導出されたIPアドレス
`attr_f5_primary_violation` | `VARCHAR2(64)` | `NULL` | 優先順位が最も高い`attr_f5_violations`違反
`attr_f5_session_cookies` | `CLOB` | `NULL` | HTTPリクエストで送信されたすべてのセッションCookie
`attr_f5_match_result` | `CLOB` |  | 照合結果は次のいずれかです。 `PolicyConflict` `PolicyConfirmed` `WAFBlocked` `NoMatchDataMasked` `NoMatch`
`attr_f5_match_tokens` | `CLOB` | `NULL` | 一致したトークンのリスト

## ストアド・プロシージャおよびユーザー・ロールの監査表

この項の内容は、次のとおりです。

- ストアド・プロシージャおよびユーザー・ロールの監査表の概要

- doa_approved_edits表

- doa_approved_objects表

- doa_edit_comments表

- doa_edits表

- doa_pending_approvals表

- doa_tag_definitions表

### ストアド・プロシージャおよびユーザー・ロールの監査表の概要

データベース・オブジェクトの監査表には、ストアド・プロシージャおよびユーザー・ロールの監査機能によって収集されたストアド・プロシージャおよびユーザー・ロールに関する情報が格納されます。

ストアド・プロシージャおよびユーザー・ロールの監査表に取得された情報について説明するレポートを検索する手順は、次のとおりです。

1. スタンドアロンDatabase FirewallまたはManagement Server管理コンソールにログインします。

   詳細は、「管理コンソールへのログイン」を参照してください。

2. 「Reporting」タブを選択します。

3. 次のいずれかを実行します。

   - ストアド・プロシージャの監査の場合は、「Stored Procedure Auditing」メニューから選択します。

     詳細は、『Oracle Database Firewallセキュリティ・ガイド』を参照してください。

   - ユーザー・ロールの監査の場合は、「User Role Auditing」メニューから選択します。

     詳細は、『Oracle Database Firewallセキュリティ・ガイド』を参照してください。

### doa_approved_edits表

表A-17に、承認されたオブジェクト(ストアド・プロシージャまたはユーザー・ロール)に対する各変更セットに関する詳細を示します。この情報は、ユーザー・ロールの監査およびストアド・プロシージャの監査に使用されます。

表A-17 doa_approved_edits表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | このオブジェクトを監査する監視ポイントの一意のID
`source_id` | `INTEGER` | `NOT NULL` | オブジェクトを監視する強制ポイントのID
`database_id` | `INTEGER` | `NULL` | 保護対象データベースのID
`object_type` | `INTEGER` | `NOT NULL` | オブジェクトのタイプ: `0`: 未定義 `1`: ストアド・プロシージャ `2`: ユーザー
`object_subtype` | `INTEGER` | `NOT NULL` | オブジェクトのサブタイプ: `0`: 未定義 `1`: プロシージャ `2`: ファンクション `3`: トリガー `4`: パッケージ `5`: パッケージ本体 `6`: Javaソース `7`: 拡張プロシージャ `8`: スカラー関数 `9`: インライン表関数 `10`: レプリケーション・フィルタ `11`: 表関数
`object_class` | `INTEGER` | `NOT NULL` | オブジェクト・クラス: `0`: 未定義 `1`: システム `2`: ユーザー
`name` | `VARCHAR2(1024)` | `NOT NULL` | オブジェクトの名前
`tags` | `VARCHAR2(2048)` | `NULL` | オブジェクトに関連付けられているタグ
`changes_summary` | `VARCHAR2(255)` | `NULL` | 承認された変更セットのサマリーが含まれています(例: `3 modifications`)。これは`doa_pending_approvals` (表A-21)からの値のコピーです。
`changed_by` | `VARCHAR2(2048)` | `NULL` | 変更を担当したデータベース・ユーザーの名前のカンマ区切りのリスト(`doa_pending_approvals` (表A-21)からの値のコピー)
`last_changed_at` | `VARCHAR2(2048)` | `NULL` | オブジェクトが変更された日時
`detected_at` | `TIMESTAMP` | `NOT NULL` | 変更がManagement Serverで検出された日時
`approved_by` | `VARCHAR2(255)` | `NOT NULL` | 変更セットを承認した管理コンソール・ユーザーの名前
`approved_at` | `TIMESTAMP` | `NOT NULL` | 変更が承認された日時
`user_comment` | `CLOB` | `NOT NULL` | 変更承認時にユーザーによって追加されたコメント

### doa_approved_objects表

表A-18に、承認したオブジェクト(ストアド・プロシージャまたはユーザー・ロール)に対する最新の変更セットのサマリーを示します。この情報は、ユーザー・ロールの監査およびストアド・プロシージャの監査に使用されます。

表A-18 doa_approved_objects表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | オブジェクトの一意のID
`source_id` | `INTEGER` | `NOT NULL` | オブジェクトを監視する強制ポイントのID
`database_id` | `INTEGER` | `NULL` | 保護対象データベースのID
`object_type` | `INTEGER` | `NOT NULL` | オブジェクトのタイプ: `0`: 未定義 `1`: ストアド・プロシージャ `2`: ユーザー
`object_subtype` | `INTEGER` | `NOT NULL` | オブジェクトのサブタイプ: `0`: 未定義 `1`: プロシージャ `2`: ファンクション `3`: トリガー `4`: パッケージ `5`: パッケージ本体 `6`: Javaソース `7`: 拡張プロシージャ `8`: スカラー関数 `9`: インライン表関数 `10`: レプリケーション・フィルタ `11`: 表関数
`object_class` | `INTEGER` | `NOT NULL` | オブジェクト・クラス: `0`: 未定義 `1`: システム `2`: ユーザー
`name` | `VARCHAR2(1024)` | `NOT NULL` | オブジェクトの名前
`tags` | `VARCHAR2(2048)` | `NULL` | オブジェクトに関連付けられているタグ
`signature` | `VARCHAR2(40)` | `NULL` | オブジェクトのハッシュ(base64) (シグネチャの変更はオブジェクトの変更を意味する)
`changes_summary` | `VARCHAR2(255)` | `NULL` | 変更のサマリー
`changed_by` | `VARCHAR2(2048)` | `NULL` | オブジェクトを変更したデータベース・ユーザー
`changed_at` | `TIMESTAMP` | `NULL` | オブジェクトが変更された時刻
`approved_by` | `VARCHAR2(255)` | `NOT NULL` | 最新の変更セットを承認した管理コンソール・ユーザーの名前
`approved_at` | `TIMESTAMP` | `NOT NULL` | 変更が承認された日時
`content` | `CLOB` | `NULL` | 現在承認されているオブジェクトの内容

### doa_edit_comments表

表A-19に、変更承認時に追加された各コメントに関する詳細を示します。この情報は、ユーザー・ロールの監査およびストアド・プロシージャの監査に使用されます。

表A-19 doa_edit_comments表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | コメントの一意のID
`approval_id` | `INTEGER` | `NOT NULL` | `doa_pending_approvals`表(表A-21)内の保留されている承認のID
`user_comment` | `CLOB` | `NOT NULL` | コメント・テキスト
`created_by` | `VARCHAR2(255)` | `NOT NULL` | コメントを追加した管理コンソール・ユーザーの名前
`created_at` | `TIMESTAMP` | `NOT NULL` | コメントの作成日時

### doa_edits表

表A-20に、承認されたすべてのオブジェクトに関する詳細を示します。この情報は、ストアド・プロシージャの監査およびユーザー・ロールの監査に使用されます。

表A-20 doa_edits表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | オブジェクト(ストアド・プロシージャまたはユーザー・ロール)の一意のID
`approval_id` | `INTEGER` | `NOT NULL` | `doa_pending_approvals`表(表A-21)内の保留されている承認のID
`signature` | `VARCHAR2(40)` | `NULL` | オブジェクトのハッシュ(シグネチャの変更はオブジェクトの変更を意味する)
`content` | `CLOB` | `NULL` | オブジェクトの新しい内容
`edit_type` | `SMALLINT` | `NOT NULL` | 変更のタイプ: `1`: 新規 `2`: 変更 `3`: 削除
`changed_by` | `VARCHAR2(255)` | `NULL` | オブジェクトを変更したデータベース・ユーザーの名前
`changed_at` | `TIMESTAMP` | `NULL` | オブジェクトが変更された日時
`detected_at` | `TIMESTAMP` | `NULL` | 変更がManagement Serverで検出された日時

### doa_pending_approvals表

表A-21に、承認保留中のオブジェクト(ストアド・プロシージャまたはユーザー・ロール)に対する変更のサマリーを示します。この情報は、ユーザー・ロールの監査およびストアド・プロシージャの監査に使用されます。

表A-21 doa_pending_approvals表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | オブジェクトの一意のID
`source_id` | `INTEGER` | `NOT NULL` | オブジェクトを監視する強制ポイントのID
`database_id` | `INTEGER` | `NULL` | 保護対象データベースのID
`object_type` | `INTEGER` | `NOT NULL` | オブジェクトのタイプ: `0`: 未定義 `1`: ストアド・プロシージャ `2`: ユーザー
`object_subtype` | `INTEGER` | `NOT NULL` | オブジェクトのサブタイプ: `0`: 未定義 `1`: プロシージャ `2`: ファンクション `3`: トリガー `4`: パッケージ `5`: パッケージ本体 `6`: Javaソース `7`: 拡張プロシージャ `8`: スカラー関数 `9`: インライン表関数 `10`: レプリケーション・フィルタ `11`: 表関数
`object_class` | `INTEGER` | `NOT NULL` | オブジェクト・クラス: `0`: 未定義 `1`: システム `2`: ユーザー
`name` | `VARCHAR2(1024)` | `NOT NULL` | オブジェクトの名前
`tags` | `VARCHAR2(2048)` | `NULL` | オブジェクトに関連付けられているタグ
`is_declined` | `CHAR (ONLY:'0','1')` | `NULL` | 一括操作では変更の承認を不要にする場合は1に設定(デフォルトは`FALSE`)
`is_updated` | `CHAR (ONLY:'0','1')` | `NULL` | 以前に拒否された変更が、Management Serverによって更新された場合は1に設定。(この保留中の承認を拒否するには、`is_declined`を`1`に、`is_updated`を`0`に設定します。)
`changed_by` | `VARCHAR2(2048)` | `NULL` | 前回の承認以降にオブジェクトを変更したデータベース・ユーザーの名前のカンマ区切りのリスト
`last_changed_at` | `TIMESTAMP` | `NULL` | オブジェクトに対する最終変更日時
`last_signature` | `VARCHAR2(40)` | `NULL` | オブジェクトのハッシュ(シグネチャの変更はオブジェクトの変更を意味する)
`last_edit_type` | `SMALLINT` | `NOT NULL` | 最終変更のタイプ: `0`: 未定義 `1`: 新規 `2`: 変更 `3`: 削除 `4`: 変更なし
`edit_cnt_new` | `INTEGER` | `NULL` | `new`タイプの新規変更に対する番号
`edit_cnt_modify` | `INTEGER` | `NULL` | `modify`タイプの新規変更に対する番号
`edit_cnt_delete` | `INTEGER` | `NULL` | `delete`タイプの新規変更に対する番号
`changes_summary` | `VARCHAR2(255)` | `NULL` | 前述の変更のサマリー(例: `3 modifications)`
`updated_at` | `TIMESTAMP` | `NOT NULL` | Database Firewallでレコードが最後に更新された日時

### doa_tag_definitions表

表A-22 には、ストアド・プロシージャまたはユーザー・ロールに適用可能なタグの定義が格納されます。

表A-22 doa_tag_definitions表

列 | データ型 | NULL | 説明
--- | --- | --- | ---
`id` | `INTEGER` | `NOT NULL` | 定義の一意のID
`object_type` | `INTEGER` | `NOT NULL` | タグの適用先オブジェクトのタイプ: `0`: 未定義 `1`: ストアド・プロシージャ `2`: ユーザー
`dialect` | `SMALLINT` | `NOT NULL` | データベースのデータベース・タイプ(言語): `1`: Microsoft SQL Server `2`: Oracle `5`: Sybase ASE `7`: IBM DB2 (Linux、UNIX、Windows)
`key` | `VARCHAR2(255)` | `NOT NULL` | タグ定義のID。タイプと言語の内部では一意にする必要があります。
`pattern` | `VARCHAR2(2048)` | `NULL` | タグを適用するために、オブジェクトの内容と照合する正規表現
`tag` | `VARCHAR2(255)` | `NULL` | 適用されるタグ
`is_enabled` | `CHAR (ONLY:'0','1')` | `NOT NULL` | タグ定義を使用できる場合は1に設定
`is_predefined` | `CHAR (ONLY:'0','1')` | `NOT NULL` | 製品とともにタグ定義が供給された場合は1に設定

## レポート関連の関数

Oracle Database Firewallに埋め込まれているOracle Databaseには`report_lib`パッケージが含まれ、このパッケージの関数を使用するとレポートでのデータ表現形式を統一できます。これらの関数を次に説明し、関数は太字で示します。

compact( a_content CLOB, a_max_len NUMBER, a_truncation_suffix VARCHAR2 )

  戻り値: VARCHAR2

  CLOBをVARCHAR2に変換します。重複する空白は入力文字列から削除されます。処理後の文字列の長さが指定の最大長を超えた場合、文字列は切り捨てられ、接尾辞が追加されます。入力データで重複する空白が30%を超える場合、出力文字列はa_max_lenより短くなる可能性があります。パフォーマンスの向上を図るために、入力されるCLOBをまずa_max_lenの3倍までに切り捨ててから、データで重複する空白が処理されます。

format_timestamp(tm TIMESTAMP)

  戻り値: VARCHAR2

  日付、時刻、小数形式の秒までを表す文字列を返します。この関数を使用すると、レポートでのタイムスタンプ書式を一元的に管理することができます。デフォルトの書式はdd-MON-yyyy HH24:MI:SS.FF3です(例: 18-JAN-2011 17:23:45.678)。

format_datetime(tm TIMESTAMP)

  戻り値: VARCHAR2

  日付と時刻を表す文字列を返します。この関数を使用すると、レポートでの日時の書式を一元的に管理することができます。デフォルトの書式はdd-MON-yyyy HH24:MI:SSです(例: 18-JAN-2011 17:23:45)。

sortable_ip_address(ip VARCHAR2)

  戻り値: VARCHAR2

  IPアドレスを、正しいソートが可能な形式に変換します。たとえば、"192.168.0.4"というアドレスは"192.168.000.004"として、"10.4.3.2"というアドレスは"010.004.003.002"としてそれぞれ返されます。

LimitedListAgg(LimitedListAgg_T(str VARCHAR2,separator VARCHAR2,max_size INTEGER, suffix VARCHAR2))

  戻り値: VARCHAR2

  `report_lib`パッケージに含まれない集計関数であり、スタンドアロンの関数です。セパレータを使用して入力文字列を連結します。出力文字列が指定の制限を超えた場合、結果は切り捨てられて接尾辞が追加されます。

  使用例:

  `SELECT LimitedListAgg(LimitedListAgg_T (data_column,',',200,'...[TRUNCATED]')) FROM table_name`