データベーストリガー特権を管理します
-
16-10-2019 - |
質問
何をしますか データベーストリガーを管理します 特権は実際には意味がありますか?
次の場合があります。
2つのデータベースがあります: DB1 と DB2
の上 DB1 データベースのログオン後に発生するトリガーがあり、このユーザー名があるテーブルに存在するかどうかを確認します。そうでない場合は、「ログオンすることは許可されていません!」
リンクを作成しました DB2, 、接続しています DB1 たとえば、いくつかのユーザー名によって kupa_dba.
ご了承ください kupa_dba アクセスリストにはありません(データベースに接続できるユーザー名を保存するテーブルに)
もしも kupa_dba 持っていない データベーストリガーを管理します トリガーよりも機能しますが、if kupa_dba もっている データベーストリガーを管理します 特権アプリケーションエラーの引き上げはありません、トリガーは無視され、 DB2 からデータを取得できます DB1
解決
ADMINISTER DATABASE TRIGGER
特権を使用すると、データベースレベルのトリガー(サーバーエラー、ログイン、ログアウトトリガー)を作成できます。また、ログイントリガーによってスローされたエラーに関係なく、failSafeとしてログインすることもできます。誰がログインしていても、ログイントリガーを不注意にコーディングしてエラーをスローする場合、たとえば、トリガーを修正するために誰かがログインできるようにする必要があります。
この場合、トリガーは予想どおりに動作しているようです。 DBAアカウントを使用して、あるデータベースから別のデータベースへのデータベースリンクを実際に作成することはありません。