プライマリ・コンテンツに移動
Oracle® Real Application Clusters管理およびデプロイメント・ガイド
12cリリース1 (12.1)
B71323-07
目次へ移動
目次
索引へ移動
索引

前
次

srvctl modify service

このコマンドでは、サービスに対して次のようなオンライン変更がサポートされています。

警告:

構成変更は必要最小限にすること、およびオンライン・サービス変更の進行中は他のサービス操作を実行しないことをお薦めします。

次のいずれかの形式のsrvctl modify serviceコマンドを指定された構文で使用します。

インスタンス間でのサービスの移動方法

srvctl modify service -db db_unique_name -service service_name 
      -oldinst old_instance_name -newinst new_instance_name [-force]

注意:

このコマンドの形式はOracle Clusterwareでのみ使用可能です。

表A-91 srvctl modify serviceのパラメータ - サービスの移動

パラメータ 説明
-database db_unique_name

データベースの一意の名前

-service service_name

サービス名

-oldinst old_instance_name

元のインスタンス名

-newinst new_instance_name

新しいインスタンス名

-force

サービス操作の停止または再配置中のすべてのセッションの切断

使用可能インスタンスをサービスの優先インスタンスに変更する方法

srvctl modify service -db db_unique_name -service service_name 
      -available avail_inst_name -toprefer [-force]

注意:

この形式のコマンドは、Oracle Clusterwareでのみ使用可能で、Oracle RAC One Nodeデータベースの配置パラメータを受け入れません。

表A-92 srvctl modify serviceのパラメータ - 優先インスタンスへの変更

パラメータ 説明
-db db_unique_name

データベースの一意の名前。

-service service_name

変更するサービスの名前を指定します。

-available available_inst_name

変更する使用可能インスタンスの名前。

-toprefer

インスタンスのステータスを優先に変更します。

-force

サービス操作の停止中または再配置中にすべてのセッションを切断します。計画操作の場合、FANと統合されたOracle接続プールを使用し、切断を強制しないようにすると、ユーザー・エクスペリエンスが最適になります。FAN計画イベントを使用すると、ユーザーによる介入なしでOracleプールから要求が排出されるようになります。

複数インスタンスの使用可能および優先ステータスを変更する方法

srvctl modify service -db db_unique_name -service service_name 
     -modifyconfig -preferred "preferred_list" [-available "available_list"]
     [-force]

注意:

この形式のコマンドは、Oracle Clusterwareでのみ使用可能で、Oracle RAC One Nodeデータベースの配置パラメータを受け入れません。

表A-93 srvctl modify serviceのパラメータ - 複数インスタンスのステータスの変更

パラメータ 説明
-db db_unique_name

データベースの一意の名前

-service service_name

サービス名

-modifyconfig

このサービスに対して指定されたインスタンスのみの使用(すでにサービスに割り当てられていて指定されていないインスタンスは削除)

-preferred "preferred_instance_list"

優先インスタンスのカンマ区切りリスト

-available "available_instance_list"

使用可能インスタンスのカンマ区切りリスト

-force

サービス操作の停止中または再配置中にすべてのセッションを切断します。

計画操作の場合、FANと統合されたOracle接続プールを使用し、切断を強制しないようにすると、ユーザー・エクスペリエンスが最適になります。FAN計画イベントを使用すると、ユーザーによる介入なしで接続プールから要求が排出されるようになります。

他のサービス属性またはOracle Clusterwareのサービスを変更する方法

srvctl modify service -db db_unique_name -service service_name [-eval]
 [-serverpool pool_name] [-cardinality {UNIFORM|SINGLETON}]
 [-pqservice pqsvc_name] [-pqpool pq_pool_list]
 [-tafpolicy {BASIC|NONE}] [-edition edition_name]
 [-role "[PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]"]
 [-notification {TRUE|FALSE}]  [-dtp {TRUE|FALSE}]
 [-clbgoal {SHORT|LONG}] [-rlbgoal {NONE|SERVICE_TIME|THROUGHPUT}]
 [-failovertype {NONE|SESSION|SELECT|TRANSACTION}] [-failovermethod {NONE|BASIC}]
 [-failoverretry failover_retries] [-failoverdelay failover_delay] 
 [-policy {AUTOMATIC | MANUAL}] [-pdb pluggable_database] 
 [-sql_translation_profile profile_name] [-commit_outcome {TRUE|FALSE}] 
 [-retention retention_time] [-replay_init_time replay_initiation_time] 
 [-session_state {STATIC|DYNAMIC}] [-global_override] [-verbose] [-force]

表A-94 srvctl modify serviceのパラメータ

パラメータ 説明
-db db_unique_name

データベースの一意の名前

-service service_name

サービス名

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

注意: このパラメータは、ポリシー管理サービスでのみ使用できます。

-serverpool pool_name

ポリシー管理データベースの場合に使用されるサーバー・プールの名前。

注意: このパラメータは、Oracle RACでのみ、ポリシー管理データベースに対してのみ使用できます。

-cardinality {UNIFORM |
 SINGLETON}

サービスのカーディナリティ。UNIFORM(サーバー・プールのすべてのインスタンスに提供される)またはSINGLETON(インスタンス1つずつで実行する)。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-pqservice pqsvc_name

パラレル問合せサービス名のカンマ区切りリスト

-pqpool pq_pool_list

パラレル問合せサーバー・プール名のカンマ区切りリスト

-tafpolicy
 {BASIC|NONE}

TAFポリシーの指定(管理者管理データベースのみ)。

-edition edition_name

サービスの初期セッション・エディション。

サービスにエディションを指定すると、そのサービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。ただし、セッション接続で異なるエディションを指定した場合は、そのセッション接続で指定したエディションが初期セッション・エディションとして使用されます。

SRVCTLは、指定されたエディション名を検証しません。接続中、接続ユーザーは指定されたエディションのUSE権限を持っている必要があります。そのエディションが存在しないか、接続ユーザーが指定されたエディションのUSE権限を持たない場合は、エラーが発生します。

-role "[PRIMARY]
 [,PHYSICAL_STANDBY]
 [,LOGICAL_STANDBY]
 [,SNAPSHOT_STANDBY]"

サービスが自動的に開始する必要があるデータベース・モード。1つ以上のロールをカンマ区切りリストで指定できます。

注意:

-roleパラメータは、データベースの起動にのみ、Oracle Data Guard Brokerによって使用されます。手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。

関連項目:

『Oracle Data Guard Broker』(-roleを指定した場合)

-notification {TRUE | FALSE}

OCI接続の場合は、高速アプリケーション通知(FAN)を有効にします。

-dtp {TRUE | FALSE}

このサービスの分散トランザクション処理を有効化するかどうかを示します。これにより、XAアフィニティ用に、一度に1つのみのインスタンスでサービスが提供されるようになります。

-clbgoal {SHORT | LONG}

接続時ロード・バランシングの目標の場合: ランタイム・ロード・バランシングを使用する場合はSHORTに設定し、バッチ・ジョブや以前のSQL*Formsスタイルなどの長時間の接続の場合はLONGに設定します。

-rlbgoal {NONE |
 SERVICE_TIME | THROUGHPUT}

ランタイム・ロード・バランシングの目標。応答時間に基づいて接続のバランスを取るには、このパラメータをSERVICE_TIMEに設定します。スループットに基づいて接続のバランスを取るには、このパラメータをTHROUGHPUTに設定します。

-failovertype {NONE |
 SESSION | SELECT | TRANSACTION}

フェイルオーバーのタイプ

Javaのアプリケーション・コンティニュイティを有効化するには、このパラメータをTRANSACTIONに設定します。OCIに対して透過的アプリケーション・フェイルオーバー(TAF)を有効化するには、このパラメータをSELECTまたはSESSIONに設定します。

-failovermethod {NONE | BASIC}

TAFフェイルオーバー・メソッド(下位互換性維持のためのみ)。

-failoverretry
 failover_retries

アプリケーション・コンティニュイティおよびTAFでの、事象が発生した後に接続を試行する回数。

-failoverdelay
 failover_delay

アプリケーション・コンティニュイティおよびTAFでの、フェイルオーバーにおける各事象の再接続試行間の時間遅延(秒数)。

-policy {AUTOMATIC | MANUAL}

サービス管理ポリシー。

-pdb pluggable_database

プラガブル・データベース(PDB)名。

注意: PDBプロパティは、サービスを作成または変更するときに指定できます。PDBプロパティによって、指定されたPDBにサービスが関連付けられます。サービスのPDBプロパティを参照するには、ALL_SERVICESデータ・ディクショナリ・ビューを問い合せるか、またはSRVCTLユーティリティを使用している場合はsrvctl config serviceコマンドを実行します。

PDBを指定してサービスを作成または変更するとき、そのPDBが存在するかどうかはSRVCTLによってチェックされません。このコマンドを実行する前に、PDBが存在することを確認してください。

-sql_translation_profile
 profile_name

Oracle Database以外からOracle Databaseにアプリケーションを移行した後でサービスを変更する場合は、このパラメータを使用して、そのサービスに対するSQL翻訳プロファイルを指定します。

SQL翻訳プロファイルをNULL値に設定する場合は、-pフラグの後に空の文字列を入力する必要があります。

注意: SQL翻訳機能を使用するには、事前にすべてのサーバー側アプリケーション・オブジェクトおよびデータをOracle Databaseに移行しておく必要があります。

関連項目: SQL翻訳の詳細は、『Oracle Database移行ガイド』を参照してください。

-commit_outcome {TRUE|FALSE}

トランザクション・ガードを有効化します。TRUEに設定すると、トランザクションのセッションがリカバリ可能な停止により失敗したときに、トランザクションのコミット結果にアクセスできます。

-retention retention_time

トランザクション・ガードを使用する場合(commit_outcomeTRUEに設定した場合)は、コミット結果をデータベースに保持する時間(秒数)が、このパラメータによって決定されます。

-replay_init_time
 replay_init_time

アプリケーション・コンティニュイティの場合、このパラメータには、元のリクエストが実行を開始したときからの時間(秒単位)を指定します。アプリケーション・コンティニュイティは指定した時間が経過するまでリプレイされません。この属性は、長い時間が経過した後でシステムがリカバリしたときにリクエストの意図しないリプレイを回避します。デフォルト値は300 (5分)です。

-session_state
 {STATIC|DYNAMIC}

アプリケーション・コンティニュイティ向けに、このパラメータはトランザクション型ではないセッションの状態がアプリケーションによって変更されるかどうかを指定します。ほとんどのアプリケーションにはDYNAMICの値をお薦めします。使用する値が不明な場合またはアプリケーションをカスタマイズできる場合は、DYNAMICを使用します。STATICモードは、データベースに依存しないアプリケーションのリクエストに応じ、リクエスト内部の非トランザクション状態を変更しません。

-global_override
 global_override

グローバル・サービス属性を変更するオーバーライド値。

このパラメータは、-role-policy-notification-failovertype-failovermethod-failoverdelay-failoverretryおよび-editionの各パラメータと一緒に使用します。

-verbose

冗長出力を表示します。

-force

変更操作を強制し、必要に応じて一部のノードでサービスを停止します。

使用上の注意

  • サービス属性(フェイルオーバーの遅延、ランタイム・ロード・バランシングの目標など)をオンラインで変更した場合、変更が有効になるのは、サービスが次回(再)起動されたときです。

  • 新しい優先インスタンスまたは使用可能インスタンスが追加されるようにサービス構成を変更した場合でも、既存サービスの稼働状態に影響はありません。ただし、新しく追加されたインスタンスは、srvctl start serviceコマンドが発行されるまで、自動的にはサービスを提供しません。

  • サービスに対して使用可能なインスタンスがあり、優先インスタンスまたは使用可能インスタンスが削除されるようにサービス構成を変更した場合、サービスの稼働状態に予測できない変化が発生することがあります。

    • 新しいサービス構成に従って、一部のインスタンスでサービスが停止、削除されます。

    • サービスは、サービス構成から削除されるインスタンスで稼働している場合があります。

    • そのようなサービスは、新しいサービス構成内の次に使用可能なインスタンスに再配置されます。

前述の状況のため、オンライン・サービスを変更した場合、インスタンスが削除されていなくても、ユーザーは一時的にサービスを利用できないことがあります。または、サービスから削除されるインスタンスで、サービスを一時的に利用できないことがあります。

次の例は、あるインスタンスから別のインスタンスにサービス・メンバーを移動します。

$ srvctl modify service -db crm -service crm -oldinst crm1 -newinst crm2

次の例は、使用可能インスタンスを優先インスタンスに変更します。

$ srvctl modify service -db crm -service crm -available crm1 -toprefer

次のコマンドでは、優先インスタンスおよび使用可能インスタンスが交換されます。

$ srvctl modify service -db crm -service crm -modifyconfig -preferred "crm1" \
-available "crm2"