ALTER SERVER ステートメント
ALTER SERVER ステートメントは、データ・ソースの定義または構成を変更する場合に使用します。
このステートメントは、以下の変更を行うために使用できます。
- 特定のデータ・ソースの定義を変更する場合、 またはデータ・ソースのカテゴリーの定義を変更する場合。
- 特定のデータ・ソースの構成を変更する場合、またはデータ・ソースのカテゴリーの構成を変更する場合 (この変更は、フェデレーテッド・データベースへ何回か接続する間、持続します)。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
このステートメントの 許可 ID が持つ特権には、DBADM 権限が含まれている必要があります。
構文
説明
- server-name
- 要求された変更を適用する対象のデータ・ソースに関連するフェデレーテッド・サーバーの名前を指定します。 このデータ・ソースは、カタログに記述されているものでなければなりません。
- VERSION
- server-name の後にある VERSION とそのパラメーターは、
server-name に示されている新しいバージョンのデータ・ソースを指定します。
- version
- バージョン番号を指定します。 値は整数でなければなりません。
- release
- version で示されたバージョンのリリース番号を指定します。 値は整数でなければなりません。
- mod
- release で示されたリリースのモディフィケーション番号を指定します。 値は整数でなければなりません。
- version-string-constant
- バージョンの正式名称を指定します。 version-string-constant は単一値 (例えば、'8i') にすることができます。あるいは、version、release、そして該当する場合は mod を連結した値にすることができます (例えば、'8.0.3')。
- TYPE server-type
- 要求された変更を適用する対象のデータ・ソースのタイプを指定します。
- VERSION
- server-type の後の VERSION とそのパラメーターでは、 サーバー・オプションを使用可能にする、リセットする、 あるいはドロップするときの対象となるデータ・ソースのバージョンを指定します。
- WRAPPER wrapper-name
- server-type および server-version に示されたタイプおよびバージョンのデータ・ソースと対話するために、フェデレーテッド・サーバーが使用するラッパーの名前を指定します。このラッパーは、カタログにリストされていなければなりません。
- OPTIONS
- server-name に示されたデータ・ソースに対して、
あるいは server-type および関連パラメーターに示されたデータ・ソースのカテゴリーに対して、
どのサーバー・オプションを使用可能にする、リセットする、またはドロップするかを指定します。
- ADD
- 新規サーバー・オプションを使用可能にします。
- SET
- サーバー・オプションの設定を変更します。
- server-option-name
- 追加またはリセットするサーバー・オプション。 指定可能なオプションは、ラッパーの作成対象オブジェクトのデータ・ソースによって異なります。 データ・ソースとそれぞれに当てはまるサーバー・オプションのリストについては、データ・ソース・オプションを参照してください。
- string-constant
- 単一引用符で囲まれた文字ストリング定数として設定するサーバー・オプション。
- DROP server-option-name
- サーバー・オプションをドロップします。
注
- サーバー・オプションは、 同じ ALTER SERVER ステートメントに複数回指定することはできません (SQLSTATE 42853)。 サーバー・オプションを使用可能にする、リセットする、あるいはドロップする場合、 使用中の他のサーバー・オプションには影響はありません。
- 所定の作業単位 (UOW) 内の ALTER SERVER ステートメントは、
以下のいずれかの条件の下では処理できません (SQLSTATE 55007)。
- ステートメントが 1 つのデータ・ソースを参照していて、
次のいずれかが既に UOW に含まれている。
- このデータ・ソース内の表またはビューのニックネームを参照する SELECT ステートメント。
- このデータ・ソース内の表またはビューのニックネーム上のオープン・カーソル。
- このデータ・ソース内の表またはビューのニックネームに対して発行された INSERT、DELETE、または UPDATE ステートメント。
- ステートメントがデータ・ソースのカテゴリー (例えば、
特定のタイプおよびバージョンのすべてのデータ・ソースなど) を参照しており、
次のいずれかが既に UOW に含まれている。
- それらのデータ・ソースのいずれかの中の表またはビューのニックネームを参照する SELECT ステートメント。
- それらのデータ・ソースのいずれかの中の表またはビューのニックネーム上のオープン・カーソル。
- それらのデータ・ソースのいずれかの中の表またはビューのニックネームに対して 発行された INSERT、DELETE、または UPDATE ステートメント。
- ステートメントが 1 つのデータ・ソースを参照していて、
次のいずれかが既に UOW に含まれている。
- サーバー・オプションが、データ・ソースのタイプについてある値に設定され、 このタイプのインスタンスについてはそれとは別の値に設定される場合、 そのインスタンスの値については、前者の値は後者の値によってオーバーライドされます。 例えば、サーバー・タイプ ORACLE について PLAN_HINTS を 'Y' に設定し、DELPHI という Oracle データ・ソースについては 'N' に設定したとします。このような構成の場合、DELPHI 以外のすべての Oracle データ・ソースで、 プランのヒントが使用可能になります。
- 前の alter add server オプション操作で使用可能になった データ・ソースのカテゴリーに対して、alter set オプションまたは alter drop server オプションのみを実行できます (SQLSTATE 42704)。
- サーバーのバージョンを変更する際、指定されたサーバー・バージョンがリモートのサーバー・バージョンと一致することを確かめる検査は行われません。 正しくないサーバー・バージョンを指定すると、データベース・サーバー定義に属するニックネームにアクセスするとき、SQL エラーが生じることがあります。その可能性が最も高いのは、リモートのサーバー・バージョンよりも後のサーバー・バージョンを指定する場合です。 その場合、サーバー定義に属するニックネームにアクセスすると、データベース・サーバーはリモート・サーバーが認識できないSQL を送信することがあります。
- サーバー・オプション HOST と NODE は、同時にドロップすることはできません (SQLSTATE 428EG)。
- HOST キーワードと NODE キーワードの両方がサーバー・オプション・リストに含まれ、認識されないデータ・ソースが NODE で指定されている場合であっても NODE が使用されます。
- PORT オプションは必須ではありません。 PORT がドロップされると、ODBC ラッパーは、リモート・データ・ソースに応じてデフォルトの PORT 番号を使用します。 デフォルトの PORT 番号は CREATE SERVER にリストされています。
例
- 例 1: ID が未変更のままとなる場合に、
Oracle 8.0.3 データ・ソースへ許可 ID がいつ送信されるかを確認します。
さらに、ローカルのフェデレーテッド・サーバー CPU の速度がデータ・ソース CPU の 2 倍であるとします。
オプティマイザーにこの統計を通知します。
ALTER SERVER TYPE ORACLE VERSION 8.0.3 OPTIONS (ADD FOLD_ID 'N', SET CPU_RATIO '2.0') - 例 2: Documentum データ・ソース DCTM_SVR_ASIA が
バージョン 4 に変更されていることを指示します。
ALTER SERVER DCTM_SVR_ASIA VERSION 4 - 例 3: NODE オプションをドロップし、新しく HOST オプションを追加します。
ODBC ドライバーは、Hive サーバーにアクセスするために、DSN 接続ではなく DSN なしモードを使用します。
ALTER SERVER HIVE OPTIONS (add HOST ‘9.123.111.214’, DROP NODE)
