2.10.5 AQ (アドバンスト・キューイング)

SQLclのAQコマンドを使用すると、Oracle Databaseアドバンスト・キューイング機能にアクセスして、キューおよびキュー表の作成、メッセージのエンキューとデキュー、サブスクライバの追加と削除、およびトランザクション・イベント・キュー(TxEventQ)の管理ができます。

前提条件

このコマンドには、ADMINロールが必要です。

Oracle Databaseアドバンスト・キューイングおよびトランザクション・イベント・キュー・ユーザーズ・ガイドで説明している、アドバンスト・キューイングおよびトランザクション・イベント・キューに関する実用的な知識があり、概念をよく理解している必要があります。

次の例では、SQLclのアドバンスト・キューイング・コマンドを使用して、キューの作成、キューの開始、キューへのサブスクライバの追加、メッセージのエンキューおよびデキューを行います。

--Create a queue named demo2 with multiple consumers and payload type JSON
SQL> aq createteq -name demo2 -mul true -pt JSON

--Show the queue properties
SQL> select name, qid, queue_type, enqueue_enabled, dequeue_enabled, sharded, queue_category, recipients from user_queues;

--Start the queue demo2
SQL> aq startq -name demo2
SQL> select name, qid, queue_type, enqueue_enabled, dequeue_enabled, sharded, queue_category, recipients from user_queues;

–-Add subscriber named Bob to queue demo2
SQL> aq add subscriber -queue demo2 -name bob;

--Enqueue message "hello" to queue demo2
SQL> aq enq -name demo2 -p {"message":"hello"};

--Commit the message (send)
SQL> commit;

–-Dequeue from queue demo2 by subscriber named Bob using NEXT_MESSAGE navigation after waiting for 2 seconds
SQL> aq deq -name demo2 -nav NEXT_MESSAGE -consumer_name bob -wait 2;

2.10.5.1 キュー表の作成

構文

AQ CREATE QUEUE TABLE/CREATEQT -n[ame] table_name
  [-pay[load_type] {JSON | RAW | [schema.]type_name}]  
  [-sto[rage_clause] string]
  [-sort[_list] string]  
  [-mul[tiple_consumers] {NO | YES}]  
  [-com[ment] string]
  [-primary[_instance] number]  
  [-secondary[_instance] number]  
  [-secure {YES | NO}]  
  [-repl[ication_mode] {NONE | REPLICATION}]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 作成するキュー表の名前。 -
-payload_type,-pt [OBJECT NAME|TYPE NAME|JSON] 格納されるユーザー・データのタイプ。 JSON
-storage_clause,-sto

<storage_clause>ストレージ・パラメータ。

記憶域パラメータは、キュー表の作成時に、CREATE TABLE文に組み込まれます。記憶域パラメータは、PCTFREE、PCTUSED、INITRANS、MAXTRANS、TABLESPACE、LOBおよび表STORAGE句のパラメータの任意の組合せから構成できます。

NULL
-sort_list,-sort

<sort_list>

昇順ソート・キーに使用する列。このパラメータの形式は、'sort_column_1、sort_column_2'です。許可される列名は、priority、enq_timeおよびcommit_timeです。

ENQ_TIME
-multiple_consumers,-mul

[TRUE|FALSE]

TRUE: 表内に作成されたキューには、各メッセージに対してコンシューマを1つのみ設定できます。

FALSE: 表内に作成されたキューには、各メッセージに対して複数のコンシューマを設定できます。

False
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-primary_instance,-primary

<primary_instance>

キュー表のプライマリ所有者。キュー・モニターのスケジューリングとキュー表内のキューの伝播は、このインスタンスで実行されます。

0
-secondary_instance,-secondary

<secondary_instance>

プライマリ・インスタンスが使用不可の場合、キュー表はセカンダリ・インスタンスにフェイルオーバーします。

0
-secure,-sec

[TRUE|FALSE]

TRUE: キュー表をセキュア・キューに使用します。セキュア・キューとは、AQエージェントを1人以上のデータベース・ユーザーに明示的に関連付ける必要があるキューです。

False
-replication_mode,-repl [0:NONE|1:REPLICATION_MODE] 0:NONE

2.10.5.2 キュー表の変更

構文

AQ ALTER QUEUE TABLE/ALTERQT -n[ame] table_name
  [-com[ment] string]
  [-primary[_instance] number]
  [-secondary[_instance] number]
  [-repl[ication_mode] {NONE | REPLICATION}]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 変更するキュー表の名前。 -
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-primary_instance,-primary

<primary_instance>

キュー表のプライマリ所有者。キュー・モニターのスケジューリングとキュー表内のキューの伝播は、このインスタンスで実行されます。

0
-secondary_instance,-secondary

<secondary_instance>

プライマリ・インスタンスが使用不可の場合、キュー表はセカンダリ・インスタンスにフェイルオーバーします。

0
-replication_mode,-repl [0:NONE|1:REPLICATION_MODE] 0:NONE

2.10.5.3 キュー表の削除

構文

AQ DROP QUEUE TABLE/DROPQT -n[ame] table_name
  [-for[ce] {NO | YES}]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 削除するキュー表の名前。 -
-force,-f

[TRUE|FALSE]

TRUE: 表内のすべてのキューが自動的に停止され削除されます。

FALSE: 表内にキューが存在する場合、操作は成功しません。

False

2.10.5.4 キューの作成

構文

AQ CREATE QUEUE/CREATEQ -n[ame] queue_name
  -tab[le_name] [schema.]table_name
  [-type {NORMAL | EXCEPTION}]  
  [-max[_retries] number]  
  [-retry[_delay] number]  
  [-retention[_time] number] 
  [-com[ment] string]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 作成するキューの名前。 -
-table_name,-tab

[schema].<table_name>

キューを格納するキュー表の名前。

-
-type,-t

[0:NORMAL QUEUE|1:EXCEPTION QUEUE]

作成されるキューが例外キューか標準キューかを指定します。

0:NORMAL QUEUE
-max_retries,-max

<max_retries number>

RETRY_COUNTがMAX_RETRIESより大きいメッセージは、例外キューに移動されます。

デキューの実行後にアプリケーションがロールバックを発行するたびに、RETRY_COUNTが増加します。

5
-retry_delay,-retry

<retry_delay number>

アプリケーションのロールバック後、このメッセージの再処理をスケジュールするまでの遅延時間(秒数)。

0
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-retention_time,-rtime

<retention_time number>

[-1:INFINITE]は、メッセージが永久に保持されることを意味します。

メッセージがキューからデキューされた後にキュー表に保存される秒数。

0

2.10.5.5 キューの変更

構文

AQ ALTER QUEUE/ALTERQ -n[ame] queue_name
  [-max[_retries] number]
  [-retry[_delay] number]
  [-retention[_time] number] 
  [-com[ment] string]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 変更するキューの名前。 -
-max_retries,-max

<max_retries number>

RETRY_COUNTがMAX_RETRIESより大きいメッセージは、例外キューに移動されます。

デキューの実行後にアプリケーションがロールバックを発行するたびに、RETRY_COUNTが増加します。

NULL - 現在値は変更されません。
-retry_delay,-retry

<retry_delay number>

アプリケーションのロールバック後、このメッセージの再処理をスケジュールするまでの遅延時間(秒数)。

NULL - 現在値は変更されません。
-retention_time,-rtime

<retention_time number>

[-1:INFINITE]は、メッセージが永久に保持されることを意味します。

メッセージがキューからデキューされた後にキュー表に保存される秒数。

0
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL

2.10.5.6 キューの削除

構文

AQ DROP QUEUE/DROPQ -n[ame] queue_name

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 削除するキューの名前。 -

2.10.5.7 シャード・キューの作成

構文

AQ CREATE SHARDED QUEUE/CREATESQ -n[ame] queue_name
  [-sto[rage_clause] string]
  [-mul[tiple_consumers] {NO | YES}]  
  [-max[_retries] number]  
  [-com[ment] string]
  [-pay[load_type] {JSON | RAW | [schema.]type_name}]  
  [-retry[_delay] number]  
  [-retention_time number]  
  [-sort[_list] {PRIORITY,ENQ_TIME | ENQ_TIME}]  
  [-cache[_hint] {AUTO | UNCACHED | CACHED }] 
  [-retention_type string]  
  [-repl[ication_mode] NONE]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 作成するキュー表の名前。 -
-storage_clause,-sto

<storage_clause>ストレージ・パラメータ。

記憶域パラメータは、キュー表の作成時に、CREATE TABLE文に組み込まれます。記憶域パラメータは、PCTFREE、PCTUSED、INITRANS、MAXTRANS、TABLESPACE、LOBおよび表STORAGE句のパラメータの任意の組合せから構成できます。

NULL
-multiple_consumers,-mul

[TRUE|FALSE]

TRUE: 表内に作成されたキューには、各メッセージに対してコンシューマを1つのみ設定できます。

FALSE: 表内に作成されたキューには、各メッセージに対して複数のコンシューマを設定できます。

False
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-payload_type,-pt [OBJECT NAME|TYPE NAME|JSON|JMS] 格納されるユーザー・データのタイプ。 JMS
-retry_delay,-retry

<retry_delay number>

アプリケーションのロールバック後、このメッセージの再処理をスケジュールするまでの遅延時間(秒数)。

0
-retention_time,-rtime

<retention_time number>

[-1:INFINITE]は、メッセージが永久に保持されることを意味します。

メッセージがキューからデキューされた後にキュー表に保存される秒数。

0
-sort_list,-sort

<sort_list>

昇順ソート・キーに使用する列。このパラメータの形式は、'sort_column_1、sort_column_2'です。許可される列名は、priority、enq_timeおよびcommit_timeです。

PRIORITY,ENQ_TIME
     
-cache_hint,-cache

[1:AUTO|2:CACHED|3:UNCACHED]

シャード・キューに対してメッセージをキャッシュするかどうかに関するヒントを指定します。ユーザーは次のいずれかを指定できます。

  • [1:AUTO]: メッセージ・キャッシュは、使用可能なメモリーに基づいた最善の処理を実行します
  • [2:CACHED]: メッセージ・キャッシュはメッセージをキャッシュし、CACHEDヒントを持つキューを優先します。
1:AUTO
-retention_type,-rtype

[0: DEQUEUE_TIME]

保持時間は、サブシャードがすべてのサブスクライバによってデキューされた後に開始します。新規サブスクライバがこのサブシャードより前またはこのサブシャードまでシークする場合、保存クロックがリセットされます。

0:DEQUEUE_TIME
-replication_mode,-repl [0:NONE|1:REPLICATION_MODE] 0:NONE

2.10.5.8 シャード・キューの変更

構文

AQ ALTER SHARDED QUEUE/ALTERSQ -n[ame] queue_name
  [-max[_retries] number]
  [-com[ment] string]
  [-retry[_delay] number]
  [-retention_time number]  
  [-cache[_hint] {AUTO | UNCACHED | CACHED}]
  [-retention_type string]  
  [-repl[ication_mode] NONE]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 変更するキューの名前。 -
-max_retries,-max

<max_retries number>

RETRY_COUNTがMAX_RETRIESより大きいメッセージは、例外キューに移動されます。

デキューの実行後にアプリケーションがロールバックを発行するたびに、RETRY_COUNTが増加します。

NULL - 現在値は変更されません。
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-retry_delay,-retry

<retry_delay number>

アプリケーションのロールバック後、このメッセージの再処理をスケジュールするまでの遅延時間(秒数)。

0
-retention_time,-rtime

<retention_time number>

[-1:INFINITE]は、メッセージが永久に保持されることを意味します。

メッセージがキューからデキューされた後にキュー表に保存される秒数。

0
-sort_list,-sort

<sort_list>

昇順ソート・キーに使用する列。このパラメータの形式は、'sort_column_1、sort_column_2'です。許可される列名は、priority、enq_timeおよびcommit_timeです。

PRIORITY,ENQ_TIME
-cache_hint,-cache

[1:AUTO|2:CACHED|3:UNCACHED]

シャード・キューに対してメッセージをキャッシュするかどうかに関するヒントを指定します。ユーザーは次のいずれかを指定できます。

  • [1:AUTO]: メッセージ・キャッシュは、使用可能なメモリーに基づいた最善の処理を実行します
  • [2:CACHED]: メッセージ・キャッシュはメッセージをキャッシュし、CACHEDヒントを持つキューを優先します。
1:AUTO
-retention_type,-rtype

[0: DEQUEUE_TIME]

保持時間は、サブシャードがすべてのサブスクライバによってデキューされた後に開始します。新規サブスクライバがこのサブシャードより前またはこのサブシャードまでシークする場合、保存クロックがリセットされます。

0:DEQUEUE_TIME
-replication_mode,-repl [0:NONE|1:REPLICATION_MODE] 0:NONE
     

2.10.5.9 シャード・キューの削除

構文

AQ DROP SHARDED QUEUE/DROPSQ -n[ame] queue_name
  [-for[ce] {NO | YES}]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 削除するキュー表の名前。 -
-force,-f

[TRUE|FALSE]

TRUE: キューが停止されていない場合でも、シャード・キューは削除されます。

FALSE: キューが停止されていない場合でも、シャード・キューは削除されません。

False

2.10.5.10 例外キューの作成

構文

AQ CREATE EXCEPTION QUEUE/CREATEEQ -n[ame] queue_name
  -sharded[_queue_name] [schema.]queue_name

パラメータ

パラメータ 説明 デフォルト
-name,-n

<name>

作成するキューの名前。

NULL
-sharded_queue_name,-sharded

[schema].<name>

シャード・キューの名前を指定します。

FALSE

2.10.5.11 トランザクション・イベント・キューの作成

ノート:

このコマンドは、Oracle Databaseリリース21c以降のバージョンでのみ使用できます。

構文

AQ CREATE TRANSACTIONAL EVENT QUEUE/CREATETEQ -n[ame] queue_name
  [-sto[rage_clause] string]
  [-mul[tiple_consumers] {NO | YES}]  
  [-max[_retries] number]  
  [-com[ment] string]
  [-pay[load_type] {JSON | RAW | JMS | [schema.]type_name}]  
  [-retry[_delay] number]  
  [-retention_time number]  
  [-sort[_list] {PRIORITY,ENQ_TIME | ENQ_TIME}]  
  [-cache[_hint] {AUTO | UNCACHED | CACHED}]  
  [-retention_type string]  
  [-repl[ication_mode NONE]  

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 作成するキューの名前。 -
-storage_clause,-sto

<storage_clause>ストレージ・パラメータ。

記憶域パラメータは、キュー表の作成時に、CREATE TABLE文に組み込まれます。記憶域パラメータは、PCTFREE、PCTUSED、INITRANS、MAXTRANS、TABLESPACE、LOBおよび表STORAGE句のパラメータの任意の組合せから構成できます。

NULL
-multiple_consumers,-mul

[TRUE|FALSE]

TRUE: 表内に作成されたキューには、各メッセージに対してコンシューマを1つのみ設定できます。

FALSE: 表内に作成されたキューには、各メッセージに対して複数のコンシューマを設定できます。

False
-max_retries,-max

<max_retries number>

RETRY_COUNTがMAX_RETRIESより大きいメッセージは、例外キューに移動されます。

デキューの実行後にアプリケーションがロールバックを発行するたびに、RETRY_COUNTが増加します。

5
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-payload_type,-pt [OBJECT NAME|TYPE NAME|JSON|JMS] 格納されるユーザー・データのタイプ。 JMS
-retry_delay,-retry

<retry_delay number>

アプリケーションのロールバック後、このメッセージの再処理をスケジュールするまでの遅延時間(秒数)。

0
-retention_time,-rtime

<retention_time number>

[-1:INFINITE]は、メッセージが永久に保持されることを意味します。

メッセージがキューからデキューされた後にキュー表に保存される秒数。

0
-sort_list,-sort

<sort_list>

昇順ソート・キーに使用する列。このパラメータの形式は、'sort_column_1、sort_column_2'です。許可される列名は、priority、enq_timeおよびcommit_timeです。

PRIORITY,ENQ_TIME
-cache_hint,-cache

[1:AUTO|2:CACHED|3:UNCACHED]

シャード・キューに対してメッセージをキャッシュするかどうかに関するヒントを指定します。ユーザーは次のいずれかを指定できます。

  • [1:AUTO]: メッセージ・キャッシュは、使用可能なメモリーに基づいた最善の処理を実行します
  • [2:CACHED]: メッセージ・キャッシュはメッセージをキャッシュし、CACHEDヒントを持つキューを優先します。
1:AUTO
-retention_type,-rtype

[0: DEQUEUE_TIME]

保持時間は、サブシャードがすべてのサブスクライバによってデキューされた後に開始します。新規サブスクライバがこのサブシャードより前またはこのサブシャードまでシークする場合、保存クロックがリセットされます。

0:DEQUEUE_TIME
-replication_mode,-repl [0:NONE|1:REPLICATION_MODE] 0:NONE

2.10.5.12 トランザクション・イベント・キューの変更

ノート:

このコマンドは、Oracle Databaseリリース21c以降のバージョンでのみ使用できます。

構文

AQ ALTER TRANSACTIONAL EVENT QUEUE/ALTERTEQ -n[ame] queue_name
  [-max[_retries] number]
  [-com[ment] string]
  [-retry[_delay] number]
  [-retention_time number]  
  [-cache[_hint] {AUTO | UNCACHED | CACHED}]
  [-retention_type string]  
  [-repl[ication_mode NONE]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 変更するキューの名前。 -
-max_retries,-max

<max_retries number>

RETRY_COUNTがMAX_RETRIESより大きいメッセージは、例外キューに移動されます。

デキューの実行後にアプリケーションがロールバックを発行するたびに、RETRY_COUNTが増加します。

NULL - 現在値は変更されません。
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-retry_delay,-retry

<retry_delay number>

アプリケーションのロールバック後、このメッセージの再処理をスケジュールするまでの遅延時間(秒数)。

0
-retention_time,-rtime

<retention_time number>

[-1:INFINITE]は、メッセージが永久に保持されることを意味します。

メッセージがキューからデキューされた後にキュー表に保存される秒数。

0
-sort_list,-sort

<sort_list>

昇順ソート・キーに使用する列。このパラメータの形式は、'sort_column_1、sort_column_2'です。許可される列名は、priority、enq_timeおよびcommit_timeです。

PRIORITY,ENQ_TIME
-cache_hint,-cache

[1:AUTO|2:CACHED|3:UNCACHED]

シャード・キューに対してメッセージをキャッシュするかどうかに関するヒントを指定します。ユーザーは次のいずれかを指定できます。

  • [1:AUTO]: メッセージ・キャッシュは、使用可能なメモリーに基づいた最善の処理を実行します
  • [2:CACHED]: メッセージ・キャッシュはメッセージをキャッシュし、CACHEDヒントを持つキューを優先します。
1:AUTO
-retention_type,-rtype

[0: DEQUEUE_TIME]

保持時間は、サブシャードがすべてのサブスクライバによってデキューされた後に開始します。新規サブスクライバがこのサブシャードより前またはこのサブシャードまでシークする場合、保存クロックがリセットされます。

0:DEQUEUE_TIME
-replication_mode,-repl [0:NONE|1:REPLICATION_MODE] 0:NONE

2.10.5.13 トランザクション・イベント・キューの削除

ノート:

このコマンドは、Oracle Databaseリリース21c以降のバージョンでのみ使用できます。

構文

AQ DROP TRANSACTIONAL EVENT QUEUE/DROPTEQ -n[ame] queue_name
  [-for[ce] {NO | YES}]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> 削除するキューの名前。 -
-force,-f

[TRUE|FALSE]

TRUE: キューが停止されていない場合でも、シャード・キューは削除されます。

FALSE: キューが停止されていない場合でも、シャード・キューは削除されません。

FALSE

2.10.5.14 EQ例外キューの作成

構文

AQ CREATE EQ EXCEPTION QUEUE/CREATEEQEQ -n[ame] queue_name
  -teq[_queue_name] [schema.]queue_name

パラメータ

パラメータ 説明 デフォルト
-name,-n

<name>

作成するキューの名前。

NULL
-teq_queue_name,-teq

[schema].<name>

トランザクション・イベント・キューの名前。

FALSE

2.10.5.15 キューの開始

構文

AQ START QUEUE/STARTQ -n[ame] queue_name
  [-enq[ueue] {ENABLE | KEEP}]
  [-deq[ueue] {ENABLE | KEEP}]

パラメータ

パラメータ 説明 デフォルト
-name,-n

<name>

有効にするキューの名前。

NULL
-enqueue,-enq

[TRUE|FALSE]

TRUE: ENQUEUEを有効にします。

FALSE: 現在の設定を変更しません。

TRUE
-dequeue,-deq

[TRUE|FALSE]

TRUE: DEQUEUEを有効にします。

FALSE: 現在の設定を変更しません。

TRUE

2.10.5.16 キューの停止

構文

AQ STOP QUEUE/STOPQ -n[ame] queue_name
  [-enq[ueue] {DISABLE | KEEP}]  
  [-deq[ueue] {DISABLE | KEEP}]  
  [-wait {YES | NO}] 

パラメータ

パラメータ 説明 デフォルト
-name,-n

<name>

無効にするキューの名前。

NULL
-enqueue,-enq

[TRUE|FALSE]

TRUE: ENQUEUEを有効にします。

FALSE: 現在の設定を変更しません。

TRUE
-dequeue,-deq

[TRUE|FALSE]

TRUE: DEQUEUEを有効にします。

FALSE: 現在の設定を変更しません。

TRUE
-wait,-w

[TRUE|FALSE

TRUE: 未処理のトランザクションがある場合は待機します。

FALSE: 正常終了かエラーかをすぐに返します。
TRUE

2.10.5.17 サブスクライバの追加

構文

AQ ADD SUBSCRIBER/ADDSUB -n[ame] subscriber_name
  -queue[_name] queue_name
  [-subscriber_address string]  
  [-subscriber_protocol number] 
  [-rule string]
  [-trans[formation] [schema.]name]
  [-queue_to_queue {NO | YES}] t
  [-mode {PERSISTENT | BUFFERED | PERSISTENT_OR_BUFFERED}]

パラメータ

パラメータ 説明 デフォルト
-name,-n メッセージのプロデューサ名またはコンシューマ名です。 -
-queue_name,-queue <name> キューの名前。 -
-subscriber_address,-sa

<subscriber_address>

受信者のプロトコル固有のアドレス。

プロトコルが0の場合、アドレスの形式は[schema.]queue[@dblink]です。

キューを格納するキュー表の名前。

""
-subscriber_protocol,-sp

<subscriber_protocol>

アドレスを解釈しメッセージを伝播させるプロトコルです。

0
-rule,-r

<rule>

メッセージ・プロパティ、メッセージ・データ・プロパティおよびPL/SQLファンクションに基づいた条件式。

ルールはSQL問合せのWHERE句と同様の構文を使用して、ブール式で指定されます。

ペイロードが格納されたキュー表の特定の列を指定するには、各属性の前に修飾子としてtab.user_dataを追加する必要があります。

NULL
-transformation,-trans

<transformation>

このサブスクライバがメッセージをデキューしたときに適用される変換を指定します。

NULL
-queue_to_queue,-q2q

[TRUE|FALSE]

TRUE: 伝播はキューからキューです

FALSE
-mode,-m

[1:PERSISTENT|2:BUFFERED|3:PERSISTENT_OR_BUFFERED]

サブスクライバが関心のあるメッセージの配信モード。

PERSISTENT

2.10.5.18 サブスクライバの変更

構文

AQ ALTER SUBSCRIBER/ALTERSUB -n[ame] subscriber_name
  [-subscriber_address string] 
  [-subscriber_protocol number]
  -queue[_name] [schema.]queue_name
  [-rule string]
  [-trans[formation] [schema.]name]

パラメータ

パラメータ 説明 デフォルト
-name,-n メッセージのプロデューサ名またはコンシューマ名です。 -
-queue_name,-queue <name> キューの名前。 -
-subscriber_address,-sa

<subscriber_address>

受信者のプロトコル固有のアドレス。

プロトコルが0の場合、アドレスの形式は[schema.]queue[@dblink]です。

キューを格納するキュー表の名前。

""
-subscriber_protocol,-sp

<subscriber_protocol>

アドレスを解釈しメッセージを伝播させるプロトコルです。

0
-rule,-r

<rule>

メッセージ・プロパティ、メッセージ・データ・プロパティおよびPL/SQLファンクションに基づいた条件式。

ルールはSQL問合せのWHERE句と同様の構文を使用して、ブール式で指定されます。

ペイロードが格納されたキュー表の特定の列を指定するには、各属性の前に修飾子としてtab.user_dataを追加する必要があります。

NULL
-transformation,-trans

<transformation>

このサブスクライバがメッセージをデキューしたときに適用される変換を指定します。

NULL

2.10.5.19 サブスクライバの削除

構文

AQ REMOVE SUBSCRIBER/REMOVESUB -n[ame] subscriber_name
  [-subscriber_address string]  
  [-subscriber_protocol number] 
  -queue[_name] [schema.]queue_name

パラメータ

パラメータ 説明 デフォルト
-name,-n メッセージのプロデューサ名またはコンシューマ名です。 -
-queue_name,-queue <name> キューの名前。 -
-subscriber_address,-sa

<subscriber_address>

受信者のプロトコル固有のアドレス。

プロトコルが0の場合、アドレスの形式は[schema.]queue[@dblink]です。

キューを格納するキュー表の名前。

""
-subscriber_protocol,-sp

<subscriber_protocol>

アドレスを解釈しメッセージを伝播させるプロトコルです。

0

2.10.5.20 エンキュー

構文

AQ ENQ[UEUE] -n[ame] queue_name
  { 
    -pay[load] payload  
    |
    -file[name] name 
  }
  [-type {JSON | HEX | BINARY}]  
                                 
  [-vis[ibility] {ON_COMMIT | IMMEDIATE}]  
  [-trans[formation] [schema.]name]
  [-mode {PERSISTENT | BUFFERED}]  
  [-pri[ority] priority] 
  [-del[ay] delay]  
  [-exp[iration] expiration]  
  [-corr[elation] string]
  [-rec[ipient_list] agents]  
  [-exc[eption_queue] name]
  [-sender[_agent] name] 
  [-out_msgid string]

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> このメッセージをエンキューするキューの名前。 -
-payload,-p メッセージ・ペイロード。 -
-filename,-file メッセージ・ペイロードを読み取るファイル。 -
-payload_type,-pt ペイロード形式タイプ。 JSON
-visibility,-vis エンキュー要求のトランザクション動作を指定します。可能な設定は次のとおりです。
  • [2:ON_COMMIT]: エンキューは現在のトランザクションの一部です。操作は、トランザクションがコミットされると完了します。これはデフォルト設定です。
  • [1: IMMEDIATE]: エンキュー操作は現在のトランザクションの一部ではなく、操作の最後にコミットする自律型トランザクションです。非永続キューにエンキューするときは、この値のみ許可されます。
2:ON_COMMIT
-mode,-m

[1:PERSISTENT|2:BUFFERED|3:PERSISTENT_OR_BUFFERED]

サブスクライバが関心のあるメッセージの配信モード。

PERSISTENT
-priority,-pri

メッセージの優先順位を指定します。数値が小さいほど高い優先度を示します。

優先度は、負数も含めたあらゆる数値で指定できます。

1
-comment,-c

<comment>

キュー表に関するユーザー指定の説明。

NULL
-delay,-del 遅延は、メッセージがデキュー可能になるまでの秒数を表します。 0
-expiration,-exp この時間(秒)を経過したメッセージはデキューされません。 -1 - NEVER
-correlation,-corr メッセージが正常に処理されなかった場合のメッセージの移動先キュー名を指定します。 -
-sender_id,-sid エンキュー時にメッセージのプロデューサが指定するアプリケーション送信者の識別番号。保護キューでは、エンキュー時に送信者名が必要です。 -
-out_message_id,-out_msgid

システムが生成するメッセージID。これは、デキュー時にメッセージを識別するために使用するグローバルな一意のIDです。

バインド変数が、メッセージIDを格納する入力としても使用できます。(例: -out_msgid :xyz)

-

2.10.5.21 デキュー

構文

AQ DEQ[UEUE] -n[ame] queue_name
  [-cons[umer] name]  
  {
    -pay[load] payload  
    |
    -file[name] name                                
  }
  [-type {JSON | HEX | BINARY}]  
  [-deq[ueue]_mode {REMOVE | BROWSE | LOCKED | REMOVE_NODATA}]  
  [-nav[igation {NEXT_MESSAGE | NEXT_TRANSACTION | FIRST_MESSAGE}]  
  [-vis[ibility] {ON_COMMIT | IMMEDIATE}]   
  [-wait number]   
  [-msgid string]  
  [-corr[elation] string] 
  [-cond[ition] string]  
  [-trans[formation] [schema.]name]
  [-mode {PERSISTENT | BUFFERED | PERSISTENT_OR_BUFFERED}]  
  [-for[mat_enqueue_time] string]  
  [-out_msgid string]  
  [-out_pri[ority] number]  
  [-out_del[ay] number]  
  [-out_exp[iration] number]  
  [-out_corr[elation] string]  
  [-out_attempts number]   
  [-out_exc[eption_queue] name]  
  [-out_enqueue_time string]  
  [-out_state string]  
  [-out_sender_agent name]  
  [-out_original_msgid string]
  [-out_mode string] 

パラメータ

パラメータ 説明 デフォルト
-name,-n <name> このメッセージをデキューするキューの名前。 -
-payload,-p コンソールに書き込まれるメッセージ・ペイロード。 -
-filename,-file メッセージ・ペイロードを書き込むファイル。 -
-payload_type,-pt ペイロード形式タイプ。 JSON
-consumer_name,-cons コンシューマ名が一致するメッセージのみアクセスされます。キューがマルチ・コンシューマ用に設定されていない場合、このフィールドはNULLに設定してください。 -
-dequeue_mode,-dm

デキューに対応付けられたロック動作を指定します。可能な設定は次のとおりです。

  • [1: BROWSE] : メッセージのロックを取得せずにメッセージを読み取ります。この仕様は、SELECT文と同じです。
  • [2: LOCKED] : メッセージを読み取り、書込みロックを取得します。ロックは、トランザクションの間、存続します。この設定は、SELECT FOR UPDATE文と同じです。
  • [3: REMOVE - DEFAULT] : メッセージを読み取り、削除します。
  • [4: REMOVE_NODATA] : メッセージに更新または削除のマークを設定します。メッセージは保存プロパティに基づいてキュー表に保存されます。
-
-navigation,-nav 取り出されるメッセージの位置を指定します。可能な設定は次のとおりです。
  • [1: FIRST_MESSAGE:] : 検索条件に一致した最初の使用可能なメッセージを取得します。
  • [2: NEXT_TRANSACTION] : 現在のトランザクション・グループの残り(ある場合)をスキップし、次のトランザクション・グループから最初のメッセージを取得します。
  • [3: NEXT_MESSAGE - DEFAULT] : 検索条件に一致した次の使用可能なメッセージを取得します。
-
-visibility,-vis エンキュー要求のトランザクション動作を指定します。可能な設定は次のとおりです。
  • [2:ON_COMMIT]: エンキューは現在のトランザクションの一部です。操作は、トランザクションがコミットされると完了します。これはデフォルト設定です。
  • [1: IMMEDIATE]: エンキュー操作は現在のトランザクションの一部ではなく、操作の最後にコミットする自律型トランザクションです。非永続キューにエンキューするときは、この値のみ許可されます。
2:ON_COMMIT
-deq_wait,-deq_w 検索基準と一致する使用可能なメッセージが存在していない場合の待機時間を指定します。可能な設定は次のとおりです。
  • [-1: FOREVER]: いつまでも待機します。これはデフォルト設定です。
  • [0 : NO_WAIT] : 待機しません。
  • [x] : 秒単位の待機時間。(x秒)
 
-correlation,-corr メッセージが正常に処理されなかった場合のメッセージの移動先キュー名を指定します。 -
-condition,-con メッセージ・プロパティ、メッセージ・データ・プロパティおよびPL/SQLファンクションに基づいた条件式。 -
-message_id, msg_id デキューするメッセージのメッセージ識別子を指定します。バインド変数が、入力としても使用できます(例: -msgid :xyz)。 -
-transformation,-trans

<transformation>

メッセージをデキューした後に適用される変換を指定します。

NULL
-mode,-m

[1:PERSISTENT|2:BUFFERED|3:PERSISTENT_OR_BUFFERED]

サブスクライバが関心のあるメッセージの配信モード。

PERSISTENT
-out_message_id,-out_msgid

システムが生成するメッセージID。これは、デキュー時にメッセージを識別するために使用するグローバルな一意のIDです。

バインド変数が、メッセージIDを格納する入力としても使用できます。(例: -out_msgid :xyz)

-
-out_priority,-out_pri

メッセージの優先度。数値が小さいほど高い優先度を示します。

バインド変数が、優先順位を格納する入力としても使用できます。(例: -out_priority :xyz)
-
-out_delay,-out_del

遅延は、メッセージがデキュー可能になるまでの秒数を表します。

バインド変数が、遅延を格納する入力としても使用できます。(例: -out_delay :xyz)

-
-out_expiration,-out_exp

メッセージをデキューできる期間。

バインド変数が、有効期限を格納する入力としても使用できます。(例: -out_expiration :xyz)

-
-out_correlation,-out_corr

デキューするメッセージの相関識別子。

バインド変数が、相関を格納する入力としても使用できます。(例: -out_correlation :xyz)

-
-out_attempts,-out_att

メッセージのデキューを試行した回数。

バインド変数が、試行を格納する入力としても使用できます。(例: -out_attempts :xyz)

-
-out_exception_queue,-out_exc

メッセージを正常に処理できない場合に、そのメッセージの移動先となるキューの名前。

バインド変数が、例外キューを格納する入力としても使用できます(例: -out_exception_queue :xyz)

-
-out_enqueue_time,-out_eqt

メッセージがエンキューされた時間。

バインド変数が、エンキュー時間を格納する入力としても使用できます。(例: -out_enqueue_time :xyz)

-
-out_state,-out_st

デキュー時のメッセージの状態。

バインド変数が、状態を格納する入力としても使用できます(例: -out_state :xyz)

-
-out_sender_id,-out_sid

エンキュー時にメッセージのプロデューサが指定するアプリケーション送信者の識別番号。

バインド変数が、送信者IDを格納する入力としても使用できます(例: -out_sender_id :xyz)

-
-out_mode,-out_m

メッセージの配信モード。

バインド変数が、モードを格納する入力としても使用できます(例: -out_mode :xyz)

-