GET_CONFIG プロシージャー - 構成データの取得

GET_CONFIG ストアード・プロシージャーは、特定のインスタンスに対して設定されたデータベース構成、データベース・マネージャー構成、およびレジストリー変数を検索します。

パーティション・データベース環境では、このプロシージャーはすべてのパーティションから、データベース構成およびレジストリー変数設定値を検索します。

構文

Read syntax diagramSkip visual syntax diagramGET_CONFIG(major_version,minor_version,requested_locale ,xml_input,xml_filter,xml_output,xml_message)

スキーマは SYSPROC です。

プロシージャー・パラメーター

MAJOR_VERSION
メジャー文書バージョンを指す、タイプ INTEGER の入出力引数。 入力において、この引数は、プロシージャーでパラメーターとして渡される XML 文書に対して呼び出し元がサポートする、メジャー文書バージョンを示します (xml_inputxml_output、 および xml_message のパラメーターの説明を参照してください)。 プロシージャーは、指定したバージョンのすべての XML 文書を処理するか、またはバージョンが無効な場合はエラー (+20458) を戻します。 出力において、このパラメーターは、プロシージャーによってサポートされている最も高いメジャー文書バージョンを指定します。 サポートされる文書の最も高いバージョンを判別するには、この入力パラメーターおよびその他すべての必須パラメーターに NULL を指定します。
サポートされるバージョン: 1 および 2
MINOR_VERSION
マイナー文書バージョンを指す、タイプ INTEGER の入出力引数。 入力において、この引数は、プロシージャーでパラメーターとして渡される XML 文書に対して呼び出し元がサポートする、マイナー文書バージョンを示します (xml_inputxml_output、 および xml_message のパラメーターの説明を参照してください)。 プロシージャーは、指定したバージョンのすべての XML 文書を処理するか、またはバージョンが無効な場合はエラーを戻します。 出力において、このパラメーターは、サポートされている最も高いメジャー・バージョンでサポートされている、最も高いマイナー文書バージョンを指します。 サポートされる文書の最も高いバージョンを判別するには、この入力パラメーターおよびその他すべての必須パラメーターに NULL を指定します。
サポートされるバージョン: 0
要求ロケール (requested_locale)
ロケールを指定する、タイプ VARCHAR(33) の入力引数。 指定した言語がサーバーでサポートされている場合は、変換された内容が xml_output および xml_message パラメーターに戻されます。 サポートされていなければ、内容はデフォルトの言語で戻されます。 ロケールから使用されるのは、言語 (および場合によっては地域情報) のみです。 ロケールは数字のフォーマット設定に使用されたり、文書エンコードに影響を与えたりすることはありません。 例えば、キー名と値は変換されません。 XML 出力および XML メッセージ文書で変換される部分は、各項目のヒントのテキスト、表示名、および表示単位のみです。 呼び出し元は常に、要求された言語と XML 出力文書で使用されている言語を比較する必要があります (XML 出力文書の文書ロケール項目を参照してください)。

現時点でサポートされている requested_locale の値は en_US のみです。

xml_input (xml_input)
現時点で、このプロシージャーは入力を受け入れません。 このパラメーターに NULL を指定してください。NULL を指定しないとエラー (+20458) が発生し、入力が無効であることが示されます。
xml_filter
有効な XPath 照会ストリングを指定する、タイプ BLOB(4K) の入力引数。 XML 出力文書から単一値を検索する場合、フィルターを使用します。 詳しくは、XPath フィルター操作について記述しているトピックを参照してください。
次の例では、XML 出力文書から、データ・サーバー製品バージョンの値を選択しています (/plist/dict/key[.='Data Server Product Version']/following-sibling::string)。 キーの後に兄弟が指定されていないと、エラーが戻されます。
xml_output (xml_output)
UTF-8 の完全な XML 出力文書を戻す、タイプ BLOB(32MB) の出力パラメーターを戻します。 フィルターが指定されている場合、このパラメーターはストリング値を戻します。 ストアード・プロシージャーが完全な出力文書を戻すことができない場合 (例えば、処理エラーが発生して SQL 警告やエラーが出される場合など)、このパラメーターは NULL に設定されます。
XML 出力は、以下のように major_version および minor_version で指定した値によって決まります。
メジャー・バージョン マイナー・バージョン xml_output
ヌル ヌル ヌル
1 0 データベース・マネージャー構成パラメーター、データベース構成パラメーター、およびレジストリー変数とそれぞれの値
2 0 カテゴリーにグループ化された、データベース・マネージャーおよびデータベース・マネージャー構成パラメーター 各パラメーターに関して、そのパラメーターが更新可能かどうかを示します。 さらに、インスタンスに設定された、レジストリー変数および値も戻します。
プロシージャーが コンプリート・モード で動作する場合、 このパラメーターによって戻される XML 文書は、変更することができ、xml_input パラメーターとしてプロシージャーに再び渡すことができます。 このアプローチにより、有効な XML 入力文書を作成するためのプログラム的な方法が提供されます。 詳しくは、コンプリート・モードについてのトピックを参照してください。
xml_message
SQL 警告状態についての詳細情報を提供する Data Server Message タイプの完全な XML 出力文書を UTF-8 で戻す、タイプ BLOB(64K) の出力パラメーター。 プロシージャーの呼び出しにより SQL 警告が出され、XML メッセージ出力文書に追加情報が戻されることを警告メッセージが示す場合に、この文書が戻されます。 追加情報が戻されることを警告メッセージが示していない場合は、このパラメーターは NULL に設定されます。

許可

このルーチンを実行するには、以下のいずれかの権限が必要です。
  • ルーチンに対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限

デフォルトの PUBLIC 特権

制限のないデータベースでは、このプロシージャーが自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。

例 1: プロシージャーの最新バージョンを戻します。

db2 "call sysproc.get_config(null,null,null,null,null,?,?)"

以下はこの照会の出力例です。

Value of output parameters
--------------------------
Parameter Name : MAJOR_VERSION
Parameter Value : 2

Parameter Name : MINOR_VERSION
Parameter Value : 0

Parameter Name : XML_OUTPUT
Parameter Value : -

Parameter Name : XML_MESSAGE
Parameter Value : -

Return Status = 0

例 2: カテゴリーにグループ化された、データベースおよびデータベース・マネージャー構成パラメーターを戻します。

db2 "call sysproc.get_config(2,0,'en_US',null, null, ?,?)"  

以下はこの照会の出力例です。

 Value of output parameters
--------------------------
Parameter Name : MAJOR_VERSION
Parameter Value : 2

Parameter Name : MINOR_VERSION
Parameter Value : 0

Parameter Name : XML_OUTPUT
Parameter Value : x'3C3F78.......'

Parameter Name : XML_MESSAGE
Parameter Value : -

Return Status = 0

XML 出力文書には次の内容が含まれます。

<plist version="1.0">
<dict>
   <key>Document Type Name</key><string>Data Server Configuration Output</string>
   <key>Document Type Major Version</key><integer>2</integer>
   <key>Document Type Minor Version</key><integer>0</integer>
   <key>Data Server Product Name</key><string>QDB2/AIX64</string>
   <key>Data Server Product Version</key><string>9.7.0.0</string>
   <key>Data Server Major Version</key><integer>9</integer>
   <key>Data Server Minor Version</key><integer>7</integer>
   <key>Data Server Platform</key><string>AIX 64BIT</string>
   <key>Document Locale</key><string>en_US</string>
   <key>Database Manager Configuration Parameter Settings</key>
   <dict>
      <key>Display Name</key>
      <string>Database Manager Configuration Parameter Settings</string>
      <key>Application</key>
      <dict>
         <key>Display Name</key><string>Application</string>
         <key>agentpri</key>
         <dict>
            <key>Display Name</key><string>agentpri</string>
            <key>Parameter Value</key>
            <dict>
               <key>Display Name</key><string>Parameter Value</string>
               <key>Value</key><string>-1</string>
               <key>Updatable</key><string>No</string>
               <key>Hint</key><string></string>
            </dict>
            <key>Value Flags</key>
            <dict>
               <key>Display Name</key><string>Value Flags</string>
               <key>Value</key><string>NONE</string>
               <key>Updatable</key><string>No</string>
               <key>Hint</key><string></string>
            </dict>
            <key>Deferred Value</key>
            <dict>
               <key>Display Name</key><string>Deferred Value</string>
               <key>Value</key><string>-1</string>
               <key>Updatable</key><string>Yes</string>
               <key>Hint</key><string></string>
            </dict>
            <key>Deferred Value Flags</key>
            <dict>
               <key>Display Name</key><string>Deferred Value Flags</string>
               <key>Value</key><string>INTEGER</string>
               <key>Updatable</key><string>Yes</string>
               <key>Hint</key><string></string>
            </dict>
            <key>Data Type</key>
            <dict>
               <key>Display Name</key><string>Data Type</string>
               <key>Value</key><string>NONE</string>
               <key>Hint</key><string></string>
            </dict>
            <key>Hint</key>
            <string>
            Specifies the priority given to an agent and other database manager 
            instance processes and threads by the operating system scheduler. 
            Consider rebinding applications after changing this parameter. 
            </string>
         </dict>
         <key>Hint</key><string></string>
      </dict>
   </dict>
   <key>Administration</key>
   .
   .
   .
   <key>Communication</key>
   .
   .
   .
   <key>Diagnostics</key>
   .
   .
   .
   <key>Environment</key>
   .
   .
   .
   <key>Miscellaneous</key>
   .
   .
   .
   <key>Monitor</key>
   .
   .
   .
   <key>Parallel</key>
   .
   .
   .
   <key>Performance</key>
   .
   .
   .
   </dict>
   <key>Database Partition</key>
   <dict>
      <key>Display Name</key><string>Database Partition</string>
      <key>0</key>
      <dict>
         <key>Display Name</key><string>0</string>
         <key>Database Configuration Parameter Settings</key>
         <dict>
            <key>Display Name</key>
            <string>Database Configuration Parameter Settings</string>
            <key>Application</key>
            .
            .
            .
            <key>Environment</key>
         <dict>
            <key>Display Name</key><string>Environment</string>
            <key>alt_collate</key>
            <dict>
               <key>Display Name</key><string>alt_collate</string>
               <key>Parameter Value</key>
               <dict>
                  <key>Display Name</key><string>Parameter Value</string>
                  <key>Value</key><string></string>
                  <key>Updatable</key><string>No</string>
                  <key>Hint</key><string></string>
               </dict>
               <key>Value Flags</key>
               <dict>
                  <key>Display Name</key><string>Value Flags</string>
                  <key>Value</key><string>NONE</string>
                  <key>Updatable</key><string>No</string>
                  <key>Hint</key><string></string>
               </dict>
               <key>Deferred Value</key>
               <dict>
                  <key>Display Name</key><string>Deferred Value</string>
                  <key>Value</key><string></string>
                  <key>Updatable</key><string>Yes</string>
                  <key>Hint</key><string></string>
               </dict>
               <key>Deferred Value Flags</key>
               <dict>
                  <key>Display Name</key><string>Deferred Value Flags</string>
                  <key>Value</key><string>INTEGER</string>
                  <key>Updatable</key><string>Yes</string>
                  <key>Hint</key><string></string>
               </dict>
               <key>Data Type</key>
               <dict>
                  <key>Display Name</key><string>Data Type</string>
                  <key>Value</key><string>NONE</string>
                  <key>Hint</key><string></string>
               </dict>
               <key>Hint</key>
               <string>
               Specifies the collating sequence to be used for Unicode tables in a 
               non-Unicode database. Until this parameter is set, Unicode tables and 
               routines cannot be created in a non-Unicode database. When set, this 
               parameter cannot be changed or reset. Default [range] : 
               Null [IDENTITY_16BIT]. 
               </string>
            </dict>
            .
            .
            .
         </dict>
         <key>Logs</key>
         .
         .
         .
         <key>Maintenance</key>
         .
         .
         .
         <key>Performance</key>
         .
         .
         .
         <key>Recovery</key>
         .
         .
         .
         <key>Status</key>
         .
         .
         .
      </dict>
      <key>Registry Variables Settings</key>
      <dict>
         <key>Display Name</key><string>Registry Variables Settings</string>
         <key>DB2CODEPAGE</key>
         <dict>
            <key>Display Name</key><string>DB2CODEPAGE</string>
            <key>Parameter Value</key>
            <dict>
               <key>Display Name</key><string>Parameter Value</string>
               <key>Value</key><string>1208</string>
               <key>Hint</key><string></string>
            </dict>
            <key>Is Aggregate</key>
            <dict>
               <key>Display Name</key><string>Is Aggregate</string>
               <key>Value</key><integer>0</integer>
               <key>Hint</key><string></string>
            </dict>
            <key>Aggregate Name</key>
            <dict>
               <key>Display Name</key><string>Aggregate Name</string>
               <key>Value</key><string></string>
               <key>Hint</key><string></string>
            </dict>
            <key>Level</key>
            <dict>
               <key>Display Name</key><string>Level</string>
               <key>Value</key><string>I</string>
               <key>Hint</key><string></string>
            </dict>
            <key>Hint</key><string></string>
         </dict>
         .
         .
         .
      </dict>
      <key>Hint</key><string></string>
   </dict>
</dict>
</plist>

例 3: データベースおよびデータベース・マネージャー構成パラメーターを戻します。

db2 "call sysproc.get_config(1,0,'en_US',null, null, ?,?)" 

以下はこの照会の出力例です。

Value of output parameters
--------------------------
Parameter Name : MAJOR_VERSION
Parameter Value : 1

Parameter Name : MINOR_VERSION
Parameter Value : 0

Parameter Name : XML_OUTPUT
Parameter Value : x'3C3F78.......'

Parameter Name : XML_MESSAGE
Parameter Value : -

Return Status = 0

XML 出力文書には、例 2 のような内容が含まれますが、構成パラメーターはカテゴリーにグループ化されません。

例 4: 関数からプロシージャーを呼び出します。

EXEC SQL BEGIN DECLARE SECTION;
  sqlint16  getconfigMaj;
  sqlint16  getconfigMin;

  SQL TYPE IS BLOB(2M) xmlOutput;
  SQL TYPE IS BLOB(2K) xmlOutMessage;
EXEC SQL END DECLARE SECTION;
  getconfigMaj = 2;
  getconfigMin = 0;

  EXEC SQL CALL SYSPROC.GET_CONFIG(
                :getconfigMaj,
                :getconfigMin,
                'en_US',
                null,
                null, 
                :xmlOutput,
                :xmlOutMessage );