エンタープライズ ジオデータベースは、ログ ファイル テーブルを使用して、選択されたレコードのリストを管理します。レコードは、アプリケーションが次のような場合に後で使用できるように、ログ ファイル テーブルに書き込まれます。
- ユーザー (またはツール、あるいはユーザーが実行したプロセス) が、特定のサイズ (ArcMap では 100 レコード以上、ArcGIS Pro では 1,000 レコード以上、フィーチャ サービスから ObjectID が要求された場合は 1,000 レコード以上) の選択セットを作成する。
- バージョン対応登録されたジオデータベースにリコンサイルまたはポストする。
- クライアント アプリケーションが、切断された編集のデータをチェック アウトする。
ログ ファイル テーブルには選択されたフィーチャの ID が格納されるため、それらを再表示することが可能です。これにより、解析やデータ処理がより高速になります。
ログ ファイルには、共有、セッションベース、セッションベース ログ ファイルのプールの 3 つのオプションがあります。このトピックでは、それぞれのオプションについて説明します。
Geodatabases in Informix use shared log files by default. In most cases, this should be sufficient, but you can change log file table settings using the Configure Geodatabase Logfile Tables geoprocessing tool.
Shared log files
共有ログ ファイルは、同じユーザーとして接続するすべてのセッションで共有されます。複数のユーザーが同じユーザー アカウントで接続する場合、それらのセッションはすべて、同じログ ファイルのデータ テーブルに対してレコードを挿入または削除します。
共有ログ ファイルを使用する場合
各クライアントとユーザーが異なるデータベース ユーザー アカウントを使用して接続する場合、共有ログ ファイルを使用します。
共有ログ ファイルを使用しない場合
同じログインで複数の接続を生成するフィーチャ サービスを公開する場合など、同じログインにより多数の接続が確立される場合は、共有ログ ファイルを使用しないようにします。多くのユーザーが同じフィーチャ サービスに対して属性検索を実行すると、競合が発生し、SDE_LOGFILE_DATA テーブルに対する待ち時間が長くなることがあります。このような場合は、セッションベース ログ ファイルを使用できます。
共有ログ ファイルのために作成されるテーブル
このオプションで使用されるログ ファイル テーブルは、SDE_LOGFILES と SDE_LOGFILE_DATA です。これらは、ユーザーが閾値を超える選択を最初に行ったときに、接続ユーザーのスキーマに作成されます。
SDE_LOGFILES には、作成される各選択セット (ログ ファイル) に関する情報が格納されます。このテーブルの logfile_name 列と logfile_id 列はログ ファイルの名前を一意に識別し、logfile_id 列はログ ファイル レコードを SDE_LOGFILE_DATA テーブルにリンクします。SDE_LOGFILE_DATA テーブルには、選択したレコードの logfile_data_id とフィーチャ ID が含まれます。
すべてのレコードは、選択セットが解除されるとすぐに削除され、SDE_LOGFILE_DATA テーブルのサイズが大きくなりすぎることを防ぎます。SDE_LOGFILES テーブルは、セッションが終了するときに空になります。SDE_LOGFILE_DATA と SDE_LOGFILES は、どちらもユーザーのスキーマに残ります。
Permissions required for shared log files
ログ ファイル テーブルは接続するユーザーが所有するため、ユーザーにはテーブルなどの必要なデータ オブジェクトを作成するための権限が付与されている必要があります。これは、ユーザーがジオデータベースに対する読み取り専用アクセス権限を持っている場合でも必要です。これらの権限が付与されていない場合、ユーザーには特定のクライアント アプリケーションで閾値のサイズを超える選択セットを最初に作成したときに、エラー メッセージが返されます。ただし、一度ユーザーの SDE_LOGFILES テーブルと SDE_LOGFILE_DATA テーブルが作成されたら、データベース管理者はこれらの権限を取り消すことができます。
たとえば、Ian は都市計画者で、ジオデータベースからデータを選択して自分の作業に関連する分析だけを実行します。したがって、Ian は読み取り専用のユーザーと考えられます。ただし、Ian は都市のエンタープライズ ジオデータベースに SDE_LOGFILES テーブルと SDE_LOGFILE_DATA テーブルを作成するため、ジオデータベースにテーブルを作成できる必要があります。
データベース管理者は、テーブルを無制限に作成する権限を Ian に付与せず、それらの権限を一時的に付与し、ジオデータベースにログインして閾値を超える選択を行うように Ian に要求します。次に、データベース管理者は、Ian のテーブル作成権限を取り消します。
Grant users RESOURCE permissions to use shared log file tables in Informix.
Optional storage control for shared log files
DBTUNE テーブルの LOGFILE_DEFAULTS キーワードには、ログ ファイル テーブルをデータベースに格納する方法と場所を制御するいくつかのパラメーターがあります。共有ログ ファイルを使用するためにこれらのパラメーターを設定する必要はありませんが、SDE_LOGFILES および SDE_LOGFILE_DATA テーブルとインデックスをデータベースに格納する方法を変更する場合には、パラメーターを設定することができます。
For Informix, the following parameters control storage for shared log file tables and indexes:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD _STORAGE
- LF_INDEXES
- LF_STORAGE
For explanations of these parameters, see Informix configuration parameters.
Session-based log files
セッションベース ログ ファイル データ テーブルは単一のセッションに割り当てられ、複数の選択セット (ログ ファイル) を含む場合があります。ログインする各セッションには、選択のための一連のテーブルが必要です。
セッションベース ログ ファイルを使用する場合
セッションベース ログ ファイルは、ジオデータベースに対して同じログインで多数の同時接続を行う場合に使用します。たとえば、多くのサービスがジオデータベース内のデータを参照している場合、セッションベース ログ ファイルを使用することができます。
セッションベース ログ ファイルを使用しない場合
データベースに接続する読み取り専用のユーザーがいる場合、セッションベース ログ ファイルは使用できません。
セッション テーブルは、セッションが終了するときにユーザーのスキーマから削除されます。つまり、セッション テーブルは、必要に応じて再作成しなければなりません。このため、ユーザーには、セッションベース ログ ファイル テーブルを使用できるようにするために、テーブルを作成する権限が必要となります。
セッションベース ログ ファイルのために作成されるテーブル
SDE_LOGFILES、SDE_LOGFILE_DATA、および SDE_SESSION<SDE_ID> の 3 つのテーブルが作成されます。実際には、SDE_LOGFILE_DATA はこの場合は使用されませんが、自動的に作成されます。SDE_LOGFILES テーブルには、選択セットの情報と、SDE_SESSION テーブルの名前に付加されているセッション タグの <SDE_ID> が格納されます。SDE_SESSION テーブルには、選択されたセットのフィーチャ ID とログ ファイル ID が格納されます。
SDE_LOGFILES テーブルと SDE_LOGFILE_DATA テーブルは、ジオデータベースに残ります。SDE_LOGFILES テーブルは、アプリケーションの接続が切断されたときに空になります。SDE_SESSION<SDE_ID> テーブルは、接続しているアプリケーションがログ ファイルを削除したときに空になります。テーブル自体はセッションの終了時に削除されます。
Permissions required for session-based log files
セッションベース ログ ファイルは、接続しているセッションを開始したユーザーによって所有されます。つまり、ユーザーには必要なデータベース オブジェクトを作成する権限が必要です。
All users require RESOURCE permissions to use session-based log file tables in Informix.
Optional storage control for session-based log files
DBTUNE テーブルの LOGFILE_DEFAULTS キーワードには、ログ ファイル テーブルをデータベースに格納する方法と場所を制御するいくつかのパラメーターがあります。セッションベース ログ ファイルを使用するためにこれらのパラメーターを設定する必要はありませんが、SDE_LOGFILES、SDE_LOGFILE_DATA、および SDE_SESSION テーブルとインデックスをデータベースに格納する方法を変更する場合には、パラメーターを設定することができます。
For Informix, the following parameters control storage for session-based log file tables and indexes:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD_STORAGE
- LF_INDEXES
- LF_STORAGE
- SESSION_INDEX
- SESSION_STORAGE
See Informix configuration parameters for explanations of these parameters.
Pools of log files owned by the sde user
ジオデータベース管理者は、他のユーザーがチェックアウトして使用できるセッションベース ログ ファイルのプールを作成できます。共有ログ ファイルをログ ファイル プールからチェックアウトすることはできません。
ログ ファイルのプールを使用することで、データベースにオブジェクトを作成するために必要な権限をユーザーに付与する必要がなくなります。
When to use log file pools
Use a pool of log files if you cannot give users the ability to create their own log file tables.
ログ ファイル プールを使用しない場合
全体として、ログ ファイルのプールを使用する場合は必要な保守作業が少し増えます。これは、必要なログ ファイル テーブルの数を見積もる必要があり、プールのサイズまたは使用するプールの数の調整を行うためです。ログ ファイル プールのサイズが大きい場合や、ログ ファイル プールの数が多い場合は、パフォーマンスに悪影響が出る可能性があることに注意してください。
Tables created for log file pools
You specify the number of SDE_LOGPOOL_<table_ID> tables that the Configure Geodatabase Logfile Tables creates. For example, if you specify 5 tables, the tool creates the following tables, owned by the sde user:
- SDE_LOGPOOL_1
- SDE_LOGPOOL_2
- SDE_LOGPOOL_3
- SDE_LOGPOOL_4
- SDE_LOGPOOL_5
An additional table owned by the sde user, SDE_LOGFILE_POOL, records the SDE_ID for the session and a table ID. The <table_ID> in the name of the SDE_LOGPOOL table corresponds to the value in the table_ID column of the SDE_LOGFILE_POOL table.
ログ ファイル テーブルを必要とするセッションごとに、1 つのレコードが SDE_LOGFILE_POOL テーブルに追加され、各セッションは SDE_LOGPOOL_<テーブル ID> テーブルのうちのいずれかに割り当てられます。同じセッションで追加のログ ファイルが作成される場合 (たとえば、1 つの ArcMap セッションで 300 レコードの 2 つ目の選択セットが作成された場合)、新しいログ ファイル (選択セット) は同じ SDE_LOGPOOL テーブルに追加されます。
ログ ファイルが消去されるときに、セッションにチェックアウトされている SDE_LOGPOOL テーブルは空になります。たとえば、ArcMap セッションで 2 つ目の選択セットが解除された場合、SDE_LOGPOOL テーブルから 300 レコードが削除されますが、1 つ目の選択セットのレコードは残っています。1 つ目の選択セットが解除されると、これらのレコードが SDE_LOGPOOL テーブルから削除されます。
ログ ファイル (選択セット) を解除するときに、対応する SDE_LOGPOOL テーブルが空になります。
Permissions required for pools of log files
To use the log file tables in the pool, users only require the ability to connect to the database and write to the SDE_LOGPOOL_<table_ID> tables.
Optional storage control for log file pools
LOGFILE_DEFAULTS キーワードに、SDE_LOGPOOL<SDE_ID> テーブルとそのインデックスを格納する方法を制御するパラメーターは数個しかありません。
In geodatabases in Informix, the LD_STORAGE, LD_INDEX_ROWID, and LD_INDEX_DATA_ID DBTUNE parameters are used to set storage for the SDE_LOGPOOL<SDE_ID> tables and their indexes. These three parameters also control the storage of the SDE_LOGFILE_DATA table and indexes. See Informix configuration parameters for explanations of these parameters.
ログ ファイル テーブルのプールを使用するためにこれらのパラメーターを設定する必要はありませんが、SDE_LOGPOOL<SDE_ID> テーブルとインデックスをデータベースに格納する方法を変更する場合には、パラメーターを設定することができます。