すべてのプロダクト
Search
ドキュメントセンター

PolarDB:DBMS_ALERT

最終更新日:Jun 03, 2024

組み込みのDBMS_ALERTパッケージは、アラートの登録、送信、および受信に使用できます。

サブプログラム

サブプログラム

説明

REGISTERプロシージャ

現在のセッションに指定されたアラートを登録します。

削除手順

指定されたアラートの通知を削除します。

REMOVEALLプロシージャ

指定されたセッションのすべてのアラートを登録リストから削除します。

SET_DEFAULTSプロシージャ

ポーリング間隔を指定します。

SIGNALプロシージャ

アラート信号を送信します。

WAITANY手続き

指定されたタイムアウト期間に達する前に、登録済みセッションからアラート通知の受信を待機します。

WAIToneプロシージャ

指定されたタイムアウト期間に達する前に、指定されたアラートから通知を受け取るのを待ちます。

REGISTERプロシージャ

このストアドプロシージャは、現在のセッションに指定されたアラートを登録するために使用されます。

構文

<bx id="1" type="code" text="code id=" 4kauoe "title=" "uuid=" lir3jj3isfdrzwhsxya "code=" DBMS_ALERT.REGISTER ()
VARCHAR2の名前、クリーンアップIN BOOLEAN DEFAULT TRUE);"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_ALERT.REGISTER (
   VARCHAR2の名前、
   クリーンクリーンDEFAULT TRUE); 

Parameters

パラメーター

説明

name

登録されているアラートの名前。

cleanup

(オプション) DBMS_ALERTパッケージで使用される既存の分離パイプラインをクリーンアップするかどうかを指定します。 クリーニングプロセスは、REGISTER手順の最初の呼び出し中に1回だけ実行される。 デフォルト値は TRUE です。

次の例は、指定したアラートを登録する方法を示しています。

EXEC DBMS_ALERT.REGISTER('alert' 、TRUE);

削除手順

このストアドプロシージャは、指定されたアラートの通知を削除するために使用されます。

構文

<bx id="1" type="code" text="code id=" 1hkigt "title=" "uuid=" lir3xbh5pbpyy5ncmpq "code=" DBMS_ALERT.REMOVE (
name IN VARCHAR2);"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_ALERT.REMOVE (
   名前インVARCHAR2); 

Parameters

パラメーター

説明

name

登録リストから削除するアラートの名前。

次の例は、指定したアラートを削除する方法を示しています。

EXEC DBMS_ALERT.REMOVE('alert');

REMOVEALLプロシージャ

このストアドプロシージャは、指定されたセッションのすべてのアラートを登録リストから削除するために使用されます。

構文

DBMS_ALERT.REMOVEALL;

次の例は、REMOVEALLストアドプロシージャの使用方法を示しています。

EXEC DBMS_ALERT.REMOVEALL;

SET_DEFAULTSプロシージャ

このストアドプロシージャは、ポーリング間隔を指定するために使用されます。

構文

<bx id="1" type="code" text="code id=" 7bwxvx "title=" "uuid=" lir45waefn4xtjigt7j "code=" DBMS_ALERT.SET_DEFAULTS (
"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_ALERT.SET_DEFAULTS ()
   感度で数); 

Parameters

パラメーター

説明

感度

ポーリング間隔。 単位は秒です。

ポーリング間隔を指定する例を次に示します。

EXEC DBMS_ALERT.SER_DEFAULTS(0.0001);

SIGNALプロシージャ

このストアドプロシージャは、指定された名前のアラートを生成するために使用されます。

構文

<bx id="1" type="code" text="code id=" kg91zr "title=" "uuid=" lir4d99ib916upozsrt "code=" DBMS_ALERT.SIGNAL ()
イベントIN VARCHAR2,
メッセージVARCHAR2);"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_ALERT.SIGNAL (
   イベントIN VARCHAR2,
   メッセージVARCHAR2); 

Parameters

パラメーター

説明

event

通知が送信されるアラートの名前。

message

アラートの詳細。

次の例は、アラート通知を送信する方法を示しています。

EXEC DBMS_ALERT.SIGNAL('alert' ,'This is a alert message.');

WAITANY手続き

このストアドプロシージャは、指定されたタイムアウト期間に達する前に、登録済みセッションからアラート通知を受信するのを待つために使用されます。

構文

<bx id="1" type="code" text="code id=" gxdgze "title=" "uuuid=" lir4ikyfbmn8ncvabzv "code=" DBMS_ALERT.WAITANY ()
名OUT VARCHAR2、メッセージOUT VARCHAR2、ステータスOUT INTEGER,
NUMBER DEFAULT MAXWAITのタイムアウト);"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_ALERT.WAITANY (
   名OUT VARCHAR2、
   メッセージOUT VARCHAR2、
   ステータスOUT INTEGER,
   タイムアウト数デフォルトMAXWAIT; 

Parameters

パラメーター

説明

name

通知が送信されるアラートの名前。

message

アラートの詳細。

status

返された状態コード。 有効な値:

  • 0: システムがアラートを生成します。

  • 1: アラートがタイムアウトします。

timeout

アラートが生成されるまでの待機時間。 単位は秒です。

次の例は、2つのセッション間でアラート通知を転送する方法を示しています。

<bx id="1" type="code" text="code id=" phhsdf "title=" "uuid=" lir4lyzf2g1ib047p5b "code=" -- SESSION A: アラートを登録し、任意のアラートを待つ
DECLARE
名前VARCHAR2;
msg VARCHAR2;
ステータスINTEGER;
開始
DBMS_ALERT.REGISTER('alert' 、TRUE);
DBMS_ALERT.WAITANY(name、msg、status、10);

-- アラート名は: Alert
-- Alertメッセージは: テストからのメッセージです
-- Alertステータスは: 0
DBMS_OUTPUT.PUT_LINE('Alert name is: '| | name);
DBMS_OUTPUT.PUT_LINE('Alert message is: '| | msg);
DBMS_OUTPUT.PUT_LINE('Alert status is: '| | status);
エンド;

-- セッションB: 信号を送る
EXEC DBMS_ALERT.SIGNAL('alert' 、'This is a alert message.');"data-tag=" codeblock "outputclass=" language-postgresql ""/>-- SESSION A: アラートを登録し、任意のアラートを待つ
DECLARE
  名前VARCHAR2;
  msg VARCHAR2;
  ステータスINTEGER;
開始
  DBMS_ALERT.REGISTER('alert' 、TRUE);
  DBMS_ALERT.WAITANY(name、msg、status、10);

  -- アラート名は: Alert
  -- Alertメッセージは: テストからのメッセージです
  -- Alertステータスは: 0
  DBMS_OUTPUT.PUT_LINE('Alert name is: '| | name);
  DBMS_OUTPUT.PUT_LINE('Alert message is: '| | msg);
  DBMS_OUTPUT.PUT_LINE('Alert status is: '| | status);
エンド;

-- セッションB: 信号を送る
EXEC DBMS_ALERT.SIGNAL('alert' 、'これはアラートメッセージです。'); 

WAITONEプロシージャ

このストアドプロシージャは、指定されたタイムアウト期間に達する前に、指定されたアラームから通知を受け取るのを待つために使用されます。

構文

<bx id="1" type="code" text="code id=" b0ilor "title=" "uuid=" lir4r9xvrlp3b5eh359 "code=" DBMS_ALERT.WAITONE ()
VARCHAR2の名前、メッセージOUT VARCHAR2、ステータスOUT INTEGER,
NUMBER DEFAULT MAXWAITのタイムアウト);"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_ALERT.WAITONE (
   VARCHAR2の名前、
   メッセージOUT VARCHAR2、
   ステータスOUT INTEGER,
   タイムアウト数デフォルトMAXWAIT; 

Parameters

パラメーター

説明

name

通知が送信されるアラートの名前。

message

アラートの詳細。

status

返された状態コード。 有効な値:

  • 0: システムがアラートを生成します。

  • 1: アラートがタイムアウトします。

timeout

アラートが生成されるまでの待機時間。 単位は秒です。

次の例は、指定された名前のアラートに対して通知が送信されない場合に返される結果を示しています。 指定された名前のアラートの通知が送信されたときに返されるサンプル結果の詳細については、「DBMS_ALERT」トピックのWAITANY手順セクションを参照してください。

<bx id="1" type="code" text="code code=" -- SESSION A: アラートを登録し、DECLARE
名前VARCHAR2;
msg VARCHAR2;
ステータスINTEGER;
タイムアウトINTEGER;
開始
DBMS_ALERT.REGISTER('alert' 、TRUE);
DBMS_ALERT.WAITONE('alert' 、msg、status、10);

-- Alertメッセージは: テストからのメッセージです
-- Alertステータスは: 0
DBMS_OUTPUT.PUT_LINE('Alert message is: '| | msg);
DBMS_OUTPUT.PUT_LINE('Alert status is: '| | status);
エンド;

-- セッションB: 信号を送る
EXEC DBMS_ALERT.SIGNAL('alert' 、'This is a alert message.');"id=" 0wxnta "title=" "uuuid=" lir4sls79hl27p1dswv "data-tag=" codeblock "outputputclass=" language-postgresql "" "/>
DECLARE
  名前VARCHAR2;
  msg VARCHAR2;
  ステータスINTEGER;
  タイムアウトINTEGER;
開始
  DBMS_ALERT.REGISTER('alert' 、TRUE);
  DBMS_ALERT.WAITONE('alert' 、msg、status、10);

  -- Alertメッセージは: テストからのメッセージです
  -- Alertステータスは: 0
  DBMS_OUTPUT.PUT_LINE('Alert message is: '| | msg);
  DBMS_OUTPUT.PUT_LINE('Alert status is: '| | status);
エンド;

-- セッションB: 信号を送る
EXEC DBMS_ALERT.SIGNAL('alert' 、'これはアラートメッセージです。');