DBQLを使用するためには、以下を実行する必要があります。
- クエリー ロギングに関する適切な権限を管理ユーザーに付与します。DBQL管理者権限の他のユーザーへの付与を参照してください。
- 収集する情報のタイプを判断します。このセクションでは、各DBQLログの各フィールドについて説明します。これらの説明を参考に、収集する情報の種類を判断すると共に、詳細のタイプやログ データの量を制御するオプションを検討してください。オプションについては、WITHロギング オプションおよびLIMITロギング オプションで説明します。
- データを収集する対象を判断します。ユーザー、ユーザー グループ、アカウント、アカウント リスト、アプリケーションなど、それぞれの問合わせをログするDBQLルールを作成します。
Teradataでは、アカウントについてルールを作成することを推奨しています。このようにすれば、そのアカウントでログインするすべてのユーザーについて問合わせを記録できるためです。
- データベース初期化プログラム(DIP)スクリプトDIPPDCRを実行して、DBQLと他のパフォーマンス データの長期ストレージ用のアーカイブ テーブルを作成します。また、DIPPDCRを実行して、このテーブルを統合するデータ抽出マクロも作成します。
- Viewpointポートレットであるパフォーマンス データの収集を実行して、繰り返すDBQL日次ジョブを設定します。このジョブにより、DBCのDBQLログ テーブルからPDCRDATAデータベースのアーカイブ テーブルにデータが移動します。
- BEGIN QUERY LOGGING文を使用してロギング ルールを作成するか、REPLACE QUERY LOGGING文を使用して既存のロギング ルールを新しいロギング ルールに置き換えます。Teradataでは、ロギングを使用可/使用不可にするスクリプトを使用し、入力ミスを防ぐことを推奨しています。DBQLロギングの有効化と無効化には、DBC.DBQLAccessMacroマクロのEXECUTE権限が必要です。つまり、BEGIN QUERY LOGGING文、REPLACE QUERY LOGGING文、END QUERY LOGGING文を発行するには、この権限が必要です。
ユーザーがセッションを確立して問合わせを実行すると、DBQLはBest Fit Hierarchyに従って自動的にルールを有効にします。(最適ルール階層を参照してください。)
DBQLは、指定したルールに基づいて問合わせ情報をデータ キャッシュに収集し、定期的にそのキャッシュをフラッシュして(DBQLキャッシュのフラッシュに関するオプションを参照)、情報をDBQLディクショナリ テーブルに書き込みます。この情報には、問合わせとその存続期間、パフォーマンス データ、ターゲット アクティビティに関する履歴レコードが含まれます。
- 問合わせログ データを調査した結果、場合によってはルールの調整が必要だと判断します。REPLACE QUERY LOGGING文を使用して置き換えるか、END QUERY LOGGING文を使用して既存のルールを削除します。