DBMS_APPLICATION_INFOパッケージを使用して、スクリプトの自動登録を設定します。
この設定によって、各スクリプトのパフォーマンスおよびリソースの使用状況をDBAが監視できます。V$SESSIONおよびV$SQLAREA仮想表のMODULE列には、登録名が表示されます。DBMS_APPLICATION_INFO.READ_MODULEプロシージャを使用して、登録名を読み取ることもできます。
ONを指定すると、@コマンド、@@コマンドまたはSTARTコマンドによって起動されたスクリプトが登録されます。OFFを指定すると、スクリプトの登録が無効になります。そのかわりに、テキストの現在の設定値が登録されます。textには、スクリプトが実行されていない場合、またはAPPINFOがOFFの場合(デフォルト)に登録するテキストを指定します。textのデフォルトは「SQL*Plus」です。textに複数の語を入力する場合、それらの語全体を引用符で囲む必要があります。textの最大長は、DBMS_APPLICATION_INFOパッケージによって制限されます。
登録名の書式は、nn@xfilenameです。nnは、スクリプトの深さレベルです。xは、スクリプト名を切り捨てる場合は「< 」、そうでない場合は空白です。filenameはスクリプト名で、DBMS_APPLICATION_INFOパッケージ・インタフェースで許可されている長さまで切り捨てられる場合があります。
DBMS_APPLICATION_INFOパッケージの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。
例
APPINFOの値(デフォルトはOFF)を表示するには、次のように入力します。
SET APPINFO ON SHOW APPINFO
APPINFO is ON and set to "SQL*Plus"
デフォルト・テキストを変更するには、次のように入力します。
SET APPINFO 'This is SQL*Plus'
登録が行われたことを確認するには、次のように入力します。
VARIABLE MOD VARCHAR2(50) VARIABLE ACT VARCHAR2(40) EXECUTE DBMS_APPLICATION_INFO.READ_MODULE(:MOD, :ACT);
PL/SQL procedure successfully completed.
PRINT MOD
MOD --------------------------------------------------- This is SQL*Plus
APPINFOをデフォルト設定に戻すには、次のように入力します。
SET APPINFO OFF