7.12.1 必要な権限

Oracle Transactional Event Queues (TEQ)機能を利用するために必要な権限をデータベース・ユーザーに付与します。

  • データベース・ユーザーは、既存のデータベース接続を介してメッセージをエンキューまたはデキューするために、ENQUEUE_ANYおよびDEQUEUE_ANY権限を持っている必要があります。
  • データベース・ユーザーがOracle JMSインタフェースを使用するには、DBMS_AQINおよびDBMS_AQパッケージに対するEXECUTE権限が必要です。

サンプル・コマンド

次のサンプル・コマンドは、必要な権限がOracle Databaseユーザーdepartment_teqにどのように付与されるかを示しています。

-- Oracle transaction event Queue(TEQ) related grants
GRANT EXECUTE ON DBMS_AQ TO department_teq;
GRANT EXECUTE ON DBMS_AQIN to department_teq;

EXECUTE DBMS_AQADM.CREATE_SHARDED_QUEUE (queue_name  => 'department_teq.<queue_name>', multiple_consumers => true);
EXECUTE dbms_aqadm.grant_queue_privilege('ALL', 'department_teq.<queue_name>', 'department_teq');
EXECUTE dbms_aqadm.start_queue(queue_name => 'department_teq.<queue_name>');