3.1.1 ALTER SERVER文の指定形式および規則
外部サーバの定義を変更します。
- 〈この項の構成〉
(1) 指定形式
ALTER SERVER文::=ALTER SERVER 外部サーバ名
OPTIONS (外部サーバ定義変更オプション
〔,外部サーバ定義変更オプション〕…)
外部サーバ定義変更オプション::={ADD|SET|DROP}
{ACCESS_KEY 〔アクセスキー文字列〕
|SECRET_KEY 〔シークレットキー文字列〕
|ENDPOINT 〔エンドポイント文字列〕}
(2) 指定形式の説明
- ●外部サーバ名
-
定義を変更する外部サーバの名称を指定します。外部サーバ名の指定規則については,「6.1.4 名前の指定」の「(2) 名前に使用できる文字の規則」を参照してください。
なお,定義されていない外部サーバの名称は指定できません。
- ●外部サーバ定義変更オプション
-
外部サーバ定義変更オプション::={ADD|SET|DROP} {ACCESS_KEY 〔アクセスキー文字列〕 |SECRET_KEY 〔シークレットキー文字列〕 |ENDPOINT 〔エンドポイント文字列〕}外部サーバの定義(外部サーバオプション)の変更内容を指定します。
- {ADD|SET|DROP}
-
外部サーバオプションのオペレーション(追加,変更,または削除のどれか)を指定します。
-
ADD
外部サーバオプションの指定を追加します。指定例を次に示します。
ALTER SERVER "FOREIGNSERVER1" OPTIONS (ADD ENDPOINT 'http://xxxx-yyz99:1234')
上記は,外部サーバにエンドポイントを追加する際の指定例です。
指定規則を次に示します。
-
外部サーバオプションの指定値(上記の例の場合はエンドポイント文字列)は必ず指定してください。
-
指定した外部サーバオプションがすでに定義されている場合,ALTER SERVER文がエラーになります。
-
アクセスキーまたはシークレットキーのどちらか片方だけを追加することはできません。必ずアクセスキーとシークレットキーの両方を追加してください。
-
-
SET
外部サーバオプションの指定を変更します。指定例を次に示します。
ALTER SERVER "FOREIGNSERVER1" OPTIONS (SET SECRET_KEY 'Ql9T84MpeqVis0XteBsiQgH7dPlfhysuLKiuFHg')上記は,CREATE SERVER文で定義済みのシークレットキーを変更する際の指定例です。
指定規則を次に示します。
-
外部サーバオプションの指定値(上記の例の場合はシークレットキー文字列)は必ず指定してください。
-
定義されていない外部サーバオプションを指定した場合,ALTER SERVER文がエラーになります。上記の例の場合,CREATE SERVER文でシークレットキーが定義されていないと,ALTER SERVER文がエラーになります。
-
-
DROP
外部サーバオプションの指定を削除します。指定例を次に示します。
ALTER SERVER "FOREIGNSERVER1" OPTIONS (DROP ENDPOINT)
上記は,CREATE SERVER文で定義済みのエンドポイントを削除する際の指定例です。
指定規則を次に示します。
-
外部サーバオプションの指定値(上記の例の場合はエンドポイント文字列)は指定できません。
-
定義されていない外部サーバオプションを指定した場合,ALTER SERVER文がエラーになります。上記の例の場合,CREATE SERVER文でエンドポイントが定義されていないと,ALTER SERVER文がエラーになります。
-
アクセスキーまたはシークレットキーのどちらか片方だけを削除することはできません。必ずアクセスキーとシークレットキーの両方を削除してください。
- 重要
-
AWS環境でアクセスキーとシークレットキーを削除した場合,IAMロールまたは認証情報ファイルを使用した認証情報の設定が必要になります。詳細については,マニュアルHADB システム構築・運用ガイドの外部サーバを定義する方法を参照してください。
-
-
- ACCESS_KEY 〔アクセスキー文字列〕
-
外部サーバの認証で使用するアクセスキーを指定してください。アクセスキー文字列には,最大100バイトの文字データを指定できます。
- SECRET_KEY 〔シークレットキー文字列〕
-
外部サーバの認証で使用するシークレットキーを指定してください。シークレットキー文字列には,最大100バイトの文字データを指定できます。
- ENDPOINT 〔エンドポイント文字列〕
-
エンドポイントを使用して外部サーバにアクセスする場合に,URI形式のエンドポイントをエンドポイント文字列に指定してください。エンドポイント文字列には,最大100バイトの文字データを指定できます。
エンドポイント文字列には,「http://」または「https://」から始まる文字列を指定してください。例えば,エンドポイントが「https://XXXX:1234」の場合,エンドポイント文字列には「'https://XXXX:1234'」と指定します。
外部サーバ定義変更オプションの指定規則を次に示します。
-
外部サーバ定義変更オプションを複数指定する場合,異なるオペレーションを指定できません。
<正しい指定例>
ALTER SERVER "FOREIGNSERVER1" OPTIONS (ADD ACCESS_KEY '6yTZJwzVjl6nYTjKICop' ,ADD SECRET_KEY 'Ql9T84MpeqVis0XteBsiQgH7dPlfhysuLKiuFHg')<エラーになる指定例>
ALTER SERVER "FOREIGNSERVER1" OPTIONS (SET ACCESS_KEY '6yTZJwzVjl6nYTjKICop' ,ADD ENDPOINT 'http://xxxx-yyz99:1234') -
外部サーバ定義変更オプションを複数指定する場合,同じ外部サーバオプションを指定できません。
<エラーになる指定例>
ALTER SERVER "FOREIGNSERVER1" OPTIONS (ADD ACCESS_KEY '6yTZJwzVjl6nYTjKICop' ,ADD ACCESS_KEY 'Ql9T84MpeqVis0XteBsiQgH7dPlfhysuLKiuFHg')
(3) 実行時に必要な権限
ALTER SERVER文を実行する場合,CONNECT権限およびDBA権限が必要になります。
(4) 規則
自分(HADBサーバに接続中の認可識別子のHADBユーザ)が定義した外部サーバの定義を変更できます。ほかのHADBユーザが定義した外部サーバの定義は変更できません。
(5) 例題
- 例題1
-
外部サーバ(FOREIGNSERVER1)にエンドポイントを追加します。
ALTER SERVER "FOREIGNSERVER1" OPTIONS (ADD ENDPOINT 'http://xxxx-yyz99:1234')
- 例題2
-
外部サーバ(FOREIGNSERVER1)にアクセスキーとシークレットキーを追加します。
ALTER SERVER "FOREIGNSERVER1" OPTIONS (ADD ACCESS_KEY '6yTZJwzVjl6nYTjKICop' ,ADD SECRET_KEY 'Ql9T84MpeqVis0XteBsiQgH7dPlfhysuLKiuFHg') - 例題3
-
外部サーバ(FOREIGNSERVER1)のシークレットキーを変更します。
ALTER SERVER "FOREIGNSERVER1" OPTIONS (SET SECRET_KEY 'Ql9T84MpeqVis0XteBsiQgH7dPlfhysuLKiuFHg') - 例題4
-
外部サーバ(FOREIGNSERVER1)のエンドポイントを削除します。
ALTER SERVER "FOREIGNSERVER1" OPTIONS (DROP ENDPOINT)