1

1 人の特権スケジューラ ユーザー - user1 は電子メール通知を受け取りますが、別の 2 人 (user2、user3) は受け取りません。

以下のコードを user3 スキーマで実行したいのですが、これを user2 (一時的な sys.dbms_aq アクセスを使用してスキーマで直接実行されたコード) で正常に実行したため、彼は通知を受け取るようになりました。user1 のボット ユーザー エージェントに対してデータベース アクセスが有効になっています。

ご覧のとおり、問題を「何」が解決するかはわかっていますが、その方法はわかりません:-)

問題は、2 番目のアカウント (user3) に直接アクセスできないことです。 user3 に代わってこのコードを実行するにはどうすればよいですか?

declare  
  reginfo1    sys.aq$_reg_info;  
  reginfolist sys.aq$_reg_info_list;  
begin  

  reginfo1    := sys.aq$_reg_info('SYS.SCHEDULER$_EVENT_QUEUE:SCHED$_AGT2$_X',  
                                  1,  
                                  'plsql://SYS.SCHEDULER$_JOB_EVENT_HANDLER',  
                                  null);  
  reginfolist := sys.aq$_reg_info_list(reginfo1);  
  dbms_aq.register(reginfolist, 1);  
end; 

すでに user3 で create procedure を試行し、すぐに匿名ブロックを実行しましたが、DBA_QUEUE_SUBSCRIBERS に 3 ではなく USER# 1 で登録されています。

データベースのバージョンは、UNIX では 11.2.0.3.0 です。

4

1 に答える 1