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

前
次

srvctl add service

データベースにサービスを追加し、それらのサービスをインスタンスに割り当てます。同じノードに1つのクラスタ・データベースの複数のインスタンスがある場合、ノードが管理するすべてのサービスに対して、常に、そのノードの1つのインスタンスのみを使用します。

注意:

srvctl add serviceコマンドは、Oracle RAC One Nodeデータベースの配置パラメータを受け入れません。

構文およびパラメータ

次の構文モデルのいずれかを使用して、srvctl add serviceコマンドを実行しします。

サービスをポリシー管理データベースに追加するには、次の手順を実行します。

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

サービスを管理者管理データベースに追加するには、次の手順を実行します。

srvctl add service -database db_unique_name -service service_name [-eval]
   -preferred preferred_list -available available_list] [-netnum network_number]
   [-tafpolicy {BASIC | NONE | PRECONNECT}] [-edition edition_name]
   [-role "[PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]"
   [-policy {AUTOMATIC | MANUAL}] [-notification {TRUE | FALSE}] 
   [-clbgoal {SHORT | LONG}] [-failovertype {NONE|SESSION|SELECT|TRANSACTION}]
   [-rlbgoal {NONE | SERVICE_TIME | THROUGHPUT}] [-dtp {TRUE | FALSE}]
   [-failovermethod {NONE | BASIC}] [-failoverretry failover_retries]
   [-failoverdelay failover_delay] [-pdb pluggable_database] 
   [-sql_translation_profile sql_translation_profile] 
   [-global {TRUE | FALSE}] [-maxlag max_lag_time] [-commit_outcome {TRUE|FALSE}]
   [-retention retention_time] [-replay_init_time replay_initiation_time]
   [-session_state {STATIC|DYNAMIC}] [-pqservice pq_service] 
   [-pqpool pq_pool_list] [-force] [-verbose]

既存のサービスの優先リストおよび使用可能リストを更新するには、次の手順を実行します。

srvctl add service -db db_unique_name -service service_name 
   -update {-prefered preferred_list | -available available_list} [-force] 
   [-verbose]

表A-18に、srvctl add serviceのすべてのパラメータとその説明を示し、Oracle RACデータベースまたは非クラスタ・データベースにサービスを追加するときにそれらのパラメータを使用できるかどうかを示します。

表A-18 srvctl add serviceのパラメータ

パラメータ 説明
-db db_unique_name

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

-service service_name

同じサービスを提供する複数のデータベースにわたって接続を拡大しない場合は、service_name.service_domainはクラスタ内で一意である必要があります。サービス名(sales.example.comなど)の一部としてサービス・ドメインを指定しない場合、そのサービス名にDB_DOMAINデータベース属性が追加されます。

注意: -serviceパラメータの値には、4KBの制限があります。したがって、インスタンスに割り当てられたすべてのサービスの名前の長さは、合計で4KBを超えないようにする必要があります。

-eval

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

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

-edition edition_name

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

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

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

-sql_translation_profile
 profile_name

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

このパラメータは、DBMS_SERVICEサービス属性のSQLトランザクション・プロファイル・パラメータに対応します。

注意:

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

  • srvctl config serviceコマンドを使用して、SQL翻訳プロファイルを表示します。

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

-preferred preferred_list

管理者管理データベースの場合にサービスを実行する優先インスタンスのリスト。

優先インスタンスのリストは、使用可能なインスタンスのリストと相互に排他である必要があります。

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

-available available_list

管理者管理データベースの場合にサービスをフェイルオーバーする使用可能なインスタンスのリスト。

使用可能なインスタンスのリストは、優先インスタンスのリストと相互に排他である必要があります。

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

-serverpool server_pool

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

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

-cardinality {UNIFORM | SINGLETON}

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

注意:

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

  • ポリシー管理Oracle RAC One Nodeデータベースでは、すべてのサービスがSINGLETONである必要があります。

-netnum network_number

このパラメータを使用して、このサービスが提供されるネットワークを特定します。サービスは、指定したネットワークからのVIPに依存するように構成されます。

注意: このパラメータは、Oracle RACおよびOracle RAC One Nodeデータベース構成でのみ使用できます。

-tafpolicy {BASIC | NONE
 | PRECONNECT}

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

注意: PRECONNECTは、-preferredパラメータおよび-availableパラメータを指定する場合にのみ使用できます。

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

サービス・ロール。1つ以上のロールをカンマ区切りリストで指定できます。

このオプションは、指定したサービス・ロールの1つにOracle Data Guardデータベース・ロールが一致した場合に、データベースのオープン時に、サービスが自動的に起動されるように指定する場合に使用します。

手動で開始するSRVCTLの使用は、サービス・ロールに影響を受けません。

注意:

-roleパラメータは、データベースの起動にのみ、Oracle Data Guard Brokerによって使用されます。手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。
関連項目:
  • 『Oracle Data Guard Broker』(-roleを指定した場合)

  • データベース・ロールの詳細は、『Oracle Data Guard概要および管理』を参照してください。

-policy {AUTOMATIC | MANUAL}

サービス管理ポリシー。

AUTOMATIC(デフォルト)の場合、サービスは、データベースの再起動時(計画された再起動(SRVCTLを使用)または障害発生後の再起動)に自動的に起動されます。ただし、サービス・ロールは自動再起動の対象にもなります(-roleパラメータ)。

MANUALの場合、データベースの計画された再起動(SRVCTLを使用)時にサービスが自動的に再起動されることはありません。MANUALに設定しても、Oracle Clusterwareは、実行中のサービスを監視し、障害が発生すると再起動されます。

注意: CRSCTLを使用してOracle Clusterwareを停止および起動すると、サービスは障害発生時と同様に再起動されます。

-notification {TRUE | FALSE}

OCI接続に対して高速アプリケーション通知(FAN)を有効化します。

-dtp {TRUE | FALSE}

このサービスの分散トランザクション処理を有効化するかどうかを示します。このサービスは、ポリシー管理データベースではsingletonサービス、管理者管理データベースの単一ノードでは優先サービスになります。

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

-clbgoal {SHORT | LONG}

接続ロード・バランシングの目標。ランタイム・ロード・バランシングの場合または統合接続プールを使用する場合、値SHORTをこのパラメータに使用します。サービスのノードごとにセッション数でバランスを取る長時間の接続(バッチ・ジョブなど)の場合は、このパラメータの値としてLONGを使用します。

-rlbgoal {NONE |
 SERVICE_TIME | THROUGHPUT}

ランタイム・ロード・バランシングの目標(ロード・バランシング・アドバイザ)。このパラメータをSERVICE_TIMEに設定すると、応答時間によって接続が分散されます。このパラメータをTHROUGHPUTに設定すると、スループットによって接続が分散されます。

-failovertype {NONE | SESSION |
 SELECT | TRANSACTION}

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

Javaに対してアプリケーション・コンティニュイティを有効にする場合、このパラメータをTRANSACTIONに設定します。TAF for OCIを有効化するには、このパラメータをSELECTまたはSESSIONに設定します。

注意: -failovertypeTRANSACTIONに設定した場合は、-commit_outcomeTRUEに設定する必要があります。

-failovermethod {NONE | BASIC}

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

フェイルオーバー・タイプ(-failovertype)がNONE以外の値に設定される場合、このパラメータにBASICを選択します。

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

-failoverretry failover_retries

アプリケーション・コンティニュイティおよびTAFの場合は、事象が発生した後に接続を試行する回数が、このパラメータによって決定されます。

-failoverdelay failover_delay

アプリケーション・コンティニュイティおよびTAFの場合は、このパラメータで、フェイルオーバーにおける、各事象の再接続試行間の時間遅延(秒数)を指定します。

-pdb pluggable_database

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

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

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

-global {TRUE | FALSE}

グローバル・データ・サービスのサービスかどうかを指定します。

注意: このパラメータは、グローバル・データ・サービスでのみ使用できます。

-maxlag maximum_lag_time

最大レプリケーション遅延時間(秒数)。負でない整数である必要があります。デフォルト値はANYです。

-commit_outcome {TRUE | FALSE}

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

-retention retention_time

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

-replay_init_time
 replay_initialization_time

アプリケーション・コンティニュイティの場合、このパラメータは、リクエストの1番目の操作の元の実行時間と、再接続の成功後にリプレイが開始される状態になる時間との違い(秒単位)を指定します。アプリケーション・コンティニュイティは指定した時間が経過するまでリプレイされません。このパラメータは、長い時間が経過した後にシステムがリカバリされたときに、トランザクションが意図せず実行されることを回避するためのものです。デフォルトは5分(300)です。最大の値は24時間(86400)です。-failover_typeパラメータがTRANSACTIONに設定されていない場合、このパラメータは使用できません。

-session_state {STATIC | DYNAMIC}

アプリケーション・コンティニュイティ向けに、このパラメータはトランザクション型ではないセッションの状態がアプリケーションによって変更されるかどうかを指定します。ほとんどのアプリケーションにはDYNAMICの設定をお薦めします。

注意: このパラメータが考慮されるのは、アプリケーション・コンティニュイティ用に-failovertypeTRANSACTIONに設定されている場合のみです。リクエスト時に非トランザクションが変更される方法を示します。セッション状態の例としては、NLS設定、オプティマイザのプリファレンス、イベントの設定、PL/SQLグローバル変数、一時表、アドバンスト・キュー、LOBおよび結果キャッシュがあります。リクエストの開始後に非トランザクション値が変更された場合、デフォルトのDYNAMICを使用します。ほとんどのアプリケーションでDYNAMICモードを使用する必要があります。不明な場合は、DYNAMICモードを使用してください。

-pqservice pq_service

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

-pqpool pq_pool_list

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

-update {-preferred
 new_preferred_instance |
 -available
 new_available_instance}

サービス構成に、新しい優先インスタンスまたは使用可能インスタンスを追加します。-preferredでは、サービスの優先インスタンスのリストに追加するインスタンスの名前を指定します。-availableでは、サービスの使用可能インスタンスのリストに追加するインスタンスの名前を指定します。

-verbose

冗長出力を表示します。

-force

ネットワークにリスナーが構成されていない場合にも、追加操作を強制します。

gl.example.comサービスをmy_racデータベースに追加し、OCI接続に対して高速アプリケーション通知を有効化し、フェイルオーバー・メソッドをBASIC、接続時ロード・バランシングの目標をLONG、フェイルオーバー・タイプをSELECT、フェイルオーバー再試行回数を180回、フェイルオーバー遅延を5秒に設定するには、この例の構文を使用します。

srvctl add service -db my_rac -service gl.example.com -notification TRUE \
-failovermethod BASIC -failovertype SELECT -failoverretry 180 -failoverdelay 5 \
-clbgoal LONG

指定したサービスをデータベースに追加し、優先インスタンスと使用可能インスタンスを持ち、TAFに対応するように設定するには、この例の構文を使用します。

srvctl add service -db crm -service sales -preferred crm01,crm02 -available crm03\
 -tafpolicy BASIC