DBQLロギングの有効化および無効化に使用される、Teradata SQLのDCL文のそれぞれの目的を次のテーブルに説明します。
文 | 目的 |
---|---|
BEGIN QUERY LOGGING | DBQLAccessMacroに対するEXECUTE権限を持つユーザーによって実行依頼されると、この文は名前を指定されたユーザー/アカウント/アプリケーションのペアに関するロギングを可能にします。 ログ可能な最大数は次のとおりです。
上記の数字は、1文あたりです。100を超えるユーザーにロギングを使用可にする場合、100名のユーザーそれぞれにBEGIN QUERY LOGGING文のブロックを使用します。アクティブなセッションの場合、ロギングは、Vantageが次の問合わせを受け取ったときに始まります。 また、あるユーザー、アカウント、アプリケーション名についてロギングが実行されないようにするルールを有効にすることもできます。 詳細については、ロギング シナリオを参照してください。 |
REPLACE QUERY LOGGING | DBQLAccessMacroでEXECUTE権限を所有するユーザーによって実行されると、この文はロギングを有効にして、1つがユーザー、アカウント、アプリケーションの組に一致する場合はDBC.DBQLRuleTblテーブルにある既存のルールを削除して、新しいルールを作成します。ルールが存在しない場合、新しいルールがDBC.DBQLRuleTblテーブルに追加されます。 |
END QUERY LOGGING | DBQLAccessMacroに対するEXECUTE権限を持つユーザーによって実行依頼されると、この文は名前を指定されたユーザー、アカウント、アプリケーションに関するロギングを停止します。各END QUERY LOGGING文は、1ユーザー/100アプリケーションの場合、100ユーザー/100アカウント未満をリストします。DBQLは、データをコミットし、すべてのDBQLキャッシュをフラッシュするルーチンを呼び出します。 END QUERY LOGGING文を発行するたびに、システムはルール キャッシュをすべてフラッシュし、さらにDBQLデータ テーブルをフラッシュします。 その他の方法を使用して、DBQLキャッシュをフラッシュすることもできます。DBQLキャッシュのフラッシュに関するオプションを参照してください。 END QUERY LOGGINGの詳細については、ロギングの動的な使用可/置換/使用不可の現在のルールに及ぼす影響を参照してください。 |
使用可にしたすべてのBEGIN QUERY LOGGING文は、適切なEND QUERY LOGGING文の構文を使用して使用不可にする必要があります。例えば次を発行したとします。
BEGIN QUERY LOGGING WITH SQL ON user1 ACCOUNT='Marketing';
以下の構文を使用して、そのユーザーのロギングを停止する必要があります。
END QUERY LOGGING ON user1 ACCOUNT='Marketing';
文の構造については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。他のユーザーがこれらの文を実行依頼できるようにする方法については、DBQL管理者権限の他のユーザーへの付与を参照してください。