ヘッダーをスキップ
Oracle® Database管理者ガイド
11gリリース2 (11.2)
B56301-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 Oracle Databaseの自動再起動の構成

Oracle Restart機能を使用してOracle Databaseを構成すると、ハードウェアまたはソフトウェアに障害が発生した後やデータベース・ホスト・コンピュータが再起動した場合は常に、データベース、リスナーおよびその他のOracleコンポーネントを自動的に再起動できます。

この章の内容は、次のとおりです。

Oracle Restartの理解

この項の内容は次のとおりです。

Oracle Restartの概要

Oracle Restartを使用すると、Oracle Databaseの可用性が向上します。Oracle Restartをインストールすると、ハードウェアまたはソフトウェアに障害が発生した後やデータベース・ホスト・コンピュータが再起動した場合は常に、様々なOracleコンポーネントを自動的に再起動できます。表4-1にこれらのコンポーネントを示します。

表4-1 Oracle Restartで自動的に再起動されるOracleコンポーネント

構成要素 注意

データベース・インスタンス

Oracle Restartは1台のホスト・コンピュータで複数のデータベースに対応できます。

Oracle Netリスナー

-

データベース・サービス

インストール時に作成されたデフォルトのサービスは、Oracle Databaseによって自動的に管理されるため、含まれません。また、データベースの作成時に作成されるデフォルトのサービスも含まれません。

Oracle Automatic Storage Management(Oracle ASM)インスタンス

-

Oracle ASMディスク・グループ

ディスク・グループの再起動はディスク・グループのマウントを指します。

Oracle Notification Services(ONS)

スタンドアロン・サーバー環境では、高速アプリケーション通知(FAN)を介したプライマリ・データベースとスタンバイ・データベース間の接続のフェイルオーバーを自動化するために、Oracle Data GuardのインストールでONSを使用できます。ONSは、フェイルオーバーの際にFANイベントを統合されているクライアントに送信するサービスです。


Oracle Restartでは定期的にチェック操作を実行し、前述のコンポーネントの状態を監視します。コンポーネントのチェックが失敗すると、そのコンポーネントは停止され、再起動されます。

Oracle Restartはスタンドアロン・サーバー(非クラスタ化)環境でのみ使用します。Oracle Real Application Clusters(Oracle RAC)環境では、Oracle Clusterwareによってコンポーネントを自動再起動する機能が提供されます。

Oracle Restartは、Oracle Databaseホームとは別にインストールするOracle Grid Infrastructureホームから実行されます。Oracle Gridインフラストラクチャ・ホームのインストールの詳細は、ご使用のプラットフォームの『Oracle Databaseインストレーション・ガイド』を参照してください。


関連項目:

  • 「Oracle Restartの構成」

  • Oracle Automatic Storage Managementの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。


起動の依存性の概要

Oracle Restartでは、Oracleコンポーネントがコンポーネントの依存性に従って正しい順序で起動されます。たとえば、データベース・ファイルがOracle ASMディスク・グループに格納されている場合、データベース・インスタンスの起動前に、Oracle ASMインスタンスが起動されて必要なディスク・グループがマウントされていることが確認されます。同様に、コンポーネントの停止が必要な場合、依存コンポーネントが最初に正常に停止されることが確認されます。

Oracle Restartでは、データベース・インスタンスとOracle Netリスナー(リスナー)の間の弱い依存性も管理されます。データベース・インスタンスが起動される際に、Oracle Restartがリスナーの起動を試みます。リスナーの起動に失敗しても、データベースは引き続き起動されます。後でリスナーに障害が発生した場合、Oracle Restartはデータベース・インスタンスを停止および再起動しません。

Oracle Restartを使用した起動と停止の概要

Oracle Restartでは、必要に応じて様々なOracleコンポーネントを自動的に再起動したり、ユーザーがシステムを手動で停止したとき、Oracleコンポーネントを適切な順序で自動的に停止します。ただし、個別のOracleコンポーネントを手動で起動または停止する場合があります。Oracle Restartには、Oracle Restartで管理されているコンポーネントを手動で開始および停止する場合に使用する、Server Control(SRVCTL)ユーティリティが含まれています。Oracle Restartの使用中は、コンポーネントの開始と停止をSRVCTLを使用して手動で実行することをお薦めします。

SRVCTLを使用してコンポーネントを停止した後は、障害が発生してもそのコンポーネントはOracle Restartで自動再起動されません。SRVCTLを使用してそのコンポーネントを起動すると、そのコンポーネントでは再度自動再起動が利用できます。

SQL*Plus、リスナー制御ユーティリティ(LSNRCTL)、ASMCMDなどのOracleユーティリティはOracle Restartに統合されています。SQL*Plusを使用してデータベースを停止した場合、Oracle Restartではこの操作をデータベース障害とは解釈せず、データベースは再起動されません。同様に、SQL*PlusまたはASMCMDを使用してOracle ASMインスタンスを停止した場合、Oracle Restartで再起動されません。

SRVCTLを使用したコンポーネントの起動とSQL*Plus(または別のユーティリティ)を使用した起動の重大な相違を次に示します。

  • SRVCTLを使用してコンポーネントを起動すると、このコンポーネントが依存するコンポーネントが最初に正しい順序で自動起動されます。

  • SQL*Plus(または別のユーティリティ)を使用してコンポーネントを起動すると、依存性チェーンの他のコンポーネントは自動起動されません。このコンポーネントが依存するコンポーネントが起動されていることを確認する必要があります。

さらに、Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホームで1つのコマンドを使用して起動および停止できます。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。この機能はパッチのインストール時に役立ちます。

Oracle Restartの起動と停止の概要

CRSCTLユーティリティでは、Oracle Restartを起動および停止します。また、CRSCTLユーティリティを使用して、Oracle高可用性サービスを有効化または無効化できます。Oracle RestartではOracle高可用性サービスを使用して、Oracle Restartで管理されているすべてのコンポーネントを自動的に起動および停止します。たとえば、Oracle高可用性サービス・デーモンでは、データベース、リスナーおよびOracle ASMインスタンスを自動的に起動します。Oracle高可用性サービスを無効にした場合、ノードの再起動時に、Oracle Restartで管理されているコンポーネントは起動されません。

通常、Oracleのインストールで実行されているすべてのOracleソフトウェアを停止する必要がある場合にCRSCTLユーティリティを使用します。たとえば、パッチをインストールするか、オペレーティング・システムのメンテナンスを実行する際にOracle Restartの停止が必要になる場合があります。メンテナンスの完了後、CRSCTLユーティリティを使用してOracle Restartを起動します。


関連項目:

CRSCTLユーティリティの使用方法は、「メンテナンス操作のためのOracle Restartの停止および再起動」を参照してください。

Oracle Restart構成

Oracle Restartでは、管理するすべてのOracleコンポーネントのリストと、各コンポーネントの構成情報を保持します。この情報全体をOracle Restart構成と呼びます。コンポーネントがOracle Restartで起動される場合、そのコンポーネントの構成情報に従って起動されます。たとえば、Oracle Restart構成にはデータベースのサーバー・パラメータ・ファイル(SPFILE)の場所や、リスナーがリスニングするTCPポートなどが含まれています。

Oracle Restartをインストールし、Database Configuration Assistant(DBCA)でデータベースを作成した場合、データベースはDBCAによってOracle Restart構成に自動的に追加されます。DBCAによってデータベースが起動されると、データベースと他のコンポーネント間で必要な依存性(データベースがデータを格納するディスク・グループなど)が確立され、Oracle Restartでのデータベースの管理が開始されます。

SRVCTLコマンドを使用すると、Oracle Restart構成にコンポーネントを手動で追加および削除できます。たとえば、データベースがすでに実行されているホストにOracle Restartをインストールした場合、SRVCTLを使用してそのデータベースをOracle Restart構成に追加できます。コンポーネントを手動でOracle Restart構成に追加してSRVCTLを使用して起動すると、そのコンポーネントはOracle Restartで管理されるようになり、必要に応じて再起動されます。


注意:

Oracle Restart構成へのコンポーネントの追加は、Oracle Restartを使用したコンポーネントの登録とも呼ばれます。

他のSRVCTLコマンドを使用すると、Oracle Restartで管理されているコンポーネントのステータスと構成を表示したり、コンポーネントの管理を一時的に無効にした後再度有効にするなどの操作を実行できます。

Oracle Restartのインストール時、Oracleコンポーネントを作成する多くの操作によりOracle Restart構成にコンポーネントが自動的に追加されます。表4-2に、作成操作、および作成されたコンポーネントが自動的に追加されるかどうかを示します。

表4-2 作成操作とOracle Restart構成

作成操作 作成されたコンポーネントが自動的にOracle Restart構成に追加されるかどうか。

OUIまたはDBCAを使用してデータベースを作成します。

はい

CREATE DATABASE SQL文を使用してデータベースを作成します。

いいえ

OUI、DBCAまたはASMCAを使用してOracle ASMインスタンスを作成します。

はい

ディスク・グループ(メソッド)を作成します。

はい

NETCAを使用してリスナーを追加します。

はい

SRVCTLを使用してデータベース・サービスを作成します。

はい

SERVICE_NAMES初期化パラメータを変更してデータベース・サービスを作成します。脚注1

いいえ

DBMS_SERVICE.CREATE_SERVICEを使用してデータベース・サービスを作成します。

いいえ

スタンバイ・データベースを作成します。

いいえ


脚注1Oracle Restartの使用中はお薦めしません

表4-3に、削除操作と、削除されたコンポーネントがOracle Restart構成からも自動的に削除されるかどうかを示します。

表4-3 削除操作とOracle Restart構成

操作 削除されたコンポーネントがOracle Restart構成から自動的に削除されるかどうか。

DBCAを使用してデータベースを削除します。

はい

オペレーティング・システムのコマンドでデータベース・ファイルを削除し、データベースを削除します。脚注1

いいえ

NETCAを使用してリスナーを削除します。

はい

Oracle ASMディスク・グループを削除します(任意の方法)。

はい

SRVCTLを使用してデータベース・サービスを削除します。

はい

他の方法でデータベース・サービスを削除します。

いいえ


脚注1お薦めしません。

Oracle RestartとOracle Data Guardとの統合

Oracle RestartはOracle Data Guard(Data Guard)およびOracle Data Guard Broker(ブローカ)と統合されています。ロール変更リクエストに対応してデータベースの停止と再起動が必要になった場合、正しい順序で(依存性を考慮して)Oracle Restart構成の設定に従ってデータベースが停止され、再起動されます。Data Guardロールが遷移した後、新しいデータベース・ロールで実行するように構成されているデータベース・サービスがすべてアクティブになっており、新しいロールで実行するように構成されていないサービスがすべて停止していることもOracle Restartによって確認されます。

また、Oracle Restart構成では次のコンポーネントのData Guard関係の構成オプションをサポートします。

  • データベース: Oracle Restart構成にデータベースを追加する場合、データベースの現在のData Guardロールを指定できます(PRIMARYPHYSICAL_STANDBYLOGICAL_STANDBYまたはSNAPSHOT_STANDBY)。ブローカを使用して後でロールを変更すると、Oracle Restartではデータベースの構成を新しいロールで自動的に更新します。ブローカを使用せずにデータベース・ロールを変更した場合、Oracle Restart構成でデータベースのロールを手動で変更して新しいロールを反映させる必要があります。

  • データベース・サービス: データベース・サービスをOracle Restart構成に追加する場合、サービスに1つ以上のData Guardロールを指定できます。この構成オプションが設定された場合、サービス・ロールの1つが現在のデータベース・ロールに一致する場合にのみ、データベースのオープン時にサービスは起動されます。

Oracle Restartとの高速アプリケーション通知

スタンドアロン・サーバー環境では、高速アプリケーション通知(FAN)の高可用性イベントを公開するために、Oracle RestartでOracle Notification Services(ONS)およびOracleアドバンスト・キューが使用されます。統合されているOracle Clientは、FANを使用して、サービスまたはインスタンスが停止した場合に高速通知をクライアントに提供します。クライアントは、プライマリ・データベースとスタンバイ・データベース間のデータベース接続のフェイルオーバーを自動化できます。

この項では、ONSおよびFANがOracle Restartで動作する方法について説明します。内容は次のとおりです。


関連項目:

『Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイドおよびリファレンス』

高速アプリケーション通知の概要

FANは、UPイベントやDOWNイベントなどのステータス変更を含めた構成の変更について他のプロセスに通知するためにOracle Restartで使用できる通知メカニズムです。FANには、インスタンスまたはサーバーで障害が発生した場合に、実行中のトランザクションを即座に終了する機能が備えられています。統合されているOracle Clientは、イベントおよび応答を受信します。アプリケーションによる応答は、エラーをユーザーに伝播するか、またはトランザクションを再実行しアプリケーション・ユーザーからエラーをマスクすることによって実行されます。DOWNイベントが発生すると、統合されているクライアントでは、終了されたデータベースへの接続が即座にクリーン・アップされます。UPイベントが発生すると、クライアントでは新しいプライマリ・データベース・インスタンスへの新しい接続が作成されます。

Oracle Restartでは、管理対象のインスタンスまたはサービスが起動または停止するたびに、FANイベントが公開されます。フェイルオーバーの後、Oracle Data Guard Broker(ブローカ)によってFANイベントが公開されます。FANイベントは次の方法で使用できます。

  • Oracle Database JDBC、Universal Connection Pool for Java、Oracle Call InterfaceおよびOracle Database ODP.NETのいずれかのOracle統合データベース・クライアントを使用している場合は、プログラムを変更することなくOracle RestartでFANを使用できます。これらのクライアントには、フェイルオーバー後に自動的に新規プライマリ・データベースに接続する高速接続フェイルオーバー(FCF)を構成できます。

  • FANのサーバー側コールアウトをデータベース層で構成できます。

プライマリ・データベース障害などのDOWNイベントでは、新しいプライマリ・データベースにできるだけ早くフェイルオーバーできるようにするため、FANからクライアントへの通知が即座に実行されます。クライアントではタイムアウトが発生するまで待機しません。クライアントに対する通知は即座に実行され、クライアントは通知された時点でフェイルオーバーするように構成しておく必要があります。

UPイベントでは、サービスおよびインスタンスが起動されている場合、アプリケーションが追加のリソースを即時に利用できるように、新しい接続を作成できます。

また、サーバー側のコールアウトを介して、FANを使用して次の操作を実行することもできます。

  • ステータス情報のログへの記録

  • リソースの起動に失敗した場合のDBAの呼出しまたはチケットのオープン

  • サービスと同じ場所に配置する必要がある外部依存アプリケーションの自動的な起動

FANイベントの公開には、ONSおよびOracle Streamsアドバンスト・キューイングのキューが使用されます。キューは、サーバーを構成するときに自動的に構成されます。ONSはSRVCTLコマンドを使用して手動で構成する必要があります。

Connection Manager(CMAN)およびOracle Net ServicesのリスナーはFANイベントと統合されているため、CMANおよびリスナーでは、障害が発生したデータベースに対する接続要求が誤って送信されないように、障害が発生したインスタンスによって提供されるサービスを即座に登録解除できます。


関連項目:


サービスとFANにおけるアプリケーションの高可用性

Oracle Databaseはサービスの可用性の維持に重点を置いています。Oracle Restartでは、Oracleサービスが常に使用できるように設定されています。Oracle Restartではデータベースおよびそのサービスが監視され、構成時にFANを使用してイベント通知が送信されます。

計画外停止の管理

Oracle Restartでは、停止を検出すると、障害が発生したコンポーネントを孤立させ、依存コンポーネントをリカバリします。障害が発生したコンポーネントがデータベース・インスタンスの場合は、Oracle Data Guardがスタンバイ・データベースにフェイルオーバーした後、新しいプライマリ・データベース上のOracle Restartによって、現在のロールで定義されたサービスが開始されます。

FANイベントは、Oracle RestartおよびOracle Data Guard Brokerによって、ONSとアドバンスト・キューイングを介して公開されます。また、FANコールアウトを使用して通知を実行することもできます。


注意:

Oracle Restartでは、コールアウトの実行順序は保証されません。コールアウトは非同期で実行され、スケジュールは変動します。

Oracle Restartでは、データベースだけでなく、リスナーやOracle Automatic Storage Management (Oracle ASM)プロセスなどのサブシステムの再起動も含めた、再起動およびリカバリが自動的に行われます。FANコールアウトを使用して、障害管理システムに障害を報告して、修復ジョブを起動できます。

計画停止の管理

Oracle Restartには、プライマリ・データベースのシャットダウンが必要となる修復、アップグレードおよび変更向けに、アプリケーション・ユーザーに対するサービス停止を最小限に抑えるための、サービスを無効化および有効化するインタフェースが備えられています。Oracle RestartとともにOracle Data Guard Brokerを使用すると、計画停止の期間中、データベース・サービスがプライマリからスタンバイにフェイルオーバーするように調整できます。処理が完了した後、サービスを通常の動作に戻すことができます。

サービスの管理ポリシーによって、データベースの再起動時にサービスを自動的に開始するかどうかが制御されます。サービスの管理ポリシーをAUTOMATICに設定すると、自動的に再起動されます。サービスの管理ポリシーをMANUALに設定すると、手動で開始する必要があります。

高速アプリケーション通知の高可用性イベント

表4-4に、FANイベント・レコード・パラメータとイベント・タイプに続き、イベント・プロパティの名前と値のペアを示します。イベント・タイプは常に最初のエントリであり、タイムスタンプは常に最後のエントリとなります。次の例では、名前と値のペアの名前はFan event type(service_member)に示され、名前と値のペアの値はPropertiesに示されています。

FAN event type: service_member
Properties: version=1.0 service=ERP database=FINPROD instance=FINPROD host=node1 status=up

表4-4 イベント・レコード・パラメータと説明

パラメータ 説明

VERSION

イベント・レコードのバージョン。リリースの変更を識別するために使用されます。

EVENT TYPE

SERVICESERVICE_MEMBERDATABASEINSTANCENODEASMSRV_PRECONNECT。データベースおよびインスタンス・タイプには、DB_UNIQUE_NAME.DB_DOMAINなどのデータベース・サービスが示されます。

DATABASE UNIQUE NAME

サービスをサポートしている一意のデータベースを示し、DB_UNIQUE_NAME初期化パラメータの値と一致します。このパラメータのデフォルト値は、初期化パラメータDB_NAMEの値です。

INSTANCE

サービスをサポートしているインスタンスの名前であり、ORACLE_SIDの値と一致します。

NODE NAME

サービスをサポートしているノードまたは停止したノードの名前であり、Cluster Synchronization Services(CSS)で認識されるノード名と一致します。

SERVICE

サービス名であり、DBA_SERVICESのサービスと一致します。

STATUS

値は、UPDOWNNOT_RESTARTINGPRECONN_UPPRECONN_DOWNおよびUNKNOWNです。

REASON

Data_Guard_FailoverFailureDependencyUserAutostartRestart

CARDINALITY

すべてのUPイベントに含まれている、現在アクティブなサービス・メンバー数を示します。

TIMESTAMP

通知イベントをオーダーする場合に使用するローカル・タイム・ゾーン。


表4-5に示すように、FANレコードは各セッションのデータベースの署名と一致します。

表4-5 FANパラメータおよび一致するデータベースの署名

FANパラメータ 一致するOracle Databaseの署名

SERVICE

sys_context('userenv', 'service_name')

DATABASE UNIQUE NAME

sys_context('userenv', 'db_unique_name')

INSTANCE

sys_context('userenv', 'instance_name')

NODE NAME

sys_context('userenv', 'server_host')


高速アプリケーション通知のコールアウトの使用

FANコールアウトは、高可用性イベントが発生したときにOracle Restartで即座に実行されるサーバー側の実行可能ファイルです。FANコールアウトを使用すると、イベントが発生したとき、次のようなアクティビティを自動化できます。

  • 障害追跡チケットのオープン

  • ページャへのメッセージの送信

  • 電子メールの送信

  • サーバー側のアプリケーションの起動および停止

  • 各イベントの発生とともにロギングすることによるアップタイム・ログのメンテナンス

FANコールアウトを使用するには、プライマリおよびスタンバイの両方のデータベース・サーバーのディレクトリgrid_home/racg/usrcoに実行可能ファイルを配置します。スクリプトを使用している場合は、実行可能ファイルの最初の行にシェルを設定します。次に、grid_home/racg/usrco/callout.shコールアウトのサンプル・ファイルを示します。

#! /bin/ksh
FAN_LOGFILE= [your path name]/admin/log/`hostname`_uptime.log
echo $* "reported="`date` >> $FAN_LOGFILE &

次に、前述の例の出力を示します。

NODE VERSION=1.0 host=sun880-2 status=nodedown reason=
timestamp=08-Oct-2004 04:02:14 reported=Fri Oct 8 04:02:14 PDT 2004

表4-5に示すように、FANレコードは各セッションのデータベースの署名と一致します。この情報を使用して、FANイベント・データと一致するセッションで処理を行います。


関連項目:

コールアウトおよびイベントの詳細は、表4-4を参照してください。

高速アプリケーション通知と統合されているOracle Client

Oracle Restartデータベースへの接続に使用される多くの一般的なOracle Clientドライバは、FANと統合されています。そのため、FANを使用する最も簡単な方法は、Oracle統合クライアントを使用することです。

CMANセッション・プール、Oracle Call Interface、Universal Connection Pool for Java、JDBC simplefan APIおよびODP.NET接続プールを使用できます。この機能は、使用可能なプライマリ・データベースにアプリケーションからいつでも一貫して接続できるようにすることを目的としています。

Oracle Restartの構成

スタンドアロン・サーバー用にOracle GridインフラストラクチャをインストールすることによってOracle Restartをインストールしてからデータベースを作成すると、データベースがOracle Restart構成に自動的に追加され、必要に応じて自動的に再起動されます。しかし、データベースがすでに存在するホスト・コンピュータにOracle Restartをインストールした場合、データベース、リスナー、Oracle Automatic Storage Management(Oracle ASM)インスタンスおよびその他のコンポーネントをOracle Restart構成に手動で追加する必要があります。

Oracle Restartでデータベースを管理するよう構成した後、次の作業が必要なことがあります。

  • Oracle Restart構成に他のコンポーネントを追加します。

  • Oracle Restart構成からコンポーネントを削除します。

  • 1つ以上のコンポーネントのOracle Restartでの管理を一時停止します。

  • 個々のコンポーネントのOracle Restart構成オプションを変更します。

この項では、これらおよび他のタスクを行うために使用するSRVCTLコマンドについて説明します。内容は次のとおりです。

SRVCTLの実行準備

次の項のタスクでは、SRVCTLユーティリティを実行する必要があります。正しいOracleホームからSRVCTLを実行していること、および正しいユーザー・アカウントでホスト・コンピュータにログインしていることを確認する必要があります。表4-6は、SRVCTLで構成できるコンポーネントを示しており、SRVCTLを実行する必要があるOracleホームをコンポーネントごとに示しています。

表4-6 SRVCTLを起動するOracleホームの決定

構成対象コンポーネント SRVCTLを起動するOracleホーム

データベース、データベース・サービス

データベース・ホーム

Oracle ASMインスタンス、ディスク・グループ、リスナー脚注1、ONS

Oracle Gridインフラストラクチャ・ホーム


脚注1 Oracle Gridインフラストラクチャ・ホームからリスナーが起動されたと仮定しています。既存のデータベースにOracle Restartをインストールした場合は、リスナーがデータベース・ホームから起動されている場合があるため、その場合はデータベース・ホームからSRVCTLを起動します。

SRVCTLの実行を準備する手順は、次のとおりです。:

  1. 表4-6を使用して、SRVCTLを実行する必要があるOracleホームを決定します。

  2. Oracle Restart構成を変更するSRVCTLコマンド(addremoveenabledisableなど)を実行する場合、次のいずれかを実施します。

    • UNIXおよびLinuxの場合、手順1で決定したOracleホームをインストールしたユーザーとしてデータベース・ホスト・コンピュータにログインします。

    • Windowsの場合、管理者としてログインします。

    上記以外の場合、任意のユーザーとしてホスト・コンピュータにログインします。

  3. SRVCTLコマンドの入力に使用するコマンド・ウィンドウを開きます。

    コマンドを入力するには、SRVCTLプログラムがPATH環境変数で指定されていることを確認する必要があります。指定されていない場合は、プログラムに絶対パスを入力できます。

SRVCTLのヘルプの表示

SRVCTLユーティリティのオンライン・ヘルプが利用できます。

SRVCTLのオンライン・ヘルプを表示する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl
    

詳細なヘルプを表示するには、次のコマンドを入力します。

srvctl -h

特定コマンドの詳細なヘルプを表示するには、次のように入力します。

srvctl command -h

たとえば、addコマンドのヘルプおよび各コンポーネント・タイプの様々なオプションに関するヘルプを表示するには、次のように入力します。

srvctl add -h

特定のコンポーネント・タイプに対する特定のコマンドに関する詳細なヘルプを表示するには、次のように入力します。

srvctl command object -h

たとえば、データベース・サービスの追加に関するヘルプを表示するには、次のコマンドを入力します。

srvctl add service -h

SRVCTLコマンドのリストは表4-7を、コンポーネントのリストは表4-8をそれぞれ参照してください。

Oracle Restart構成へのコンポーネントの追加

ほとんどの場合、Oracle Restartを実行しているホストでOracleコンポーネントを作成すると、Oracle Restart構成にコンポーネントが自動的に追加されます。(表4-2を参照。)その後、コンポーネントは必要に応じて自動的に再起動されます。

次の場合、SRVCTLを使用してOracle Restart構成にコンポーネントを手動で追加する必要があります。

  • データベースの作成後にOracle Restartをインストールします。

  • CREATE DATABASE SQL文を使用して、同じホスト・コンピュータにOracle Databaseを追加で作成します。

  • DBMS_SERVICE.CREATE_SERVICEパッケージ・プロシージャを使用してデータベース・サービスを作成します。(SRVCTLを使用することをお薦めします。)


注意:

Oracle Restart構成へのコンポーネントの追加は、Oracle Restartを使用したコンポーネントの登録とも呼ばれます。

Oracle Restart構成にコンポーネントを追加してもそのコンポーネントは起動されません。起動するには、srvctl startコマンドを使用する必要があります。

また、Oracle Enterprise Manager Database Control(Database Control)を使用して、データベースまたはリスナーをOracle Restart構成に追加してもかまいません。SRVCTLとDatabase Controlを使用する方法は次の項で説明しています。


注意:

Oracle Restartの構成に手動でデータベースを追加する場合は、そのデータベースのOSDBAグループのメンバーとしてOracle Gridインフラストラクチャ・ソフトウェアの所有者を追加することも必要となります。これは、Gridインフラストラクチャ・コンポーネントが、データベースを起動および停止するために、データベースにSYSDBAとして接続できる必要があるためです。

たとえば、Gridインフラストラクチャをインストールしたホスト・ユーザーの名前がgridで、新しいデータベースのOSDBAグループの名前がdbaである場合、ユーザーgriddbaグループのメンバーであることが必要です。


SRVCTLを使用したコンポーネントの追加

SRVCTLを使用してOracle Restart構成にコンポーネントを追加する場合、コンポーネントのオプション構成設定を指定できます。

SRVCTLを使用してOracle Restart構成にコンポーネントを追加する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl add object options
    

    object表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのaddコマンドを参照してください。

例4-1 データベースの追加

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースを追加します。必須の-oオプションではOracleホームの場所を指定します。-cオプションでは単一インスタンスのデータベースを指定します。

srvctl add database -d dbcrm -o /u01/app/oracle/product/11.2.0/dbhome_1 -c SINGLE

例4-2 データベース・サービスの追加

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースに対し、crmbatchという新しいデータベース・サービスを作成し、Oracle Restart構成に追加します。

srvctl add service -d dbcrm -s crmbatch

他の例については、「SRVCTLを使用したデータベース・サービスの作成と削除」を参照してください。

例4-3 デフォルト・リスナーの追加

この例ではOracle Restart構成にデフォルト・リスナーを追加します。

srvctl add listener

Oracle Enterprise Manager Database Controlを使用したコンポーネントの追加

Oracle Enterprise Manager Database Control(Database Control)を使用した場合、Oracle Restart構成にデータベース・インスタンスとリスナーのみを追加できます。

Database Controlを使用してデータベース・インスタンスを追加する手順は、次のとおりです。

  1. 必要なデータベース・インスタンスのデータベース・ホームページにアクセスします。

    詳細は、『Oracle Database 2日でデータベース管理者』のデータベース・ホームページへのアクセスに関する項を参照してください。

  2. 「高可用性」セクションの「Oracle Restart」ラベルの横で、「無効」リンクをクリックします。

    restart_ha.gifの説明は次にあります。
    画像restart_ha.gifの説明


    注意:

    「Oracle Restart」ラベルに「有効」と表示されている場合、データベースはすでにOracle Restartで管理されているため、続行する必要はありません。

  3. ホスト資格証明がプロンプトで要求された場合は、データベースOracleホームをインストールしたユーザーの資格証明を入力して「ログイン」をクリックします。

  4. 確認ページで「続行」をクリックします。

Database Controlを使用してリスナーを追加する手順は、次のとおりです。

  1. 必要なデータベース・インスタンスのデータベース・ホームページにアクセスします。

    詳細は、『Oracle Database 2日でデータベース管理者』のデータベース・ホームページへのアクセスに関する項を参照してください。

  2. 「一般」セクションの「リスナー」ラベルの横にあるリンクをクリックします。

  3. 「高可用性」セクションの「Oracle Restart」ラベルの横で、「無効」リンクをクリックします。


    注意:

    「Oracle Restart」ラベルに「有効」と表示されている場合、リスナーはすでにOracle Restartで管理されているため、続行する必要はありません。

  4. 確認ページで「続行」をクリックします。

Oracle Restart構成からのコンポーネントの削除

Oracleでお薦めする方法を使用してOracleコンポーネントを削除した場合、そのコンポーネントはOracle Restart構成からも自動的に削除されます。たとえば、Database Configuration Assistant (DBCA)を使用してデータベースを削除すると、DBCAによって、Oracle Restart構成からデータベースが削除されます。同様に、Oracle Net Configuration Assistant(NETCA)を使用してリスナーを削除すると、NETCAによって、Oracle Restart構成からリスナーが削除されます。他の例については、表4-3を参照してください。推奨以外の方法や手動でOracleコンポーネントを削除する場合、最初にSRVCTLを使用してOracle Restart構成からコンポーネントを削除する必要があります。そうしないと、エラーが発生することがあります。

Oracle Restart構成からコンポーネントを削除する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl remove object [options]
    

    object表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのremoveコマンドを参照してください。

例4-4 データベースの削除

この例ではDB_UNIQUE_NAMEdbcrmであるデータベースを削除します。

srvctl remove database -d dbcrm

Oracle Restartでのコンポーネント管理の無効化と有効化

Oracle Restartでのコンポーネント管理は一時的に無効にできます。この機能を実行するケースの1つとして、コンポーネントのメンテナンスを実行する場合があります。たとえば、コンポーネントの修復が必要な場合、障害の発生時やホスト・コンピュータの再起動時にコンポーネントを自動的に再起動しない方がよいことがあります。

メンテナンスの完了後、コンポーネントの管理を再度有効にできます。

コンポーネントを無効にすると、次のようになります。

  • 自動的に再起動しなくなります。

  • 依存性によって自動的に起動しなくなります。

  • SRVCTLで起動できません。

  • このリソースに依存するコンポーネントは、自動的に開始または再起動しなくなります。

コンポーネントの自動再起動を無効または有効にする手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のいずれかを実行します。

    • コンポーネントを無効にするには、次のコマンドを入力します。

      srvctl disable object [options]
      
    • コンポーネントを有効にするには、次のコマンドを入力します。

      srvctl enable object [options]
      

    object表4-8に示したコンポーネントの1つと置き換えます。各コンポーネントに利用できるオプションについては、SRVCTLのdisableコマンドおよびenableコマンドを参照してください。

例4-5 データベースの自動再起動の無効化

この例ではDB_UNIQUE_NAMEdbcrmであるデータベースの自動再起動を無効にします。

srvctl disable database -d dbcrm

例4-6 Oracle ASMディスク・グループの自動再起動の無効化

この例では、recoveryというOracle ASMディスク・グループの自動再起動を無効にします。

srvctl disable diskgroup -g recovery

例4-7 Oracle ASMディスク・グループの自動再起動の有効化

この例では、recoveryというディスク・グループの自動再起動を再度有効にします。

srvctl enable diskgroup -g recovery

コンポーネント・ステータスの表示

SRVCTLを使用すると、Oracle Restartで管理されているコンポーネントの実行ステータス(実行中または実行していない)を表示できます。一部のコンポーネントでは、他の情報も表示されます。

コンポーネント・ステータスを表示する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl status object [options]
    

    object表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのstatusコマンドを参照してください。

例4-8 データベースのステータスの表示

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースのステータスを表示します。

srvctl status database -d dbcrm

Database is running.

コンポーネントのOracle Restart構成の表示

SRVCTLを使用すると、任意のコンポーネントのOracle Restart構成を表示できます。Oracle Restartではコンポーネント・タイプごとに異なる構成情報を保持します。SRVCTLコマンドの1形式を使用して、Oracle Restartで管理されているコンポーネントのリストを取得できます。

コンポーネントの構成を表示する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl config object options
    

    object表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのconfigコマンドを参照してください。

例4-9 Oracle Restartで管理されているすべてのデータベースのリストの表示

srvctl config database

dbcrm
orcl

例4-10 特定のデータベースの構成の表示

この例では、DB_UNIQUE_NAMEorclであるデータベースの構成を表示します。

srvctl config database -d orcl

Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/orcl/spfileorcl.ora
Domain: us.example.com
Start options: open
Stop options: immediate
Database role:
Management policy: automatic
Disk Groups: DATA
Services: mfg,sales

コンポーネントのOracle Restart構成の変更

SRVCTLを使用して、コンポーネントのOracle Restart構成を変更できます。たとえば、Oracle Restartがリスナーを起動したときにリスナーがリスニングするポート番号や、Oracle Restartがデータベースを起動する際に指し示すサーバー・パラメータ・ファイル(SPFILE)を変更できます。

コンポーネントのOracle Restart構成を変更する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl modify object options
    

    object表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのmodifyコマンドを参照してください。

例4-11 データベースのOracle Restart構成の変更

DB_UNIQUE_NAMEdbcrmであるデータベースの場合、次のコマンドを使用すると、管理ポリシーはMANUALに、起動オプションはNOMOUNTに変更されます。

srvctl modify database -d dbcrm -y MANUAL -s NOMOUNT

MANUAL管理ポリシーを設定すると、データベース・ホスト・コンピュータの再起動時にデータベースが自動的に起動されなくなります。ただし、Oracle Restartでデータベースの監視が継続され、データベースに障害が発生すると再起動されます。

Oracle Restart構成の環境変数の管理

Oracle Restart構成には環境変数の名前と値のペアを格納できます。通常、Oracleデータベースを起動する前に環境変数(ORACLE_HOMEORACLE_SIDを除く)を設定する場合、これらの環境変数値をOracle Restart構成に設定できます。次のコンポーネントの個々の構成には任意の数の環境変数を格納できます。

  • データベース・インスタンス

  • リスナー

  • Oracle ASMインスタンス

前述のコンポーネントの1つがOracle Restartで起動されると、そのコンポーネントの環境変数はコンポーネント構成に格納された値に最初に設定されます。Oracleコンポーネントで使用される環境変数はこの方法で設定できますが、この機能の主な対象はオペレーティング・システムの環境変数です。

次の項では、環境変数の設定、設定解除および表示の手順を説明しています。


注意:

この機能はORACLE_HOMEORACLE_SIDなどの標準環境変数の設定には使用しないでください。これらの環境変数はOracle Restartで自動的に設定されます。

環境変数の設定と設定解除

SRVCTLを使用して、コンポーネントに対するOracle Restart構成の環境変数値を設定したり、設定を解除します。

構成の環境変数の設定または設定解除を実行する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のいずれかを実行します。

    • 構成の環境変数を設定するには、次のコマンドを入力します。

      srvctl setenv {asm|database|listener} options
      
    • 構成から環境変数を削除するには、次のコマンドを入力します。

      srvctl unsetenv {asm|database|listener} options
      

    各コンポーネントに利用できるオプションについては、SRVCTLのsetenvコマンドおよびunsetenvコマンドを参照してください。

例4-12 データベース環境変数の設定

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースのOracle Restart構成にNLS_LANGおよびAIX AIXTHREAD_SCOPE環境変数を設定します。

srvctl setenv database -d dbcrm -t "NLS_LANG=AMERICAN_AMERICA.AL32UTF8, 
   AIXTHREAD_SCOPE=S"

環境変数の表示

SRVCTLを使用して、コンポーネントに対するOracle Restart構成の環境変数の値を表示します。

構成の環境変数値を表示する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl getenv {database|listener|asm} options
    

    各コンポーネントに利用できるオプションについては、SRVCTLのgetenvコマンドを参照してください。

例4-13 データベースのすべての環境変数の表示

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースのOracle Restart構成にある環境変数を取得および表示します。

srvctl getenv database -d dbcrm

dbcrm:
NLS_LANG=AMERICAN_AMERICA
AIXTHREAD_SCOPE=S
GCONF_LOCAL_LOCKS=1

例4-14 データベースの特定の環境変数の表示

この例では、同じデータベースのOracle Restart構成からNLS_LANGおよびAIXTHREAD_SCOPE環境変数を取得および表示します。

srvctl getenv database -d dbcrm -t "NLS_LANG,AIXTHREAD_SCOPE"

dbcrm:
NLS_LANG=AMERICAN_AMERICA
AIXTHREAD_SCOPE=S

SRVCTLを使用したデータベース・サービスの作成と削除

Oracle Restartを使用してデータベースを管理する場合、データベース・サービスの作成と削除にはSRVCTLを使用することをお薦めします。SRVCTLを使用してデータベース・サービスを追加すると、サービスはOracle Restart構成に自動的に追加され、サービスとデータベース間の依存性が確立されます。したがって、サービスの起動時にデータベースが起動されていない場合、Oracle Restartで最初にデータベースが起動されます。

SRVCTLを使用してデータベース・サービスを削除すると、サービスはOracle Restart構成からも削除されます。

SRVCTLを使用してデータベース・サービスを作成する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl add service -d db_unique_name -s service_name [options]
    

    データベース・サービスが作成され、Oracle Restart構成に追加されます。利用できるオプションについては、srvctl add serviceコマンドを参照してください。

例4-15 データベース・サービスの作成

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースに対してcrmbatchという新しいデータベース・サービスを作成します。

srvctl add service -d dbcrm -s crmbatch

例4-16 ロールベースのデータベース・サービスの作成

この例では、crmbatchデータベース・サービスを作成し、PHYSICAL_STANDBYのData Guardロールを割り当てます。dbcrmデータベースの現在のロールがフィジカル・スタンバイである場合にのみ、このサービスは自動的に起動されます。

srvctl add service -d dbcrm -s crmbatch -l PHYSICAL_STANDBY

SRVCTLを使用してデータベース・サービスを削除する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のコマンドを入力します。

    srvctl remove service -d db_unique_name -s service_name [-f]
    

    データベース・サービスがOracle Restart構成から削除されます。-f(強制)フラグがあると、サービスが実行中の場合でも削除されます。このフラグがないと、サービスが実行の場合にはエラーが発生します。

Oracle Restart環境でのFANイベントの有効化

Oracle Restartを有効にして高速アプリケーション通知(FAN)イベントを公開するには、Oracle Restartサーバーおよび統合されているクライアントを含むOracle Notification Services(ONS)ネットワークを作成する必要があります。このクライアントには、Oracle Connection Manager(CMAN)、Java Database Connectivity(JDBC)およびUniversal Connection Pool(UCP)クライアントを含めることができます。Oracle Call InterfaceまたはODP.NETクライアントを使用している場合は、サービスに対してOracle Advanced Queuing(AQ)HA通知を有効にする必要があります。また、ONSがサーバー上で稼働している必要があります。

Oracle Restart環境でFANイベントを有効にする手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. データベースがすでにOracle Restartで管理されていない場合は、データベースをOracle Restart構成に追加します。「Oracle Restart構成へのコンポーネントの追加」を参照してください。

  3. ONSを構成に追加します。

    srvctl add ons
    

    ONSは、追加時には無効になっています。

  4. ONSを有効にします。

    srvctl enable ons
    
  5. ONSを起動します。

    srvctl start ons
    
  6. Oracle Restart構成にサービスを追加します。

    Oracle Call InterfaceおよびODP.NETクライアントについては、データベース・キューを有効にするため-qオプションがTRUEに設定されていることを確認します。

    「SRVCTLを使用したデータベース・サービスの作成と削除」を参照してください。

  7. 各クライアントで高速接続フェイルオーバーを有効化します。「クライアントでの高速接続フェイルオーバーの有効化」を参照してください。

プライマリ・データベースとスタンバイ・データベースの接続のフェイルオーバーの自動化

Oracle RestartおよびOracle Data Guardのプライマリ・データベースとスタンバイ・データベースを使用する構成では、スイッチオーバーまたはフェイルオーバーの際にデータベース・サービスがプライマリからスタンバイに自動的にフェイルオーバーします。Oracle Notification Services(ONS)を使用すると、プライマリ・データベースとスタンバイ・データベース間におけるサービスのフェイルオーバーをクライアントに即座に通知できます。Oracle Data Guard Brokerでは、フェイルオーバーが発生すると、高速アプリケーション通知(FAN)を使用してクライアントに通知が送信されます。統合されているOracle Clientでは、接続が自動的にフェイルオーバーされ、アプリケーションによって障害をエンド・ユーザーからマスクできます。

接続のフェイルオーバーを自動化するには、Oracle Restartサーバーおよび統合されているクライアント(CMAN、リスナー、JDBCおよびUCP)を含むONSネットワークを作成する必要があります。Oracle Call InterfaceまたはODP.NETクライアントを使用している場合は、Oracleアドバンスト・キューイングのキューを有効にする必要があります。サービスのフェイルオーバーを自動化するには、データベースおよびサービスをOracle RestartとOracle Data Guard Brokerで管理する必要があります。

プライマリ・データベースとスタンバイ・データベース間におけるサービスのフェイルオーバーを自動化する手順は、次のとおりです。

  1. Oracle Data Guard Brokerでプライマリ・データベースとスタンバイ・データベースを構成します。『Oracle Data Guard Broker』を参照してください。

  2. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  3. プライマリ・サーバー上のOracle Restart構成にプライマリ・データベースが追加されていない場合は、追加します。データベース・ロールには、PRIMARYを指定してください。「Oracle Restart構成へのコンポーネントの追加」を参照してください。

  4. スタンバイ・サーバー上のOracle Restart構成にスタンバイ・データベースが追加されていない場合は、追加します。適切なスタンバイ・データベース・ロールを指定してください。

  5. プライマリ・データベース・サーバーおよびスタンバイ・データベース・サーバーの両方で、FANイベントを有効にします。「Oracle Restart環境でのFANイベントの有効化」を参照してください。

  6. プライマリ・データベースおよびスタンバイ・データベース上のOracle Restart構成のデータベースに接続するためにクライアントで使用するサービスを追加します。サービスを追加する場合は、次のことを確認してください。

    • サービスごとに、-lオプションが適切なロールに設定されていること

    • ODP.NETまたはOracle Call Interfaceを使用している場合は、-qオプションがTRUEに設定されていること

    「SRVCTLを使用したデータベース・サービスの作成と削除」を参照してください。

  7. 各クライアントで高速接続フェイルオーバーを有効化します。「クライアントでの高速接続フェイルオーバーの有効化」を参照してください。

クライアントでの高速接続フェイルオーバーの有効化

スタンバイ・データベースが存在する構成では、Oracle Notification Services(ONS)をOracle Restart構成に追加した後でサービスに対してOracle Advanced Queuing(AQ)HA通知を有効にすると、クライアントで高速接続フェイルオーバーを有効化できます。クライアントでは、高速アプリケーション通知(FAN)イベントを受信し、Oracle Data Guardのフェイルオーバーの後で現在のプライマリ・データベースへの接続を再配置できます。ONSの追加については、「プライマリ・データベースとスタンバイ・データベースの接続のフェイルオーバーの自動化」を参照してください。

スタンバイ・データベースが構成されていないデータベースでも、クライアントのFANイベントを構成できます。フェイルオーバーが発生した場合、データベースへの接続を再試行するようにクライアントを構成できます。障害が発生したデータベースはOracle Restartによって再起動されるため、データベースが再起動した時点でクライアントは再接続できます。この項の例で示すように、接続文字列に適切な遅延と再試行を確実にプログラムしてください。

Oracle Restart構成では、次のタイプのクライアントで高速接続を有効化できます。

JDBCクライアントでの高速接続フェイルオーバーの有効化

Oracle Universal Connection PoolでFANを有効にすると、クライアントで高速接続フェイルオーバー(FCF)が有効になります。アプリケーションでは、シックまたはシンのいずれかのJDBCクライアントを使用してFCFを使用できます。

JDBCクライアントを構成するには、データソースに対して最初のgetConnection()要求を行う前に、FastConnectionFailoverEnabledプロパティを設定します。高速接続フェイルオーバーを有効にすると、接続キャッシュ内のすべての接続にフェイルオーバーが適用されます。アプリケーションでConnection Cache Managerを使用して接続キャッシュを明示的に作成する場合は、まずFastConnectionFailoverEnabledを設定する必要があります。

この項では、Universal Connection Poolを使用してJDBCのFCFを有効にする方法について説明します。シックJDBCクライアントで高速接続フェイルオーバーを有効にする場合は、クライアントおよびサービスの両方で透過アプリケーション・フェイルオーバー(TAF)を有効にしないでください。シンまたはシックJDBCクライアントでFCFを有効にすると、受信用の接続プールが有効になり、すべてのFANイベントが処理されます。

JDBCクライアントで高速接続フェイルオーバーを有効にする手順は、次のとおりです。

  1. 次の例に示すように、キャッシュ対応のデータソースで、データソース・プロパティFastConnectionFailoverEnabledtrueに設定して、Oracle JDBCの暗黙的な接続キャッシュでFANを有効にします。

    PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
    pds.setONSConfiguration("nodes=primaryhost:6200,standbyhost:6200");
    pds.setFastConnectionFailoverEnabled(true);
    pds.setURL("jdbc:oracle:thin:@(DESCRIPTION= 
      (LOAD_BALANCE=on) 
      (ADDRESS=(PROTOCOL=TCP)(HOST=primaryhost)(PORT=1521)) 
      (ADDRESS=(PROTOCOL=TCP)(HOST=standbyhost)(PORT=1521))
      (CONNECT_DATA=(service_name=service_name)))");
    
    ......
    

    この例では、primaryhostはプライマリ・データベースのサーバーであり、standbyhostはスタンバイ・データベースのサーバーです。

    アプリケーションのCLASSPATHには、ucp.jarとons.jarの両方が必要です。


    注意:

    データソースに変更を加えずにFANを有効にするには、システム・プロパティ-D oracle.jdbc.FastConnectionFailover=trueを使用します。

  2. アプリケーションを開始する際に、ons.jarファイルがアプリケーションのCLASSPATHに存在することを確認してください。ons.jarファイルは、Oracle Clientのインストールの一部です。


関連項目:

『Oracle Database JDBC開発者ガイド』

Oracle Call Interfaceクライアントでの高速接続フェイルオーバーの有効化

Oracle Call Interfaceクライアントは、Oracle Restart高可用性FANイベントの発生時に通知を受信して応答するように登録することで、高速接続フェイルオーバー(FCF)を有効にできます。これにより、Oracle Call Interfaceのセッション・フェイルオーバーのレスポンス時間が向上し、中断した接続を接続プールおよびセッション・プールから削除できます。この機能は、透過アプリケーション・フェイルオーバー(TAF)、接続プールまたはセッション・プールを使用するものも含めたOracle Call Interfaceアプリケーションで動作します。

まず、高可用性イベントのサービスを有効にして、アドバンスト・キューイングのALERT_QUEUEを自動的に移入する必要があります。アプリケーションでTAFを使用している場合は、サービスのTAF設定を有効にします。Oracle Restartデータベースに接続するようにクライアント・アプリケーションを構成します。クライアントでは、イベントが発生するたびに使用されるコールバックを登録できます。これにより、接続障害の検出に要する時間が軽減されます。

Oracle Call Interfaceでは、DOWNイベントの処理時に次の操作が行われます。

  • クライアントで影響を受ける接続が終了し、エラーが戻されます。

  • Oracle Call Interface接続プールおよびOracle Call Interfaceセッション・プールから接続が削除されます。

    セッション・プールでは各セッションが接続プールの物理接続にマップされており、接続ごとに複数のセッションが存在できます。

  • TAFが構成されている場合は、接続がフェイルオーバーされます。

TAFが構成されていない場合は、クライアントのみがエラーを受信します。


注意:

Oracle Call Interfaceでは、UPイベントは管理されません。

Oracle Call Interfaceクライアントで高速接続フェイルオーバーを有効化する手順は、次のとおりです。

  1. 使用しているサービスで、SRVCTLのmodifyコマンドを使用してサービスの値を設定することによって、アドバンスト・キューイング通知が有効になっていることを確認します。次に例を示します。

    srvctl modify service -d proddb -s gl.us.example.com -q true -l primary -e select -m basic -z 5 -w 180 -j long
    
  2. 次に示すように、環境作成時にOCI_EVENTSを有効にします。

    ( OCIEnvCreate(...) )
    
  3. クライアント・アプリケーションをクライアント・スレッドまたはオペレーティング・システムのライブラリにリンクします。

  4. オプションとして、クライアントのEVENTコールバックを登録します。

  5. クライアントですべてのプライマリ・ホストとスタンバイ・ホストがADDRESS_LISTに含まれているOracle Net接続記述子が使用されていることを確認します。次に例を示します。

    gl =
    (DESCRIPTION =
     (CONNECT_TIMEOUT=10)(RETRY_COUNT=3)
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = BOSTON1)(PORT = 1521))
         (ADDRESS = (PROTOCOL = TCP)(HOST = CHICAGO1)(PORT = 1521))
         (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA=
      (SERVICE_NAME=gl.us.example.com)))
    

アラート情報を表示するには、DBA_OUTSTANDING_ALERTSおよびDBA_ALERT_HISTORYビューを問い合せます。


関連項目:

  • 『Oracle Call Interfaceプログラマーズ・ガイド』

  • TAFの構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。


ODP.NETクライアントでの高速接続フェイルオーバーの有効化

Oracle Data Provider for .NET(ODP.NET)接続プールでは、サービスが停止したことを示す通知をサブスクライブできます。DOWNイベントが発生すると、インスタンスが停止する接続プール内のセッションがOracle Databaseによってクリーン・アップされ、有効でなくなる接続がODP.NETによって事前に処理されます。

ODP.NETクライアントで高速接続フェイルオーバーを有効にする手順は、次のとおりです。

  1. 次の例に示すように、SRVCTLのmodify serviceコマンドを使用して、アドバンスト・キューイング通知を有効にします。

    srvctl modify service –d dbname –s gl –q true, -j long
    
  2. .Net Application経由で接続されるユーザーに対して、次のコマンドを実行します。user_nameはユーザー名です。

    execute DBMS_AQADM.GRANT_QUEUE_PRIVILEGE('DEQUEUE','SYS.SYS$SERVICE_METRICS', user_name);
    
  3. FAN高可用性イベントをサブスクライブすることによって、ODP.NET接続プールの高速接続フェイルオーバーを有効にします。HAイベント接続文字列属性を接続時にtrueに設定します。プーリング属性はtrue (デフォルト)に設定する必要があります。次にこれらの設定の例を示します。user_nameはユーザーの名前、passwordはユーザーのパスワードを表します。

    // C#
    using System;
    using Oracle.DataAccess.Client;
     
    class HAEventEnablingSample
    {
      static void Main()
      {
        OracleConnection con = new OracleConnection();
     
        // Open a connection using ConnectionString attributes
        // Also, enable "load balancing"
        con.ConnectionString =
          "User Id=user_name;Password=password;Data Source=oracle;" +
          "Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;" +
          "HA Events=true;Incr Pool Size=5;Decr Pool Size=2";
     
        con.Open();
     
        // Create more connections and perform work against the database here.
     
        // Dispose OracleConnection object
        con.Dispose();
      }
    }
    
  4. クライアントですべてのプライマリ・ホストとスタンバイ・ホストがADDRESS_LISTに含まれているOracle Net接続記述子が使用されていることを確認します。次に例を示します。

    gl =
    (DESCRIPTION =
     (CONNECT_TIMEOUT=10)(RETRY_COUNT=3)
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = BOSTON1)(PORT = 1521))
         (ADDRESS = (PROTOCOL = TCP)(HOST = CHICAGO1)(PORT = 1521))
         (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA=
      (SERVICE_NAME=gl.us.example.com)))
    

関連項目:


Oracle Restartで管理されているコンポーネントの起動と停止

Oracle Restartの使用中にコンポーネントを開始し停止する場合、次の理由により、SRVCTLユーティリティを使用することをお薦めします。

  • SRVCTLを使用してコンポーネントを起動すると、このコンポーネントが依存しているコンポーネントがOracle Restartで最初に起動されます。SRVCTLを使用してコンポーネントを停止すると、Oracle Restartで最初に依存コンポーネントを停止できます。

  • SRVCTLでは常にOracle Restart構成に従ってコンポーネントを起動します。他の方法でコンポーネントを起動すると、Oracle Restart構成に従わない可能性があります。

    たとえば、Oracle Restart構成にデータベースを追加したときにサーバー・パラメータ・ファイル(SPFILE)の場所を指定し、この場所がSPFILEのデフォルトの場所ではなかった場合、SQL*Plusを使用してデータベースを起動すると、構成に指定されたSPFILEが使用されないことがあります。

    データベース・インスタンスの構成オプションの表は、srvctl add databaseコマンドを参照してください。

  • SRVCTLを使用してコンポーネントを起動すると、コンポーネントのOracle Restart構成に格納されている環境変数が設定されます。

    詳細は、「Oracle Restart構成の環境変数の管理」を参照してください。

また、Oracle Enterprise Manager Database Control(Database Control)を使用して、Oracle Restartで管理されているデータベースを起動することもできます。SRVCTLとDatabase Controlを使用する方法は次の項で説明しています。

Oracle Restartで管理されているコンポーネントのSRVCTLを使用した起動と停止

SRVCTLを使用して、Oracle Restartで管理されているコンポーネントを起動および停止できます。

SRVCTLを使用してOracle Restartで管理されているコンポーネントを起動または停止する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. 次のいずれかを実行します。

    • コンポーネントを起動にするには、次のコマンドを入力します。

      srvctl start object [options]
      
    • コンポーネントを停止するには、次のコマンドを入力します。

      srvctl stop object [options]
      

    object表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのstartコマンドおよびstopコマンドを参照してください。

例4-17 データベースの起動

この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースを起動します。

srvctl start database -d dbcrm

例4-18 データベースNOMOUNTの起動

この例では、データベースをマウントせずにデータベース・インスタンスを起動します。

srvctl start database -d dbcrm -o nomount

例4-19 デフォルト・リスナーの起動

この例では、デフォルト・リスナーを起動します。

srvctl start listener

例4-20 指定されたリスナーの起動

この例では、crmlistenerというリスナーを起動します。

srvctl start listener -l crmlistener

例4-21 データベース・サービスの起動

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースのデータベース・サービスbizdevsupportを起動します。データベースが起動されていない場合、Oracle Restartで最初にデータベースが起動されます。

srvctl start service -d dbcrm -s "bizdev,support"

例4-22 Oracle ASMディスク・グループの起動(マウント)

この例では、Oracle ASMディスク・グループdatarecoveryを起動(マウント)します。このコマンドを実行するユーザーはOSASMグループのメンバーであることが必要です。

srvctl start diskgroup -g "data,recovery"

例4-23 データベースの停止

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースを停止します。停止オプション(-o)が指定されていないため、データベースはOracle Restart構成の停止オプションに従って停止します。デフォルトの停止オプションはIMMEDIATEです。

srvctl stop database -d dbcrm

例4-24 ABORTオプションを使用したデータベースの停止

この例では、DB_UNIQUE_NAMEdbcrmであるデータベースのSHUTDOWN ABORTを実行します。

srvctl stop database -d dbcrm -o abort

関連項目:

SRVCTLのstartコマンド

Oracle Restartによって管理されているデータベースのOracle Enterprise Managerを使用した起動

Oracle Enterprise Manager Database Control(Database Control)を使用すると、Oracle Restartを使用してデータベースを起動できます。

Oracle Enterprise Managerを使用して、Oracle Restartで管理されているデータベースを起動する手順は、次のとおりです。

  1. 必要なデータベース・インスタンスのデータベース・ホームページにアクセスします。

    詳細は、『Oracle Database 2日でデータベース管理者』のデータベース・ホームページへのアクセスに関する項を参照してください。

  2. 「起動」をクリックします。

    資格証明の起動/停止ページが表示されます。

  3. 次の資格証明を入力します。

    1. データベースOracleホームをインストールしたユーザーについては、ホスト・コンピュータの資格証明を入力します。

    2. ユーザー名SYSおよびインストール時にSYSに割り当てられたパスワードから構成されるデータベース資格証明を入力します。

    3. 「接続モード」リストで、値SYSOPERを選択します。

  4. (オプション)このページが次回表示されるときに自動的にこれらの資格証明を入力する場合、「優先資格証明として保存」オプションを選択します。

  5. 「OK」をクリックします。

    「起動タイプの選択」ページが表示されます。

  6. Oracle Restartとともにデータベースを起動するには、「依存するリソースとともにデータベースを起動」を選択します。

    これにより、Oracle Automatic Storage Managementインスタンスなどのデータベースが依存するリソースが、データベースの起動前に正常に起動されるようになります。

  7. 「OK」をクリックします。

    「確認」ページが表示されます。

  8. 「はい」をクリックします。

    「起動/停止: アクティビティ情報」ページが表示され、データベースが起動中であることが示されます。起動が完了すると、ログイン・ページが表示されます。

  9. データベース(およびDatabase Control)へログインします。

    データベースのホームページで、データベース・インスタンスのステータスが稼働中であることが表示されます。

メンテナンス操作のためのOracle Restartの停止および再起動

OracleホームのいくつかのコンポーネントがOracle Restartで管理されている場合、Oracle RestartおよびOracle Restartで管理されているコンポーネントをOracleホーム内で停止できます。また、Oracle Restartを無効にして、ノードが再起動した場合にOracle Restartが再起動しないようにすることもできます。この設定は、Oracleホームを含むメンテナンスを実行する場合(パッチのインストールなど)に必要となることがあります。メンテナンス操作の完了後、Oracle Restartを有効にして再起動し、Oracle Restartで管理されているコンポーネントをOracleホーム内で再起動できます。

停止と起動の操作にはSRVCTLユーティリティとCRSCTLユーティリティを使用します。

  • stop home SRVCTLコマンドでは、Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で停止します。start home SRVCTLコマンドではこれらのコンポーネントを起動します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。

    homeオブジェクトを使用すると、-sオプションで指定した状態ファイルによって各コンポーネントの状態が追跡されます。stopおよびstatusコマンドでは状態ファイルを作成します。startコマンドでは状態ファイルを使用して再起動するコンポーネントを特定します。

    さらに、status homeコマンドを使用して、Oracle Restartで管理されているコンポーネントのステータスを確認できます。

  • stop CRSCTLコマンドはOracle Restartを停止し、disable CRSCTLコマンドはOracle Restartで管理されるコンポーネントが自動的に再起動しないようにします。enable CRSCTLコマンドは自動再起動を有効にし、start CRSCTLコマンドはOracle Restartを再起動します。

パッチのインストール中にOracleホームのコンポーネントを停止および起動する手順は、次のとおりです。

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。

  2. Oracle Restartで管理されているコンポーネントをOracleホーム内で停止するには、次のSRVCTLユーティリティを使用します。

    srvctl stop home -o oracle_home -s state_file [-t stop_options] [-f]
    

    ここで、oracle_homeはOracleホームの完全なパスを表し、state_fileは状態ファイルの完全なパスを表します。Oracleホームの状態情報は、指定した状態ファイルに記録されます。状態ファイルの場所は、手順7で指定する必要があるのでメモしておいてください。

    Oracle Gridインフラストラクチャ・ホームのコンポーネントを停止する前に、依存するOracle Databaseホームのコンポーネントを先に停止する必要があります。

  3. Oracle Gridインフラストラクチャ・ホームにパッチを適用している場合は、Oracle Restartを無効にして停止します。それ以外の場合は、手順4に進みます。

    Oracle Restartを無効にして停止するには、CRSCTLユーティリティを使用して次のコマンドを実行します。

    crsctl disable has
    
    crsctl stop has
    
  4. メンテナンス操作を実行します。

  5. Oracle Restartで管理されているコンポーネントの自動再起動を有効にするには、次のCRSCTLユーティリティを使用します。

    crsctl enable has
    
  6. Oracle Restartを起動するには、次のCRSCTLユーティリティを使用します。

    crsctl start has
    
  7. 手順2で停止されたコンポーネントを起動するには、次のSRVCTLユーティリティを使用します。

    srvctl start home -o oracle_home -s state_file
    

    状態ファイルは、手順2で指定した状態ファイルと一致している必要があります。

  8. また、Oracle Restartで管理されているコンポーネントのステータスをOracleホーム内で確認するには、次のSRVCTLユーティリティを使用します。

    srvctl status home -o oracle_home -s state_file
    

例4-25 Oracle Restartで管理されているコンポーネントのOracleホーム内での停止

srvctl stop home -o /u01/app/oracle/product/11.2.0/dbhome_1 -s /usr1/or_state

例4-26 Oracle Restartで管理されているコンポーネントのOracleホーム内での起動

srvctl start home -o /u01/app/oracle/product/11.2.0/dbhome_1 -s /usr1/or_state

例4-27 Oracle Restartで管理されているコンポーネント・ステータスのOracleホーム内での表示

srvctl status home -o /u01/app/oracle/product/11.2.0/dbhome_1 -s /usr1/or_state

Oracle RestartのSRVCTLコマンド・リファレンス

ここでは、Oracle Restartに固有のSRVCTLコマンドの構文とオプションに関して詳しく説明します。SRVCTLコマンドの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

SRVCTLコマンドの構文とオプションの概要

SRVCTLでは、次のコマンド構文が想定されます。

srvctl command object options

説明:

  • commandstartstopremoveなどの動詞です。詳細なリストは、表4-7を参照してください。

  • objectはデータベース、リスナーなど、SRVCTLコマンドの実行対象コンポーネントです。コンポーネントの略称も使用できます。コンポーネントとその略称の詳細なリストは、表4-8を参照してください。

  • optionsは、コマンドの追加パラメータを使用できるように、前述のコマンドの組合せの使用範囲を拡大します。たとえば、-dオプションはデータベースの一意名が後に続くことを示し、-sオプションはデータベース・サービス名のカンマ区切りリストが後に続くことを示しています。


注意:

Windowsプラットフォームでカンマ区切りのリストを指定する場合、リストを二重引用符で囲む必要があります("...,...")。また、リスト・メンバーにシェルのメタ文字が含まれている場合、UNIXとLinuxプラットフォームでも二重引用符を使用する必要があります。

大/小文字の区別 SRVCTL コマンドおよびコンポーネントでは、大/小文字が区別されます。オプションでは大/小文字が区別されます。データベースとデータベース・サービス名では大/小文字が区別されず、大/小文字が保持されます。

表4-7 SRVCTLコマンドの概要

コマンド 説明

add


Oracle Restart構成にコンポーネントを追加します。

config


コンポーネントのOracle Restart構成を表示します。

disable


Oracle Restartでのコンポーネントの管理を無効にします。

enable


Oracle Restartでのコンポーネントの管理を再度有効にします。

getenv


データベース、Oracle ASMインスタンスまたはリスナーのOracle Restart構成にある環境変数を表示します。

modify


コンポーネントのOracle Restart構成を変更します。

remove


Oracle Restart構成からコンポーネントを削除します。

setenv


データベース、Oracle ASMインスタンスまたはリスナーのOracle Restart構成に環境変数を設定します。

start


指定したコンポーネントを起動します。

status


指定したコンポーネントの実行ステータスを表示します。

stop


指定したコンポーネントを停止します。

unsetenv


データベース、Oracle ASMインスタンスまたはリスナーのOracle Restart構成にある環境変数の設定を解除します。


SRVCTLコンポーネントの概要

表4-8に、SRVCTLコマンドのobject部分に使用できるキーワードを示します。各コンポーネント・キーワードの完全名と略称のいずれかを使用できます。

表4-8 コンポーネント・キーワードと略称

構成要素 略称 説明

asm

asm

Oracle ASMインスタンス

database

db

データベース・インスタンス

diskgroup

dg

Oracle ASMディスク・グループ

ファイル・システム

ファイル・システム

Oracle ASMファイル・システム

ホーム

ホーム

OracleホームまたはOracle Clusterwareホーム

リスナー

lsnr

Oracle Netリスナー

サービス

serv

データベース・サービス

ons

ons

Oracle Notification Services(ONS)


add

srvctl addコマンドでは、指定したコンポーネントをOracle Restart構成に追加します。また、必要に応じてコンポーネントのOracle Restart構成パラメータを設定します。コンポーネントを追加した後、Oracle Restartで管理が開始され、コンポーネントは必要に応じて再起動されます。

srvctl add操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。

表4-9 srvctl addの概要

コマンド 説明

srvctl add asm


Oracle ASMインスタンスを追加します。

srvctl add database


データベースを追加します。

srvctl add listener


リスナーを追加します。

srvctl add ons


ONS(Oracle Data Guard BrokerとともにOracle Data Guard構成で使用)を追加します。

srvctl add service


Oracle Restartで管理されているデータベース・サービスを追加します。



注意:

Oracle ASM ディスク・グループには、srvctl addコマンドはありません。ディスク・グループは、初回マウント時に自動的にOracle Restart構成に追加されます。Oracle Restart構成からディスク・グループを削除した後に再度追加する場合は、SQL*Plusを使用してOracle ASMインスタンスに接続し、ALTER DISKGROUP...MOUNTコマンドを使用します。

srvctl add asm

Oracle Restart構成にOracle ASMインスタンスを追加します。

構文およびオプション

srvctl add asmコマンドは次の構文で使用します。

srvctl add asm [-l listener_name [-p spfile] [-d asm_diskstring]]

表4-10 srvctl add asmのオプション

オプション 説明
-l listener_name

Oracle ASMが登録する必要があるリスナーの名前。このリスナーとの弱い依存性が確立されます。(Oracle ASMインスタンスを起動する前に、リスナーの起動が試行されます。リスナーが起動しない場合でも、Oracle ASMインスタンスは起動されます。後でリスナーに障害が発生した場合、Oracle RestartでOracle ASMは再起動されません。)

省略すると、デフォルトでlistenerというリスナーに設定されます。

-p spfile

データベースのサーバー・パラメータ・ファイルのフルパス。省略すると、デフォルトのSPFILEが使用されます。

-d asm_diskstring

Oracle ASMディスク・グループ検出文字列。Oracle ASM検出文字列は、Oracle ASMインスタンスによって検出されるディスクのセットを制限する文字列のカンマ区切りリストです。検出文字列には、ワイルドカード文字を含めることができます。文字列のいずれかに一致するディスクのみが検出されます。



次に、このコマンドの例を示します。

srvctl add asm -l crmlistener

関連項目:

Oracle ASMのディスク・グループ検出文字列の詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください。


srvctl add database

Oracle Restart構成にデータベースを追加します。

Oracle Restart構成にデータベースを追加した後、データベースからOracle ASMディスク・グループのデータにアクセスした場合、データベースとディスク・グループ間の依存性が作成されます。その後、データベースの起動前にディスク・グループがマウントされていることがOracle Restartで確認されます。

ただし、Oracle Restart構成にデータベースを追加するときにデータベースとOracle ASMインスタンスが実行されていない場合、SRVCTLコマンドに-aオプションを指定して、データベースとディスク・グループ間の依存性を手動で確立する必要があります。この後の例を参照してください。


注意:

Oracle Restartの構成に手動でデータベースを追加する場合は、そのデータベースのOSDBAグループのメンバーとしてOracle Gridインフラストラクチャ・ソフトウェアの所有者を追加することも必要となります。これは、Gridインフラストラクチャ・コンポーネントが、データベースを起動および停止するために、データベースにSYSDBAとして接続できる必要があるためです。

たとえば、Gridインフラストラクチャをインストールしたホスト・ユーザーの名前がgridで、新しいデータベースのOSDBAグループの名前がdbaである場合、ユーザーgriddbaグループのメンバーであることが必要です。


構文およびオプション

srvctl add databaseコマンドは次の構文で使用します。

srvctl add database -d db_unique_name -o oracle_home [-m domain_name] 
  [-c  {RACONENODE | RAC | SINGLE}] [-n db_name] [-i instance_name] 
  [-p spfile] [-s start_options] [-t stop_options] 
  [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}]
  [-y {automatic | manual}] [-a disk_group_list]

表4-11 srvctl add databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-o Oracle_home

データベースのOracleホームのフルパス。

-m domain_name

データベースのドメイン。DB_DOMAIN初期化パラメータに一致する必要があります。

-c {RACONENODE | RAC | SINGLE}

追加するデータベースのタイプ(Oracle RAC One Node、Oracle RACまたは単一のインスタンス)。-x node_nameオプションを指定しない場合のデフォルトはRACで、-cオプションのデフォルトはSINGLEです。

Oracle Restart構成にデータベースを追加するときは、SINGLEを指定する必要があります。

-n db_name

指定する場合、DB_NAME初期化パラメータの設定に一致する必要があります。DB_NAME-dオプションで指定された一意の名前と異なる場合、このオプションを指定する必要があります。

-i instance_name

インスタンス名。

インスタンス名が-dオプションで指定された一意の名前と異なる場合、このオプションを指定する必要があります。たとえば、一意の名前にアンダースコアが含まれていて、インスタンス名がアンダースコアを省略している場合、このパラメータを使用してインスタンス名を指定します。

注意: -iオプションは、Oracle Databaseリリース11.2.0.3以上のデータベースでのみ使用可能です。

-p spfile

データベースのサーバー・パラメータ・ファイルのフルパス。省略すると、デフォルトのSPFILEが使用されます。

-s start_options

データベースの起動オプション(OPENMOUNTまたはNOMOUNT)。省略すると、デフォルトでOPENに設定されます。

-t stop_options

データベースの停止オプション(NORMALIMMEDIATETRANSACTIONALまたはABORT)。省略すると、デフォルトでIMMEDIATEに設定されます。

-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}

データベースの現在のロール(PRIMARYPHYSICAL_STANDBYSNAPSHOT_STANDBYまたはLOGICAL_STANDBY)。Oracle Data Guard環境でのみ適用できます。

-y {AUTOMATIC | MANUAL}

データベースの管理ポリシー。AUTOMATIC(デフォルト)データベースは、データベース・ホスト・コンピュータの再起動時に以前の実行状態(起動または停止)へ自動的に戻ります。MANUALの場合、データベース・ホスト・コンピュータの再起動時にデータベースは自動的には再起動されません。MANUALを設定しても、データベースは実行中にOracle Restartで監視され、障害が発生すると再起動されます。

-a disk_group_list

データベースが依存するディスク・グループのリスト。Oracle Restartでは、データベースを起動する前にこれらのディスク・グループがマウントされていることを確認します。このオプションは、データベースの追加時にデータベース・インスタンスとOracle ASMインスタンスが起動されていなかった場合にのみ必要です。それ以外の場合、データベースとディスク・グループ間の依存性は自動的に記録されています。



この例では、DB_UNIQUE_NAMEdbcrmであるデータベースを追加します。

srvctl add database -d dbcrm -o /u01/app/oracle/product/11.2.0/dbhome_1

この例では、同じデータベースを追加し、データベースおよびディスク・グループDATARECOVERY間の依存性も確立します。

srvctl add database -d dbcrm -o /u01/app/oracle/product/11.2.0/dbhome_1
  -a "DATA,RECOVERY"

関連項目:



srvctl add listener

Oracle Restart構成にリスナーを追加します。

構文およびオプション

srvctl add listenerコマンドは次の構文で使用します。

srvctl add listener [-l listener_name] [-p endpoints] [-s] [-o Oracle_home]

表4-12 srvctl add listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、デフォルトでLISTENERに設定されます。

-p endpoints

カンマ区切りのTCPポートまたはリスナー・エンドポイント。省略すると、デフォルトでTCP:1521になります。endpointsの構文は次のとおりです。

"[TCP:]port[, ...] [/IPC:key] [/NMP:pipe_name] [/TCPS:s_port] [/SDP:port]"
-s

指定されたエンドポイントとのポートの不一致のチェックをスキップします。

-o Oracle_home

リスナーのOracleホーム。省略すると、Oracle Gridインフラストラクチャ・ホームが想定されます。



次のコマンドでは、データベースOracleホームから実行され、TCPポート1522をリスニングしているリスナー(LISTENER)を追加します。

srvctl add listener -p TCP:1522 -o /u01/app/oracle/product/11.2.0/dbhome_1

srvctl add ons

Oracle Restart構成にONSを追加します。

Oracle Data Guardのフェイルオーバーの後で高速アプリケーション通知(FAN)イベントの送信を有効にするには、ONSをOracle Restart構成に追加する必要があります。

ONSは、Oracle Restart構成に追加した時点では無効になっています。有効にするには、srvctl enable onsコマンドを使用します。


関連項目:

「srvctl enable ons」

構文およびオプション

srvctl add onsコマンドは次の構文で使用します。

srvctl add ons [-e em_port] [-l ons_local_port] [-r ons_remote_port] [-t host[:port],[host[:port]...]] [-v]

表4-13 srvctl add onsのオプション

オプション 説明
-e em_port

Oracle Enterprise ManagerのONSリスニング・ポート。デフォルトは2016です。

-l ons_local_port

ローカル・クライアント接続のONSリスニング・ポート。デフォルトは6100です。

-r ons_remote_port

リモート・ホストからの接続用のONSリスニング・ポート。デフォルトは6200です。

-t host[:port],[host[:port],...

ONSネットワークの一部であるリモート・ホストのhost:portのペアのリスト。

注意: リモート・ホストのportが指定されていない場合、ons_remote_portが使用されます。

-v

詳細出力。



srvctl add service

Oracle Restart構成にデータベース・サービスを追加します。データベース・サービスがない場合、データベース・サービスを作成します。DBMS_SERVICE PL/SQLパッケージを使用するよりも、この方法でサービスを作成することをお薦めします。

構文およびオプション

srvctl add serviceコマンドは次の構文で使用します。

srvctl add service -d db_unique_name -s service_name
  [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]]
  [-y {AUTOMATIC | MANUAL}] [-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}]
  [-w integer] [-z integer] [-j {SHORT | LONG}]
  [-B {SERVICE_TIME | THROUGHPUT | NONE}] [-q {TRUE | FALSE}] -t edition_name

表4-14 srvctl add serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name

データベース・サービス名

-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]

サービス・ロールのリスト。Oracle Data Guard環境でのみ適用できます。このオプションを指定すると、データベースのオープン時に、サービス・ロールの1つが現在のデータベース・ロールに一致する場合にのみサービスが起動されます。

-y {AUTOMATIC | MANUAL}

サービスの管理ポリシー。AUTOMATIC(デフォルト)の場合、サービスは計画された再起動(SRVCTLを使用)または障害の後、データベースの再起動時に自動的に起動されます。ただし、自動再起動はサービス・ロールの影響も受けます(-lオプション)。MANUALの場合、データベースの計画された再起動(SRVCTLを使用)時にサービスは自動的には再起動されません。MANUALを設定しても、サービスは実行中にOracle Restartで監視され、障害が発生すると再起動されます。

-e {NONE |SESSION | SELECT}

フェイルオーバーのタイプ。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。

-m {NONE | BASIC}

フェイルオーバーの方法。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。

-w integer

フェイルオーバーの遅延。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。

-z integer

フェイルオーバーの再試行。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。

-j {SHORT | LONG}

接続ロード・バランシングの目標。

-B {SERVICE_TIME | THROUGHPUT | NONE}

ランタイム・ロード・バランシングの目標。

-q {TRUE | FALSE}

Oracleアドバンスト・キューイング(AQ)HA通知を送信します。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。

-t edition_name

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

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

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



この例では、DB_UNIQUE_NAMEdbcrmであるデータベースのsalesサービスを追加します。dbcrmPRIMARYモードである場合にのみ、サービスが起動されます。

srvctl add service -d dbcrm -s sales -l PRIMARY

関連項目:

  • このコマンドのオプションの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』DBMS_SERVICEパッケージに関する項を参照してください。

  • 「Oracle RestartとOracle Data Guardとの統合」

  • 『Oracle Data Guard概要および管理』



config

srvctl configコマンドでは、指定したコンポーネントまたはコンポーネント・セットのOracle Restart構成を表示します。

表4-15 srvctl configの概要

コマンド 説明

srvctl config asm


Oracle ASMインスタンスのOracle Restart構成情報を表示します。

srvctl config database


指定したデータベースのOracle Restart構成情報を表示するか、またはOracle Restartで管理されているすべてのデータベースをリストします。

srvctl config listener


すべてのリスナーまたは指定したリスナーのOracle Restart構成情報を表示します。

srvctl config ons


ONSの現在の構成情報を表示します。

srvctl config service


指定したデータベースについて、指定したデータベース・サービスまたはすべてのデータベース・サービスのOracle Restart構成情報を表示します。


srvctl config asm

Oracle ASMインスタンスのOracle Restart構成情報を表示します。

構文およびオプション

srvctl config asmコマンドは次の構文で使用します。

srvctl config asm [-a]

表4-16 srvctl config asmのオプション

オプション 説明
-a

有効/無効ステータスも表示します。



次に、このコマンドの例を示します。

srvctl config asm -a

asm home: /u01/app/oracle/product/11.2.0/grid
ASM is enabled.

srvctl config database

指定したデータベースのOracle Restart構成情報を表示します。または、Oracle Restartで管理されているすべてのデータベースを示します。

構文およびオプション

srvctl config databaseコマンドは次の構文で使用します。

srvctl config database [-d db_unique_name [-a]]

表4-17 srvctl config databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-a

有効/無効ステータスも表示します。



このコマンドの次の例では、Oracle Restartで管理されているすべてのデータベースを表示します。

srvctl config database

dbcrm
orcl

このコマンドの次の例では、DB_UNIQUE_IDorclであるデータベースの構成および有効/無効ステータスを表示します。

srvctl config database -d orcl -a

Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/orcl/spfileorcl.ora
Domain: us.example.com
Start options: open
Stop options: immediate
Database role:
Management policy: automatic
Disk Groups: DATA
Services: mfg,sales
Database is enabled

srvctl config listener

Oracle Restartで管理されているすべてのリスナーまたは指定したリスナーのOracle Restart構成情報を表示します。

構文およびオプション

srvctl config listenerコマンドは次の構文で使用します。

srvctl config listener [-l listener_name]

表4-18 srvctl config listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、Oracle Restartで管理されているすべてのリスナーの構成情報が表示されます。



この例では、デフォルト・リスナーの構成情報と有効/無効ステータスを表示します。

srvctl config listener

Name: LISTENER
Home: /u01/app/oracle/product/11.2.0/dbhome_1
End points: TCP:1521
Listener is enabled.

srvctl config ons

ONSの現在の構成情報を表示します。

構文およびオプション

srvctl config onsコマンドは次の構文で使用します。

srvctl config ons

srvctl config service

指定したデータベースについて、指定したデータベース・サービスまたはOracle Restartで管理されているすべてのデータベース・サービスのOracle Restart構成情報を表示します。

構文およびオプション

srvctl config serviceコマンドは次の構文で使用します。

srvctl config service -d db_unique_name [-s service_name] [-a]

表4-19 srvctl config serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name

データベース・サービス名。省略すると、SRVCTLによって、Oracle Restartで管理されているすべてのデータベース・サービスの構成情報が表示されます。

-a

詳細な構成情報が表示されます。



次に、このコマンドの例を示します。

srvctl config service -d dbcrm -s sales

Service name: sales
Service is enabled
Cardinality: SINGLETON
Disconnect: true
Service role: PRIMARY
Management policy: automatic
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: NONE
Runtime Load Balancing Goal: NONE
TAF policy specification: NONE
Edition: e2

disable

コンポーネントを無効にし、そのコンポーネントのOracle Restartでの管理を一時停止します。srvctl disableコマンドは、コンポーネントを修復するかメンテナンス用に停止する必要があり、自動再起動しない場合に使用します。コンポーネントを無効にすると、次のようになります。

  • 自動的に再起動しなくなります。

  • 依存性によって自動的に起動しなくなります。

  • SRVCTLで起動できません。

srvctl disable操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。


関連項目:

enableコマンド

表4-20 srvctl disableの概要

コマンド 説明

srvctl disable asm


Oracle ASMインスタンスを無効にします。

srvctl disable database


データベースを無効にします。

srvctl disable diskgroup


Oracle ASMディスク・グループを無効にします。

srvctl disable listener


指定したリスナーまたはすべてのリスナーを無効にします。

srvctl disable ons


ONSを無効にします。

srvctl disable service


指定したデータベースの1つ以上のデータベース・サービスを無効にします。


srvctl disable asm

Oracle ASMインスタンスを無効にします。

構文およびオプション

srvctl disable asmコマンドは次の構文で使用します。

srvctl disable asm

srvctl disable database

指定したデータベースを無効にします。

構文およびオプション

srvctl disable databaseコマンドは次の構文で使用します。

srvctl disable database -d db_unique_name

表4-21 srvctl disable databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。



次に、このコマンドの例を示します。

srvctl disable database -d dbcrm

srvctl disable diskgroup

Oracle ASMディスク・グループを無効にします。

構文およびオプション

srvctl disable diskgroupコマンドは次の構文で使用します。

srvctl disable diskgroup -g diskgroup_name

表4-22 srvctl disable diskgroupのオプション

オプション 説明
-g diskgroup_name

ディスク・グループ名。



次に、このコマンドの例を示します。

srvctl disable diskgroup -g DATA

srvctl disable listener

指定したリスナーまたはすべてのリスナーを無効にします。

構文およびオプション

srvctl disable listenerコマンドは次の構文で使用します。

srvctl disable listener [-l listener_name]

表4-23 srvctl disable listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、すべてのリスナーが無効になります。



次に、このコマンドの例を示します。

srvctl disable listener -l crmlistener

srvctl disable ons

ONSを無効にします。

構文およびオプション

srvctl disable onsコマンドは次の構文で使用します。

srvctl disable ons -v

表4-24 srvctl disable onsのオプション

オプション 説明
-v

詳細出力。



srvctl disable service

1つ以上のデータベース・サービスを無効にします。

構文およびオプション

srvctl disable serviceコマンドは次の構文で使用します。

srvctl disable service -d db_unique_name -s service_name_list

表4-25 srvctl disable serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name_list

データベース・サービス名のカンマ区切りのリスト。



次の例では、データベース・サービスsalesmfgを無効にします。

srvctl disable service -d dbcrm -s sales,mfg

enable

srvctl enableコマンドでは、指定した無効なコンポーネントを再度有効にして、次の処理を実行できるようにします。

  • Oracle Restartで自動再起動します。

  • 依存性を介して自動起動します。

  • SRVCTLを使用して手動で起動します。

コンポーネントがすでに有効になっている場合、コマンドは無視されます。

Oracle Restart構成にコンポーネントを追加すると、コンポーネントはデフォルトで有効になります。

srvctl enable操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。

表4-26 srvctl enableの概要

コマンド 説明

srvctl enable asm


Oracle ASMインスタンスを有効化します。

srvctl enable database


データベースを有効にします。

srvctl enable diskgroup


Oracle ASMディスク・グループを有効にします。

srvctl enable listener


指定したリスナーまたはすべてのリスナーを有効にします。

srvctl enable ons


ONSを有効にします。

srvctl enable service


指定したデータベースの1つ以上のデータベース・サービスを有効にします。



関連項目:

disableコマンド

srvctl enable asm

Oracle ASMインスタンスを有効化します。

構文およびオプション

srvctl enable asmコマンドは次の構文で使用します。

srvctl enable asm

srvctl enable database

指定したデータベースを有効にします。

構文およびオプション

srvctl enable databaseコマンドは次の構文で使用します。

srvctl enable database -d db_unique_name

表4-27 srvctl enable databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。



次に、このコマンドの例を示します。

srvctl enable database -d dbcrm

srvctl enable diskgroup

Oracle ASMディスク・グループを有効にします。

構文およびオプション

srvctl enable diskgroupコマンドは次の構文で使用します。

srvctl enable diskgroup -g diskgroup_name

表4-28 srvctl enable diskgroupのオプション

オプション 説明
-g diskgroup_name

ディスク・グループ名。



次に、このコマンドの例を示します。

srvctl enable diskgroup -g DATA

srvctl enable listener

指定したリスナーまたはすべてのリスナーを有効にします。

構文およびオプション

srvctl enable listenerコマンドは次の構文で使用します。

srvctl enable listener [-l listener_name]

表4-29 srvctl enable listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、すべてのリスナーが有効になります。



次に、このコマンドの例を示します。

srvctl enable listener -l crmlistener

srvctl enable ons

ONSを有効にします。

構文およびオプション

srvctl enable onsコマンドは次の構文で使用します。

srvctl enable ons -v

表4-30 srvctl enable onsのオプション

オプション 説明
-v

詳細出力。



srvctl enable service

指定したデータベースの1つ以上のデータベース・サービスを有効にします。

構文およびオプション

srvctl enable serviceコマンドは次の構文で使用します。

srvctl enable service -d db_unique_name -s service_name_list

表4-31 srvctl enable serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name_list

データベース・サービス名のカンマ区切りのリスト。



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのデータベース・サービスsalesmfgを有効にします。

srvctl enable service -d dbcrm -s "sales,mfg"

getenv

データベース、リスナーまたはOracle ASMインスタンスのOracle Restart構成から環境変数とその値を取得して表示します。

表4-32 srvctl getenvの概要

コマンド 説明

srvctl getenv asm


Oracle ASMインスタンスに対して構成された環境変数を表示します。

srvctl getenv database


指定したデータベース・インスタンスに対して構成された環境変数を表示します。

srvctl getenv listener


指定したリスナーに対して構成された環境変数を表示します。


srvctl getenv asm

Oracle ASMインスタンスに対して構成された環境変数を表示します。

構文およびオプション

srvctl getenv asmコマンドは次の構文で使用します。

srvctl getenv asm [-t name_list]

表4-33 srvctl getenv asmのオプション

オプション 説明
-t name_list

表示する環境変数名のカンマ区切りのリスト。省略すると、SRVCTLによって、Oracle ASMに対して構成されたすべての環境変数が表示されます。



次の例では、Oracle ASMインスタンスに対して構成されたすべての環境変数を表示します。

srvctl getenv asm

srvctl getenv database

指定したデータベースに対して構成された環境変数を表示します。

構文およびオプション

srvctl getenv databaseコマンドは次の構文で使用します。

srvctl getenv database -d db_unique_name [-t name_list]

表4-34 srvctl getenv databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-t name_list

表示する環境変数名のカンマ区切りのリスト。省略すると、SRVCTLによって、構成されたすべての環境変数が表示されます。



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースに対して構成されたすべての環境変数を表示します。

srvctl getenv database -d dbcrm

srvctl getenv listener

指定したリスナーに対して構成された環境変数を表示します。

構文およびオプション

srvctl getenv listenerコマンドは次の構文で使用します。

srvctl getenv listener [-l listener_name] [-t name_list]

表4-35 srvctl getenv listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、SRVCTLによって、すべてのリスナーの環境変数が表示されます。

-t name_list

表示する環境変数名のカンマ区切りのリスト。省略すると、SRVCTLによって、構成されたすべての環境変数が表示されます。



次の例では、crmlistenerというリスナーに対して構成されたすべての環境変数を表示します。

srvctl getenv listener -l crmlistener

modify

コンポーネントのOracle Restart構成を変更します。変更内容は、コンポーネントが次に再起動されたときに反映されます。

srvctl modify操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。

表4-36 srvctl modifyの概要

コマンド 説明

srvctl modify asm


Oracle ASMの構成の変更

srvctl modify database


データベースの構成の変更

srvctl modify listener


指定したリスナーまたはすべてのリスナーの構成を変更します。

srvctl modify ons


ONSを変更します。

srvctl modify service


データベース・サービスの構成を変更します。


srvctl modify asm

Oracle ASMインスタンスのOracle Restart構成を変更します。

構文およびオプション

srvctl modify asmコマンドは次の構文で使用します。

srvctl modify asm [-l listener_name] [-p spfile] [-d asm_diskstring]

表4-37 srvctl modify asmのオプション

オプション 説明
-l listener_name

Oracle ASMが登録する必要があるリスナーの名前。このリスナーとの弱い依存性が確立されます。(Oracle Restartでは、Oracle ASMを起動する前にこのリスナーの起動を確認します。)

-p spfile

データベースのサーバー・パラメータ・ファイルのフルパス。省略すると、デフォルトのSPFILEが使用されます。

-d asm_diskstring

Oracle ASMディスク・グループ検出文字列。Oracle ASM検出文字列は、Oracle ASMインスタンスによって検出されるディスクのセットを制限する文字列のカンマ区切りリストです。検出文字列には、ワイルドカード文字を含めることができます。文字列のいずれかに一致するディスクのみが検出されます。



次に、このコマンドの例を示します。

srvctl modify asm -l crmlistener

関連項目:

Oracle ASMのディスク・グループ検出文字列の詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください。


srvctl modify database

データベースのOracle Restart構成を変更します。

構文およびオプション

srvctl modify databaseコマンドは次の構文で使用します。

srvctl modify database -d db_unique_name [-o oracle_home] [-u oracle_user] 
  [-m domain_name] [-n db_name] [-i instance_name] 
  [-p spfile] [-s start_options] 
  [-t stop_options] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | 
  SNAPSHOT_STANDBY}] [-y {automatic | manual}] [-a disk_group_list] [-z]

表4-38 srvctl modify databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-u oracle_user

Oracleホーム・ディレクトリを所有するOracleユーザーの名前。

-z

Oracle ASMディスク・グループに対するデータベースの依存性を削除します。

(他のオプション)

表4-11を参照してください。



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのロールをLOGICAL_STANDBYに変更します。

srvctl modify database -d dbcrm -r logical_standby

関連項目:



srvctl modify listener

指定したリスナーまたはすべてのリスナーのOracle Restart構成を変更します。

構文およびオプション

srvctl modify listenerコマンドは次の構文で使用します。

srvctl modify listener [-l listener_name] [-p endpoints] [-o Oracle_home]

表4-39 srvctl modify listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、すべてのリスナー構成が変更されます。

-p endpoints

カンマ区切りのTCPポートまたはリスナー・エンドポイント。endpointsの構文は次のとおりです。

"[TCP:]port[, ...] [/IPC:key] [/NMP:pipe_name] [/TCPS:s_port] [/SDP:port]"
-o Oracle_home

リスナーの新しいOracleホーム。



この例では、crmlistenerというリスナーがリスニングしているTCPポートを変更します。

srvctl modify listener -l crmlistener -p TCP:1522

srvctl modify ons

ONSを変更します。

構文およびオプション

srvctl modify onsコマンドは次の構文で使用します。

srvctl modify ons [-e em_port] [-l ons_local_port] [-r ons_remote_port] [-t host[:port],[host[:port]...]] [-v]

表4-40 srvctl modify onsのオプション

オプション 説明
-e em_port

Oracle Enterprise ManagerのONSリスニング・ポート。デフォルトは2016です。

-l ons_local_port

ローカル・クライアント接続のONSリスニング・ポート。

-r ons_remote_port

リモート・ホストからの接続用のONSリスニング・ポート。

-t host[:port],[host[:port],...

ONSネットワークの一部であるリモート・ホストのhost:portのペアのリスト。

注意: リモート・ホストのportが指定されていない場合、ons_remote_portが使用されます。

-v

詳細出力。



srvctl modify service

データベース・サービスのOracle Restart構成を変更します。


注意:

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

構文およびオプション

srvctl modify serviceコマンドは次の構文で使用します。

srvctl modify service -d db_unique_name -s service_name]
  [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]]
  [-y {AUTOMATIC | MANUAL}] [-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}]
  [-w integer] [-z integer] [-j {SHORT | LONG}]
  [-B {SERVICE_TIME | THROUGHPUT | NONE}] [-q {TRUE | FALSE}] -t edition_name

表4-41 srvctl modify serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name

サービス名。

-t edition_name

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

このオプションを指定しない場合、サービスのエディションは変更されません。

このオプションが指定されているものの、edition_nameが空である場合、エディションはNULLに設定されます。NULLのエディションには効果がありません。

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

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

(他のオプション)

表4-14を参照してください。



次のコマンドでは、DB_UNIQUE_NAMEdbcrmであるデータベースで、supportというデータベース・サービスのOracle Data Guardロールをstandbyに変更します。

srvctl modify service -d dbcrm -s support -l standby

remove

Oracle Restart構成から指定したコンポーネントを削除します。コンポーネントはOracle Restartで管理されなくなります。コンポーネントの環境変数設定も削除されます。

Oracle Restart構成からコンポーネントを削除する前に、SRVCTLを使用してコンポーネントを停止する必要があります。コンポーネントは削除前に無効にすることをお薦めしますが、必須ではありません。

srvctl remove操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。

表4-42 srvctl removeの概要

コマンド 説明

srvctl remove asm


Oracle ASMインスタンスを削除します。

srvctl remove database


データベースを削除します。

srvctl remove diskgroup


Oracle ASMディスク・グループを削除します。

srvctl remove listener


リスナーを削除します。

srvctl remove ons


ONSを削除します。

srvctl remove service


1つ以上のデータベース・サービスを削除します。



関連項目:


srvctl remove asm

Oracle ASMインスタンスを削除します。

構文およびオプション

srvctl remove asmコマンドは次の構文で使用します。

srvctl remove asm  [-f]

表4-43 srvctl remove asmのオプション

オプション 説明
-f

Oracle ASMを使用するディスク・グループおよびデータベースが存在する場合、またはOracle ASMインスタンスが実行中の場合でも、強制的に削除します。



次に、このコマンドの例を示します。

srvctl remove asm

srvctl remove database

データベースを削除します。最初に確認のプロンプトを表示します。

構文およびオプション

srvctl remove databaseコマンドは次の構文で使用します。

srvctl remove database -d db_unique_name [-f] [-y] [-v]

表4-44 srvctl remove databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-f

強制。実行中でもデータベースを削除します。

-y

確認のプロンプトを表示せず、即時削除します。

-v

詳細出力。成功または失敗のメッセージが表示されます。



次に、このコマンドの例を示します。

srvctl remove database -d dbcrm

srvctl remove diskgroup

Oracle ASMディスク・グループを削除します。

構文およびオプション

srvctl remove diskgroupコマンドは次の構文で使用します。

srvctl remove diskgroup -g diskgroup_name [-f]

表4-45 srvctl remove diskgroupのオプション

オプション 説明
-g diskgroup_name

ディスク・グループ名。

-f

強制。ファイルが開いていてもディスク・グループを削除します。



この例では、DATAというディスク・グループを削除します。このディスク・グループでファイルが開いている場合、エラーが返されます。

srvctl remove diskgroup -g DATA

srvctl remove listener

指定したリスナーまたはすべてのリスナーを削除します。

構文およびオプション

srvctl remove listenerコマンドは次の構文で使用します。

srvctl remove listener [-l listener_name] [-a] [-f]

表4-46 srvctl remove listenerのオプション

オプション 説明
-l listener_name

削除するリスナーの名前。省略すると、デフォルトのLISTENERが使用されます。

-a

すべてのリスナーを削除します。

-f

強制。データベースで使用されていてもリスナーを削除します。



次のコマンドではリスナーlsnr01を削除します。

srvctl remove listener -l lsnr01

srvctl remove ons

ONSを削除します。

構文およびオプション

srvctl remove onsコマンドは次のように使用します。

srvctl remove ons -f -v

表4-47 srvctl remove onsのオプション

オプション 説明
-f

強制。有効なONSも削除します。

-v

詳細出力。



srvctl remove service

指定したデータベース・サービスを削除します。

構文およびオプション

srvctl remove serviceコマンドは次のように使用します。

srvctl remove service -d db_unique_name -s service_name]

表4-48 srvctl remove serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name

サービス名。



次に、このコマンドの例を示します。

srvctl remove service -d dbcrm -s sales

setenv

setenvコマンドでは、データベース、リスナーまたはOracle ASMインスタンスのOracle Restart構成に環境変数の値を設定します。

srvctl setenv操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。

表4-49 srvctl setenvおよびunsetenvの概要

コマンド 説明

srvctl setenv asm


Oracle ASMインスタンスのOracle Restart構成に環境変数を設定します。

srvctl setenv database


データベース・インスタンスのOracle Restart構成に環境変数を設定します。

srvctl setenv listener


指定したリスナーまたはすべてのリスナーのOracle Restart構成に環境変数を設定します。


srvctl setenv asm

Oracle ASMインスタンスのOracle Restart構成に環境変数の値を設定します。Oracle Restartでは、インスタンスを起動する前に、環境変数を構成に格納された値に設定します。

構文およびオプション

srvctl setenv asmコマンドは次の構文で使用します。

srvctl setenv asm {-t name=val[,name=val,...] | -T name=val}

表4-50 srvctl setenv databaseのオプション

オプション 説明
-t name=val[,name=val,...]

環境変数の名前と値のペアのカンマ区切りのリスト。

-T name=val

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする



次の例では、AIXオペレーティング・システムの環境変数AIXTHREAD_SCOPEをOracle ASMインスタンスの構成に設定します。

srvctl setenv asm -t AIXTHREAD_SCOPE=S

srvctl setenv database

データベース・インスタンスのOracle Restart構成に環境変数の値を設定します。Oracle Restartでは、インスタンスを起動する前に、環境変数を構成に格納された値に設定します。

構文およびオプション

srvctl setenv databaseコマンドは次の構文で使用します。

srvctl setenv database -d db_unique_name {-t name=val[,name=val,...] |
  -T name=val}

表4-51 srvctl setenv databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-t name=val[,name=val,...]

環境変数の名前と値のペアのカンマ区切りのリスト。

-T name=val

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースの構成にLANG環境変数を設定します。

srvctl setenv database -d dbcrm -t LANG=en

srvctl setenv listener

リスナーのOracle Restart構成に環境変数の値を設定します。Oracle Restartでは、リスナーを起動する前に、環境変数を構成に格納された値に設定します。

構文およびオプション

srvctl setenv listenerコマンドは次の構文で使用します。

srvctl setenv listener [-l listener_name] {-t name=val[,name=val,...] | 
  -T name=val}

表4-52 srvctl setenv listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、すべてのリスナー構成に指定した環境変数が設定されます。

-t name=val[,name=val,...]

環境変数の名前と値のペアのカンマ区切りのリスト。

-T name=val

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする



次の例では、AIXオペレーティング・システムの環境変数AIXTHREAD_SCOPEcrmlistenerというリスナーの構成に設定します。

srvctl setenv listener -l crmlistener -t AIXTHREAD_SCOPE=S

start

指定したコンポーネントを起動します。

表4-53 srvctl startの概要

コマンド 説明

srvctl start asm


Oracle ASMインスタンスを起動します。

srvctl start database


指定したデータベースを起動します。

srvctl start diskgroup


指定したOracle ASMディスク・グループを起動(マウント)します。

srvctl start home


Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で起動します。

srvctl start listener


指定したリスナーまたはOracle Restartで管理されているすべてのリスナーを起動します。

srvctl start ons


ONSを起動します。

srvctl start service


指定したデータベース・サービスを起動します。


srvctl start asm

Oracle ASMインスタンスを起動します。

このコマンドでは、SRVCTLは"/ as sysasm"で接続して操作を実行します。このような操作を実行するには、Oracle Gridインフラストラクチャ・ホームの実行可能ファイルの所有者がOSASMグループのメンバーであることが必要です。また、コマンドを実行するユーザーもOSASMグループに属する必要があります。

構文およびオプション

srvctl start asmコマンドは次の構文で使用します。

srvctl start asm [-o start_options]

表4-54 srvctl start asmのオプション

オプション 説明
-o start_options

起動コマンドのオプションのカンマ区切りのリスト(OPENMOUNTNOMOUNTまたはFORCE)。省略すると、デフォルトで通常の起動(OPEN)に設定されます。



この例では、Oracle ASMインスタンスを起動します。その後、ASM_DISKGROUPS初期化パラメータで指定されたディスク・グループをマウントします。

srvctl start asm

この例では、ディスク・グループをマウントせずにOracle ASMインスタンスを起動します。

srvctl start asm -o nomount

srvctl start database

指定したデータベース・インスタンスを起動します。

このコマンドでは、SRVCTLは"/ as sysdba"で接続して操作を実行します。このような操作を実行するには、データベースOracleホームのOracle実行可能ファイルの所有者がOSDBAグループ(たとえば、UNIXおよびLinuxのdbaグループ)のメンバーであることが必要です。また、コマンドを実行するユーザーもOSDBAグループに属する必要があります。

構文およびオプション

srvctl start databaseコマンドは次の構文で使用します。

srvctl start database -d db_unique_name [-o start_options]

表4-55 srvctl start databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-o start_options

起動コマンドのオプションのカンマ区切りのリスト(たとえば、OPENMOUNTNOMOUNTRESTRICTなど)。

注意:

  • このコマンド・パラメータではPFILEオプションまたはQUIETオプションをサポートしていませんが、他のすべてのデータベース起動オプションをサポートしています。

  • 起動オプションに複数の語を指定する場合(read onlyread writeなど)、語をスペースで区切り、一重引用符('')で囲みます。たとえば'read only'とします。

    関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。



次に、このコマンドの例を示します。

srvctl start database -d dbcrm -o nomount

srvctl start diskgroup

Oracle ASMディスク・グループを起動(マウント)します。

構文およびオプション

srvctl start diskgroupコマンドは次の構文で使用します。

srvctl start diskgroup -g diskgroup_name

表4-56 srvctl start diskgroupのオプション

オプション 説明
-g diskgroup_name

ディスク・グループ名。



次に、このコマンドの例を示します。

srvctl start diskgroup -g DATA

srvctl start home

Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で起動します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。

このコマンドではsrvctl stop homeによって停止されたコンポーネントを起動します。このコマンドでは指定した状態ファイルの情報を使用して、起動するコンポーネントを特定します。


注意:

このコマンドは、Oracleホームにパッチをインストールした後にコンポーネントを再起動するときに使用します。

構文およびオプション

srvctl start homeコマンドは次の構文で使用します。

srvctl start home -o oracle_home -s state_file

表4-57 srvctl start homeのオプション

オプション 説明

-o

Oracleホームの完全なパス。

-s

状態ファイルの完全なパス。状態ファイルにはOracleホームにあるコンポーネントの現在の状態情報が入ります。srvctl stop homeコマンドまたはsrvctl status homeコマンドが実行されると、このファイルが作成されます。



srvctl start listener

指定したリスナーまたはすべてのリスナーを起動します。

構文およびオプション

srvctl start listenerコマンドは次の構文で使用します。

srvctl start listener [-l listener_name]

表4-58 srvctl start listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、Oracle Restartで管理されているすべてのリスナーが起動されます。



次に、このコマンドの例を示します。

srvctl start listener -l listener

srvctl start ons

ONSを起動します。

構文およびオプション

srvctl start onsコマンドは次の構文で使用します。

srvctl start ons -v

表4-59 srvctl start onsのオプション

オプション 説明
-v

詳細出力。



srvctl start service

指定したデータベース・サービスを起動します。

構文およびオプション

srvctl start serviceコマンドは次の構文で使用します。

srvctl start service -d db_unique_name [-s service_name_list] [-o start_options]

表4-60 srvctl start serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name_list

サービス名のカンマ区切りリスト。このサービス名リストはオプションであり、指定しないと、SRVCTLでデータベースのサービスがすべて起動されます。

-o start_options

データベースを最初に起動する必要がある場合、データベースの起動オプション(OPENMOUNTNOMOUNTなど)。



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのsalesデータベース・サービスを起動します。

srvctl start service -d dbcrm -s sales

status

指定したコンポーネントまたはコンポーネント・セットの実行ステータスを表示します。

表4-61 srvctl statusの概要

コマンド 説明

srvctl status asm


Oracle ASMインスタンスの実行ステータスを表示します。

srvctl status database


データベースの実行ステータスを表示します。

srvctl status diskgroup


Oracle ASMディスク・グループの実行ステータスを表示します。

srvctl status home


Oracle Restartで管理されているすべてのコンポーネントの実行ステータスを、指定したOracleホーム内で表示します。

srvctl status listener


指定したリスナーまたはOracle Restartで管理されているすべてのリスナーの実行ステータスを表示します。

srvctl status ons


ONSの実行ステータスを表示します。

srvctl status service


1つ以上のサービスの実行ステータスを表示します。


srvctl status asm

Oracle ASMインスタンスの実行ステータスを表示します。

構文およびオプション

srvctl status asmコマンドは次の構文で使用します。

srvctl status asm [-a]

表4-62 srvctl status asmのオプション

オプション 説明
-a

有効/無効ステータスも表示します。



次に、このコマンドの例を示します。

srvctl status asm

ASM is running on dbhost

srvctl status database

指定したデータベースの実行ステータスを表示します。

構文およびオプション

srvctl status databaseコマンドは次の構文で使用します。

srvctl status database -d db_unique_name [-f] [-v]

表4-63 srvctl status databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-f

データベースが無効な場合、メッセージを表示します。

-v

詳細出力。実行中のデータベース・サービスを一覧表示します。



次に、このコマンドの例を示します。

srvctl status database -d dbcrm -v

Database dbcrm is running with online services mfg,sales

srvctl status diskgroup

Oracle ASMディスク・グループの実行ステータスを表示します。

構文およびオプション

srvctl status diskgroupコマンドは次の構文で使用します。

srvctl status diskgroup -g diskgroup_name [-a]

表4-64 srvctl status diskgroupのオプション

オプション 説明
-g diskgroup_name

ディスク・グループ名。

-a

有効/無効ステータスも表示します。



次に、このコマンドの例を示します。

srvctl status diskgroup -g DATA

Disk Group DATA is running on dbhost

srvctl status home

Oracle Restartで管理されているすべてのコンポーネントの実行ステータスを、指定したOracleホーム内で表示します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。

このコマンドではコンポーネントの現在のステータスを指定した状態ファイルに書き込みます。

構文およびオプション

srvctl status homeコマンドは次の構文で使用します。

srvctl status home -o oracle_home -s state_file

表4-65 srvctl status homeのオプション

オプション 説明

-o

Oracleホームの完全なパス。

-s

状態ファイルの完全なパス。



srvctl status listener

指定したリスナーまたはOracle Restartで管理されているすべてのリスナーの実行ステータスを表示します。

構文およびオプション

srvctl status listenerコマンドは次の構文で使用します。

srvctl status listener -l listener_name

表4-66 srvctl status listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、すべてのリスナーのステータスが表示されます。



次に、このコマンドの例を示します。

srvctl status listener -l crmlistener

Listener CRMLISTENER is running on dbhost

srvctl status ons

ONSの実行ステータスを表示します。

構文およびオプション

srvctl status onsコマンドは次の構文で使用します。

srvctl status ons

srvctl status service

1つ以上のデータベース・サービスの実行ステータスを表示します。

構文およびオプション

srvctl status serviceコマンドは次の構文で使用します。

srvctl status service -d db_unique_name [-s service_name_list] [-f] [-v]

表4-67 srvctl status serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name_list

サービス名のカンマ区切りリスト。省略すると、指定されたデータベースの全データベース・サービスのステータスが一覧表示されます。

-f

サービスが無効な場合、メッセージを表示します。

-v

詳細出力。



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのサービスsalesの実行のステータスを表示します。

srvctl status service -d dbcrm -s sales

Service sales is running on dbhost

stop

指定したコンポーネントを停止します。

srvctl stopコマンドを発行した後にコンポーネントを停止状態のままにする場合、コンポーネントを無効にします。disableコマンドを参照してください。


注意:

コンポーネントを停止しても無効にしていない場合は、計画された別の操作の結果として再起動されることがあります。つまり、停止されたコンポーネントは障害の結果として再起動されることはありませんが、srvctl startコマンドで依存コンポーネントが起動されると、起動されることがあります。

表4-68 srvctl stopの概要

コマンド 説明

srvctl stop asm


Oracle ASMインスタンスを停止します。

srvctl stop database


指定したデータベース・インスタンスを停止します。

srvctl stop diskgroup


指定したOracle ASMディスク・グループを停止(ディスマウント)します。

srvctl stop home


Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で停止します。

srvctl stop listener


指定したリスナーまたはすべてのリスナーを停止します。

srvctl stop ons


ONSを停止します。

srvctl stop service


指定したデータベース・サービスを停止します。


srvctl stop asm

Oracle ASMインスタンスを停止します。

構文およびオプション

srvctl stop asmコマンドは次の構文で使用します。

srvctl stop asm [-o stop_options] [-f]

表4-69 srvctl stop asmのオプション

オプション 説明
-o stop_options

停止操作のオプション(NORMALTRANSACTIONALIMMEDIATEABORTなど)。

-f

強制。ディスク・グループが現在起動済(マウント済)の場合は、指定しておく必要があります。このオプションを指定すると、Oracle ASMを停止する前に、SRVCTLがディスク・グループを停止できるようになります。依存関係にある各データベース・インスタンスも停止オプションに従って停止されますが、構成されている停止オプションが失敗した場合は、ABORTオプションで停止されます。



次に、このコマンドの例を示します。

srvctl stop asm -o abort -f

srvctl stop database

データベースを停止します。

構文およびオプション

srvctl stop databaseコマンドは次の構文で使用します。

srvctl stop database -d db_unique_name [-o stop_options] [-f]

表4-70 srvctl stop databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-o stop_options

SHUTDOWNコマンド・オプション(NORMALTRANSACTIONALIMMEDIATEABORTなど)。デフォルトはIMMEDIATEです。

-f

強制。データベース、そのサービス、およびそのサービスに依存するリソースを停止します。



次に、このコマンドの例を示します。

srvctl stop database -d dbcrm

srvctl stop diskgroup

Oracle ASMディスク・グループを停止(ディスマウント)します。

構文およびオプション

srvctl stop diskgroupコマンドは次の構文で使用します。

srvctl stop diskgroup -g diskgroup_name [-f]

表4-71 srvctl stop diskgroupのオプション

オプション 説明
-g diskgroup_name

ディスク・グループ名。

-f

強制。ディスク・グループの一部のファイルが開いている場合でも、ディスク・グループをディスマウントします。



この例では、DATAというディスク・グループを停止します。このディスク・グループでファイルが開いている場合、エラーが返されます。

srvctl stop diskgroup -g DATA

srvctl stop home

Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で停止します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。

このコマンドでは指定した状態ファイルで停止したコンポーネントを特定します。


注意:

  • Oracle Gridインフラストラクチャ・ホームのコンポーネントを停止する前に、依存するOracle Databaseホームのコンポーネントを停止します。

  • このコマンドは、Oracleホームにパッチをインストールする前にコンポーネントを停止するときに使用します。


構文およびオプション

srvctl stop homeコマンドは次の構文で使用します。

srvctl stop home -o oracle_home -s state_file [-t stop_options] [-f]

表4-72 srvctl stop homeのオプション

オプション 説明

-o

Oracleホームの完全なパス。

-s

状態ファイルの完全なパス。

-t stop_options

データベースのSHUTDOWNコマンド・オプション(NORMALTRANSACTIONALIMMEDIATEABORTなど)。デフォルトはIMMEDIATEです。

-f

強制的に各コンポーネントを停止します。



srvctl stop listener

指定したリスナーまたはOracle Restartで管理されているすべてのリスナーを停止します。リスナーを停止しても、リスナーに登録されたデータベースは停止されません。

構文およびオプション

srvctl stop listenerコマンドは次の構文で使用します。

srvctl stop listener [-l listener_name] [-f]

表4-73 srvctl stop listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、Oracle Restartで管理されているすべてのリスナーが停止されます。

-f

強制。-fオプションを指定したstopコマンドをOracle Clusterwareに渡します。Oracle Clusterwareの-fオプションの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。



次に、このコマンドの例を示します。

srvctl stop listener -l crmlistener

srvctl stop ons

ONSを停止します。

構文およびオプション

srvctl stop onsコマンドは次の構文で使用します。

srvctl stop ons -v

表4-74 srvctl stop onsのオプション

オプション 説明
-v

詳細出力。



srvctl stop service

1つ以上のデータベース・サービスを停止します。

構文およびオプション

srvctl stop serviceコマンドは次の構文で使用します。

srvctl stop service -d db_unique_name [-s service_name_list] [-f]

表4-75 srvctl stop serviceのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-s service_name_list

データベース・サービス名のカンマ区切りのリスト。サービス名リストを指定しない場合、SRVCTLによって、データベースのすべてのサービスが停止されます。

-f

強制。このオプションでは、停止したすべてのサービスのセッションが即座に切断されます。コミットされていないトランザクションはロールバックされます。このオプションを指定しないと、アクティブなセッションはサービスに接続されたままになりますが、それ以上サービスには接続できなくなります。



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのsalesデータベース・サービスを停止します。

srvctl stop service -d dbcrm -s sales

unsetenv

unsetenvコマンドでは、データベース、リスナーまたはOracle ASMインスタンスのOracle Restart構成から1つ以上の環境変数を削除します。

srvctl unsetenv操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。

表4-76 srvctl unsetenvコマンドの概要

コマンド 説明

srvctl unsetenv asm


Oracle ASMインスタンスのOracle Restart構成から指定した環境変数を削除します。

srvctl unsetenv database


データベースのOracle Restart構成から指定した環境変数を削除します。

srvctl unsetenv listener


指定したリスナーまたはすべてのリスナーのOracle Restart構成から指定した環境変数を削除します。



関連項目:


srvctl unsetenv asm

Oracle ASMインスタンスのOracle Restart構成から指定した環境変数を削除します。

構文およびオプション

srvctl unsetenv asmコマンドは次の構文で使用します。

srvctl unsetenv asm -t name_list

表4-77 srvctl unsetenv asmのオプション

オプション 説明
-t name_list

削除する環境変数のカンマ区切りのリスト



次の例では、AIXオペレーティング・システムの環境変数AIXTHREAD_SCOPEをOracle ASMインスタンスの構成から削除します。

srvctl unsetenv asm -t AIXTHREAD_SCOPE

srvctl unsetenv database

指定したデータベースのOracle Restart構成から指定した環境変数を削除します。

構文およびオプション

srvctl unsetenv databaseコマンドは次のように使用します。

srvctl unsetenv database -d db_unique_name -t name_list

表4-78 srvctl unsetenv databaseのオプション

オプション 説明
-d db_unique_name

データベースの一意の名前。DB_UNIQUE_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEが指定されていない場合、このオプションはDB_NAME初期化パラメータの設定に一致する必要があります。DB_UNIQUE_NAMEのデフォルト設定ではDB_NAMEの設定を使用します。

-t name_list

削除する環境変数のカンマ区切りのリスト



次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのOracle Restart構成からAIXTHREAD_SCOPE環境変数を削除します。

srvctl unsetenv database -d dbcrm -t AIXTHREAD_SCOPE

srvctl unsetenv listener

指定したリスナーまたはすべてのリスナーのOracle Restart構成から指定した環境変数を削除します。

構文およびオプション

srvctl unsetenv listenerコマンドは次の構文で使用します。

srvctl unsetenv listener [-l listener_name] -t name_list

表4-79 srvctl unsetenv listenerのオプション

オプション 説明
-l listener_name

リスナー名。省略すると、すべてのリスナーの構成から指定した環境変数が削除されます。

-t name_list

削除する環境変数のカンマ区切りのリスト



次の例では、crmlistenerというリスナーのリスナー構成からAIXオペレーティング・システムの環境変数AIXTHREAD_SCOPEを削除します。

srvctl unsetenv listener -l crmlistener -t AIXTHREAD_SCOPE

CRSCTLコマンド・リファレンス

ここでは、Oracle Restartに関係するCRSCTLコマンドの構文に関して詳しく説明します。


注意:

これらのCRSCTLコマンドを実行するには、rootユーザーであるか、またはOracle Gridインフラストラクチャの所有者である必要があります。

CRSCTLコマンド構文の概要

CRSCTLでは、次のコマンド構文が想定されます。

crsctl command has

commandstartstopenableなどの動詞です。hasオブジェクトはOracle高可用性サービスを示します。コマンドの詳細なリストは、表4-80を参照してください。

大/小文字の区別

CRSCTLコマンドとコンポーネントでは大/小文字が区別されません。

表4-80 CRSCTLコマンドの概要

コマンド 説明

check


Oracle Restartの状態を表示します。

config


Oracle Restartの構成を表示します。

disable


Oracle Restartの自動再起動を無効化します。

enable


Oracle Restartの自動再起動を有効化します。

start


Oracle Restartを起動します。

stop


Oracle Restartを停止します。


check

Oracle Restartの状態を表示します。

構文およびオプション

crsctl check has

config

Oracle Restartの構成を表示します。

構文およびオプション

crsctl config has

disable

Oracle Restartの自動再起動を無効化します。

構文およびオプション

crsctl disable has

enable

Oracle Restartの自動再起動を有効化します。

構文およびオプション

crsctl enable has

start

Oracle Restartを起動します。

構文およびオプション

crsctl start has

stop

Oracle Restartを停止します。

構文およびオプション

crsctl stop has [-f]

表4-81 crsctl stop hasのオプション

オプション 説明
-f

強制。Oracle Restartで管理されるリソースがまだ実行中の場合は、それらのリソースを正常に停止しようとします。リソースを正常に停止できない場合は、リソースを強制的に停止しようとします。

たとえば、Oracle ASMインスタンスが実行中の場合、SHUTDOWN IMMEDIATEではOracle ASMインスタンスを正常に停止しようとしますが、SHUTDOWN ABORTではOracle ASMインスタンスを強制的に停止しようとします。

-fオプションが指定されていない場合、このコマンドはOracle Restartで管理されるリソースを正常に停止しようとしますが、強制的に停止しようとはしません。