Oracle Restart機能を使用してOracle Databaseを構成すると、ハードウェアまたはソフトウェアに障害が発生した後やデータベース・ホスト・コンピュータが再起動した場合は常に、データベース、リスナーおよびその他のOracleコンポーネントを自動的に再起動できます。
この章の内容は、次のとおりです。
この項の内容は次のとおりです。
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コンポーネントがコンポーネントの依存性に従って正しい順序で起動されます。たとえば、データベース・ファイルがOracle ASMディスク・グループに格納されている場合、データベース・インスタンスの起動前に、Oracle ASMインスタンスが起動されて必要なディスク・グループがマウントされていることが確認されます。同様に、コンポーネントの停止が必要な場合、依存コンポーネントが最初に正常に停止されることが確認されます。
Oracle Restartでは、データベース・インスタンスとOracle Netリスナー(リスナー)の間の弱い依存性も管理されます。データベース・インスタンスが起動される際に、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インフラストラクチャ・ホームです。この機能はパッチのインストール時に役立ちます。
CRSCTLユーティリティでは、Oracle Restartを起動および停止します。また、CRSCTLユーティリティを使用して、Oracle高可用性サービスを有効化または無効化できます。Oracle RestartではOracle高可用性サービスを使用して、Oracle Restartで管理されているすべてのコンポーネントを自動的に起動および停止します。たとえば、Oracle高可用性サービス・デーモンでは、データベース、リスナーおよびOracle ASMインスタンスを自動的に起動します。Oracle高可用性サービスを無効にした場合、ノードの再起動時に、Oracle Restartで管理されているコンポーネントは起動されません。
通常、Oracleのインストールで実行されているすべてのOracleソフトウェアを停止する必要がある場合にCRSCTLユーティリティを使用します。たとえば、パッチをインストールするか、オペレーティング・システムのメンテナンスを実行する際にOracle Restartの停止が必要になる場合があります。メンテナンスの完了後、CRSCTLユーティリティを使用して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を使用してデータベースを作成します。 | はい | 
| 
 | いいえ | 
| OUI、DBCAまたはASMCAを使用してOracle ASMインスタンスを作成します。 | はい | 
| ディスク・グループ(メソッド)を作成します。 | はい | 
| NETCAを使用してリスナーを追加します。 | はい | 
| SRVCTLを使用してデータベース・サービスを作成します。 | はい | 
| 
 | いいえ | 
| 
 | いいえ | 
| スタンバイ・データベースを作成します。 | いいえ | 
脚注1Oracle Restartの使用中はお薦めしません
表4-3に、削除操作と、削除されたコンポーネントがOracle Restart構成からも自動的に削除されるかどうかを示します。
表4-3 削除操作とOracle Restart構成
| 操作 | 削除されたコンポーネントがOracle Restart構成から自動的に削除されるかどうか。 | 
|---|---|
| DBCAを使用してデータベースを削除します。 | はい | 
| オペレーティング・システムのコマンドでデータベース・ファイルを削除し、データベースを削除します。脚注1 | いいえ | 
| NETCAを使用してリスナーを削除します。 | はい | 
| Oracle ASMディスク・グループを削除します(任意の方法)。 | はい | 
| SRVCTLを使用してデータベース・サービスを削除します。 | はい | 
| 他の方法でデータベース・サービスを削除します。 | いいえ | 
脚注1お薦めしません。
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ロールを指定できます(PRIMARY、PHYSICAL_STANDBY、LOGICAL_STANDBYまたはSNAPSHOT_STANDBY)。ブローカを使用して後でロールを変更すると、Oracle Restartではデータベースの構成を新しいロールで自動的に更新します。ブローカを使用せずにデータベース・ロールを変更した場合、Oracle Restart構成でデータベースのロールを手動で変更して新しいロールを反映させる必要があります。
データベース・サービス: データベース・サービスをOracle Restart構成に追加する場合、サービスに1つ以上のData Guardロールを指定できます。この構成オプションが設定された場合、サービス・ロールの1つが現在のデータベース・ロールに一致する場合にのみ、データベースのオープン時にサービスは起動されます。
| 関連項目: 
 | 
スタンドアロン・サーバー環境では、高速アプリケーション通知(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およびリスナーでは、障害が発生したデータベースに対する接続要求が誤って送信されないように、障害が発生したインスタンスによって提供されるサービスを即座に登録解除できます。
| 関連項目: 
 | 
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 イベント・レコード・パラメータと説明
| パラメータ | 説明 | 
|---|---|
| 
 | イベント・レコードのバージョン。リリースの変更を識別するために使用されます。 | 
| 
 | 
 | 
| 
 | サービスをサポートしている一意のデータベースを示し、 | 
| 
 | サービスをサポートしているインスタンスの名前であり、 | 
| 
 | サービスをサポートしているノードまたは停止したノードの名前であり、Cluster Synchronization Services(CSS)で認識されるノード名と一致します。 | 
| 
 | サービス名であり、 | 
| 
 | 値は、 | 
| 
 | 
 | 
| 
 | すべての | 
| 
 | 通知イベントをオーダーする場合に使用するローカル・タイム・ゾーン。 | 
表4-5に示すように、FANレコードは各セッションのデータベースの署名と一致します。
表4-5 FANパラメータおよび一致するデータベースの署名
| FANパラメータ | 一致するOracle Databaseの署名 | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
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イベント・データと一致するセッションで処理を行います。
Oracle Restartデータベースへの接続に使用される多くの一般的なOracle Clientドライバは、FANと統合されています。そのため、FANを使用する最も簡単な方法は、Oracle統合クライアントを使用することです。
CMANセッション・プール、Oracle Call Interface、Universal Connection Pool for Java、JDBC simplefan APIおよびODP.NET接続プールを使用できます。この機能は、使用可能なプライマリ・データベースにアプリケーションからいつでも一貫して接続できるようにすることを目的としています。
スタンドアロン・サーバー用に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ユーティリティを実行する必要があります。正しい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の実行を準備する手順は、次のとおりです。:
表4-6を使用して、SRVCTLを実行する必要があるOracleホームを決定します。
Oracle Restart構成を変更するSRVCTLコマンド(add、remove、enable、disableなど)を実行する場合、次のいずれかを実施します。
UNIXおよびLinuxの場合、手順1で決定したOracleホームをインストールしたユーザーとしてデータベース・ホスト・コンピュータにログインします。
Windowsの場合、管理者としてログインします。
上記以外の場合、任意のユーザーとしてホスト・コンピュータにログインします。
SRVCTLコマンドの入力に使用するコマンド・ウィンドウを開きます。
コマンドを入力するには、SRVCTLプログラムがPATH環境変数で指定されていることを確認する必要があります。指定されていない場合は、プログラムに絶対パスを入力できます。
SRVCTLユーティリティのオンライン・ヘルプが利用できます。
SRVCTLのオンライン・ヘルプを表示する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl
詳細なヘルプを表示するには、次のコマンドを入力します。
srvctl -h
特定コマンドの詳細なヘルプを表示するには、次のように入力します。
srvctl command -h
たとえば、addコマンドのヘルプおよび各コンポーネント・タイプの様々なオプションに関するヘルプを表示するには、次のように入力します。
srvctl add -h
特定のコンポーネント・タイプに対する特定のコマンドに関する詳細なヘルプを表示するには、次のように入力します。
srvctl command object -h
たとえば、データベース・サービスの追加に関するヘルプを表示するには、次のコマンドを入力します。
srvctl add service -h
ほとんどの場合、Oracle Restartを実行しているホストでOracleコンポーネントを作成すると、Oracle Restart構成にコンポーネントが自動的に追加されます。(表4-2を参照。)その後、コンポーネントは必要に応じて自動的に再起動されます。
次の場合、SRVCTLを使用してOracle Restart構成にコンポーネントを手動で追加する必要があります。
データベースの作成後にOracle Restartをインストールします。
CREATE DATABASE SQL文を使用して、同じホスト・コンピュータにOracle Databaseを追加で作成します。
DBMS_SERVICE.CREATE_SERVICEパッケージ・プロシージャを使用してデータベース・サービスを作成します。(SRVCTLを使用することをお薦めします。)
Oracle Restart構成にコンポーネントを追加してもそのコンポーネントは起動されません。起動するには、srvctl startコマンドを使用する必要があります。
また、Oracle Enterprise Manager Database Control(Database Control)を使用して、データベースまたはリスナーをOracle Restart構成に追加してもかまいません。SRVCTLとDatabase Controlを使用する方法は次の項で説明しています。
| 注意:Oracle Restartの構成に手動でデータベースを追加する場合は、そのデータベースのOSDBAグループのメンバーとしてOracle Gridインフラストラクチャ・ソフトウェアの所有者を追加することも必要となります。これは、Gridインフラストラクチャ・コンポーネントが、データベースを起動および停止するために、データベースに SYSDBAとして接続できる必要があるためです。たとえば、Gridインフラストラクチャをインストールしたホスト・ユーザーの名前が | 
SRVCTLを使用してOracle Restart構成にコンポーネントを追加する場合、コンポーネントのオプション構成設定を指定できます。
SRVCTLを使用してOracle Restart構成にコンポーネントを追加する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl add object options
objectは表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのaddコマンドを参照してください。
例4-1 データベースの追加
この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースを追加します。必須の-oオプションではOracleホームの場所を指定します。-cオプションでは単一インスタンスのデータベースを指定します。
srvctl add database -d dbcrm -o /u01/app/oracle/product/11.2.0/dbhome_1 -c SINGLE
例4-2 データベース・サービスの追加
この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースに対し、crmbatchという新しいデータベース・サービスを作成し、Oracle Restart構成に追加します。
srvctl add service -d dbcrm -s crmbatch
他の例については、「SRVCTLを使用したデータベース・サービスの作成と削除」を参照してください。
Oracle Enterprise Manager Database Control(Database Control)を使用した場合、Oracle Restart構成にデータベース・インスタンスとリスナーのみを追加できます。
Database Controlを使用してデータベース・インスタンスを追加する手順は、次のとおりです。
必要なデータベース・インスタンスのデータベース・ホームページにアクセスします。
詳細は、『Oracle Database 2日でデータベース管理者』のデータベース・ホームページへのアクセスに関する項を参照してください。
「高可用性」セクションの「Oracle Restart」ラベルの横で、「無効」リンクをクリックします。

| 注意:「Oracle Restart」ラベルに「有効」と表示されている場合、データベースはすでにOracle Restartで管理されているため、続行する必要はありません。 | 
ホスト資格証明がプロンプトで要求された場合は、データベースOracleホームをインストールしたユーザーの資格証明を入力して「ログイン」をクリックします。
確認ページで「続行」をクリックします。
Database Controlを使用してリスナーを追加する手順は、次のとおりです。
必要なデータベース・インスタンスのデータベース・ホームページにアクセスします。
詳細は、『Oracle Database 2日でデータベース管理者』のデータベース・ホームページへのアクセスに関する項を参照してください。
「一般」セクションの「リスナー」ラベルの横にあるリンクをクリックします。
「高可用性」セクションの「Oracle Restart」ラベルの横で、「無効」リンクをクリックします。
| 注意:「Oracle Restart」ラベルに「有効」と表示されている場合、リスナーはすでに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構成からコンポーネントを削除する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl remove object [options]
objectは表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのremoveコマンドを参照してください。
Oracle Restartでのコンポーネント管理は一時的に無効にできます。この機能を実行するケースの1つとして、コンポーネントのメンテナンスを実行する場合があります。たとえば、コンポーネントの修復が必要な場合、障害の発生時やホスト・コンピュータの再起動時にコンポーネントを自動的に再起動しない方がよいことがあります。
メンテナンスの完了後、コンポーネントの管理を再度有効にできます。
コンポーネントを無効にすると、次のようになります。
自動的に再起動しなくなります。
依存性によって自動的に起動しなくなります。
SRVCTLで起動できません。
このリソースに依存するコンポーネントは、自動的に開始または再起動しなくなります。
コンポーネントの自動再起動を無効または有効にする手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のいずれかを実行します。
コンポーネントを無効にするには、次のコマンドを入力します。
srvctl disable object [options]
コンポーネントを有効にするには、次のコマンドを入力します。
srvctl enable object [options]
objectを表4-8に示したコンポーネントの1つと置き換えます。各コンポーネントに利用できるオプションについては、SRVCTLのdisableコマンドおよびenableコマンドを参照してください。
例4-5 データベースの自動再起動の無効化
この例ではDB_UNIQUE_NAMEがdbcrmであるデータベースの自動再起動を無効にします。
srvctl disable database -d dbcrm
例4-6 Oracle ASMディスク・グループの自動再起動の無効化
この例では、recoveryというOracle ASMディスク・グループの自動再起動を無効にします。
srvctl disable diskgroup -g recovery
SRVCTLを使用すると、Oracle Restartで管理されているコンポーネントの実行ステータス(実行中または実行していない)を表示できます。一部のコンポーネントでは、他の情報も表示されます。
コンポーネント・ステータスを表示する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl status object [options]
objectは表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのstatusコマンドを参照してください。
SRVCTLを使用すると、任意のコンポーネントのOracle Restart構成を表示できます。Oracle Restartではコンポーネント・タイプごとに異なる構成情報を保持します。SRVCTLコマンドの1形式を使用して、Oracle Restartで管理されているコンポーネントのリストを取得できます。
コンポーネントの構成を表示する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl config object options
objectは表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのconfigコマンドを参照してください。
例4-10 特定のデータベースの構成の表示
この例では、DB_UNIQUE_NAMEがorclであるデータベースの構成を表示します。
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
SRVCTLを使用して、コンポーネントのOracle Restart構成を変更できます。たとえば、Oracle Restartがリスナーを起動したときにリスナーがリスニングするポート番号や、Oracle Restartがデータベースを起動する際に指し示すサーバー・パラメータ・ファイル(SPFILE)を変更できます。
コンポーネントのOracle Restart構成を変更する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl modify object options
objectは表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのmodifyコマンドを参照してください。
例4-11 データベースのOracle Restart構成の変更
DB_UNIQUE_NAMEがdbcrmであるデータベースの場合、次のコマンドを使用すると、管理ポリシーはMANUALに、起動オプションはNOMOUNTに変更されます。
srvctl modify database -d dbcrm -y MANUAL -s NOMOUNT
MANUAL管理ポリシーを設定すると、データベース・ホスト・コンピュータの再起動時にデータベースが自動的に起動されなくなります。ただし、Oracle Restartでデータベースの監視が継続され、データベースに障害が発生すると再起動されます。
Oracle Restart構成には環境変数の名前と値のペアを格納できます。通常、Oracleデータベースを起動する前に環境変数(ORACLE_HOMEとORACLE_SIDを除く)を設定する場合、これらの環境変数値をOracle Restart構成に設定できます。次のコンポーネントの個々の構成には任意の数の環境変数を格納できます。
データベース・インスタンス
リスナー
Oracle ASMインスタンス
前述のコンポーネントの1つがOracle Restartで起動されると、そのコンポーネントの環境変数はコンポーネント構成に格納された値に最初に設定されます。Oracleコンポーネントで使用される環境変数はこの方法で設定できますが、この機能の主な対象はオペレーティング・システムの環境変数です。
次の項では、環境変数の設定、設定解除および表示の手順を説明しています。
| 注意:この機能は ORACLE_HOME、ORACLE_SIDなどの標準環境変数の設定には使用しないでください。これらの環境変数はOracle Restartで自動的に設定されます。 | 
SRVCTLを使用して、コンポーネントに対するOracle Restart構成の環境変数値を設定したり、設定を解除します。
構成の環境変数の設定または設定解除を実行する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のいずれかを実行します。
構成の環境変数を設定するには、次のコマンドを入力します。
srvctl setenv {asm|database|listener} options
構成から環境変数を削除するには、次のコマンドを入力します。
srvctl unsetenv {asm|database|listener} options
各コンポーネントに利用できるオプションについては、SRVCTLのsetenvコマンドおよびunsetenvコマンドを参照してください。
SRVCTLを使用して、コンポーネントに対するOracle Restart構成の環境変数の値を表示します。
構成の環境変数値を表示する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl getenv {database|listener|asm} options
各コンポーネントに利用できるオプションについては、SRVCTLのgetenvコマンドを参照してください。
例4-13 データベースのすべての環境変数の表示
この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースのOracle Restart構成にある環境変数を取得および表示します。
srvctl getenv database -d dbcrm dbcrm: NLS_LANG=AMERICAN_AMERICA AIXTHREAD_SCOPE=S GCONF_LOCAL_LOCKS=1
Oracle Restartを使用してデータベースを管理する場合、データベース・サービスの作成と削除にはSRVCTLを使用することをお薦めします。SRVCTLを使用してデータベース・サービスを追加すると、サービスはOracle Restart構成に自動的に追加され、サービスとデータベース間の依存性が確立されます。したがって、サービスの起動時にデータベースが起動されていない場合、Oracle Restartで最初にデータベースが起動されます。
SRVCTLを使用してデータベース・サービスを削除すると、サービスはOracle Restart構成からも削除されます。
SRVCTLを使用してデータベース・サービスを作成する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl add service -d db_unique_name -s service_name [options]
データベース・サービスが作成され、Oracle Restart構成に追加されます。利用できるオプションについては、srvctl add serviceコマンドを参照してください。
例4-15 データベース・サービスの作成
この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースに対して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を使用してデータベース・サービスを削除する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のコマンドを入力します。
srvctl remove service -d db_unique_name -s service_name [-f]
データベース・サービスがOracle Restart構成から削除されます。-f(強制)フラグがあると、サービスが実行中の場合でも削除されます。このフラグがないと、サービスが実行の場合にはエラーが発生します。
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イベントを有効にする手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
データベースがすでにOracle Restartで管理されていない場合は、データベースをOracle Restart構成に追加します。「Oracle Restart構成へのコンポーネントの追加」を参照してください。
ONSを構成に追加します。
srvctl add ons
ONSは、追加時には無効になっています。
ONSを有効にします。
srvctl enable ons
ONSを起動します。
srvctl start ons
Oracle Restart構成にサービスを追加します。
Oracle Call InterfaceおよびODP.NETクライアントについては、データベース・キューを有効にするため-qオプションがTRUEに設定されていることを確認します。
「SRVCTLを使用したデータベース・サービスの作成と削除」を参照してください。
各クライアントで高速接続フェイルオーバーを有効化します。「クライアントでの高速接続フェイルオーバーの有効化」を参照してください。
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で管理する必要があります。
プライマリ・データベースとスタンバイ・データベース間におけるサービスのフェイルオーバーを自動化する手順は、次のとおりです。
Oracle Data Guard Brokerでプライマリ・データベースとスタンバイ・データベースを構成します。『Oracle Data Guard Broker』を参照してください。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
プライマリ・サーバー上のOracle Restart構成にプライマリ・データベースが追加されていない場合は、追加します。データベース・ロールには、PRIMARYを指定してください。「Oracle Restart構成へのコンポーネントの追加」を参照してください。
スタンバイ・サーバー上のOracle Restart構成にスタンバイ・データベースが追加されていない場合は、追加します。適切なスタンバイ・データベース・ロールを指定してください。
プライマリ・データベース・サーバーおよびスタンバイ・データベース・サーバーの両方で、FANイベントを有効にします。「Oracle Restart環境でのFANイベントの有効化」を参照してください。
プライマリ・データベースおよびスタンバイ・データベース上のOracle Restart構成のデータベースに接続するためにクライアントで使用するサービスを追加します。サービスを追加する場合は、次のことを確認してください。
サービスごとに、-lオプションが適切なロールに設定されていること
ODP.NETまたはOracle Call Interfaceを使用している場合は、-qオプションがTRUEに設定されていること
「SRVCTLを使用したデータベース・サービスの作成と削除」を参照してください。
各クライアントで高速接続フェイルオーバーを有効化します。「クライアントでの高速接続フェイルオーバーの有効化」を参照してください。
スタンバイ・データベースが存在する構成では、Oracle Notification Services(ONS)をOracle Restart構成に追加した後でサービスに対してOracle Advanced Queuing(AQ)HA通知を有効にすると、クライアントで高速接続フェイルオーバーを有効化できます。クライアントでは、高速アプリケーション通知(FAN)イベントを受信し、Oracle Data Guardのフェイルオーバーの後で現在のプライマリ・データベースへの接続を再配置できます。ONSの追加については、「プライマリ・データベースとスタンバイ・データベースの接続のフェイルオーバーの自動化」を参照してください。
スタンバイ・データベースが構成されていないデータベースでも、クライアントのFANイベントを構成できます。フェイルオーバーが発生した場合、データベースへの接続を再試行するようにクライアントを構成できます。障害が発生したデータベースはOracle Restartによって再起動されるため、データベースが再起動した時点でクライアントは再接続できます。この項の例で示すように、接続文字列に適切な遅延と再試行を確実にプログラムしてください。
Oracle Restart構成では、次のタイプのクライアントで高速接続を有効化できます。
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クライアントで高速接続フェイルオーバーを有効にする手順は、次のとおりです。
次の例に示すように、キャッシュ対応のデータソースで、データソース・プロパティFastConnectionFailoverEnabledをtrueに設定して、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を有効にするには、システム・プロパティ -Doracle.jdbc.FastConnectionFailover=trueを使用します。 | 
アプリケーションを開始する際に、ons.jarファイルがアプリケーションのCLASSPATHに存在することを確認してください。ons.jarファイルは、Oracle Clientのインストールの一部です。
| 関連項目:『Oracle Database JDBC開発者ガイド』 | 
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クライアントで高速接続フェイルオーバーを有効化する手順は、次のとおりです。
使用しているサービスで、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
次に示すように、環境作成時にOCI_EVENTSを有効にします。
( OCIEnvCreate(...) )
クライアント・アプリケーションをクライアント・スレッドまたはオペレーティング・システムのライブラリにリンクします。
オプションとして、クライアントのEVENTコールバックを登録します。
クライアントですべてのプライマリ・ホストとスタンバイ・ホストが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 Data Provider for .NET(ODP.NET)接続プールでは、サービスが停止したことを示す通知をサブスクライブできます。DOWNイベントが発生すると、インスタンスが停止する接続プール内のセッションがOracle Databaseによってクリーン・アップされ、有効でなくなる接続がODP.NETによって事前に処理されます。
ODP.NETクライアントで高速接続フェイルオーバーを有効にする手順は、次のとおりです。
次の例に示すように、SRVCTLのmodify serviceコマンドを使用して、アドバンスト・キューイング通知を有効にします。
srvctl modify service –d dbname –s gl –q true, -j long
.Net Application経由で接続されるユーザーに対して、次のコマンドを実行します。user_nameはユーザー名です。
execute DBMS_AQADM.GRANT_QUEUE_PRIVILEGE('DEQUEUE','SYS.SYS$SERVICE_METRICS', user_name);
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();
  }
}
クライアントですべてのプライマリ・ホストとスタンバイ・ホストが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の使用中にコンポーネントを開始し停止する場合、次の理由により、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を使用する方法は次の項で説明しています。
SRVCTLを使用して、Oracle Restartで管理されているコンポーネントを起動および停止できます。
SRVCTLを使用してOracle Restartで管理されているコンポーネントを起動または停止する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
次のいずれかを実行します。
コンポーネントを起動にするには、次のコマンドを入力します。
srvctl start object [options]
コンポーネントを停止するには、次のコマンドを入力します。
srvctl stop object [options]
objectは表4-8に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのstartコマンドおよびstopコマンドを参照してください。
例4-18 データベースNOMOUNTの起動
この例では、データベースをマウントせずにデータベース・インスタンスを起動します。
srvctl start database -d dbcrm -o nomount
例4-21 データベース・サービスの起動
この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースのデータベース・サービスbizdevとsupportを起動します。データベースが起動されていない場合、Oracle Restartで最初にデータベースが起動されます。
srvctl start service -d dbcrm -s "bizdev,support"
例4-22 Oracle ASMディスク・グループの起動(マウント)
この例では、Oracle ASMディスク・グループdataとrecoveryを起動(マウント)します。このコマンドを実行するユーザーはOSASMグループのメンバーであることが必要です。
srvctl start diskgroup -g "data,recovery"
例4-23 データベースの停止
この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースを停止します。停止オプション(-o)が指定されていないため、データベースはOracle Restart構成の停止オプションに従って停止します。デフォルトの停止オプションはIMMEDIATEです。
srvctl stop database -d dbcrm
例4-24 ABORTオプションを使用したデータベースの停止
この例では、DB_UNIQUE_NAMEがdbcrmであるデータベースのSHUTDOWN ABORTを実行します。
srvctl stop database -d dbcrm -o abort
Oracle Enterprise Manager Database Control(Database Control)を使用すると、Oracle Restartを使用してデータベースを起動できます。
Oracle Enterprise Managerを使用して、Oracle Restartで管理されているデータベースを起動する手順は、次のとおりです。
必要なデータベース・インスタンスのデータベース・ホームページにアクセスします。
詳細は、『Oracle Database 2日でデータベース管理者』のデータベース・ホームページへのアクセスに関する項を参照してください。
「起動」をクリックします。
資格証明の起動/停止ページが表示されます。
次の資格証明を入力します。
データベースOracleホームをインストールしたユーザーについては、ホスト・コンピュータの資格証明を入力します。
ユーザー名SYSおよびインストール時にSYSに割り当てられたパスワードから構成されるデータベース資格証明を入力します。
「接続モード」リストで、値SYSOPERを選択します。
(オプション)このページが次回表示されるときに自動的にこれらの資格証明を入力する場合、「優先資格証明として保存」オプションを選択します。
「OK」をクリックします。
「起動タイプの選択」ページが表示されます。
Oracle Restartとともにデータベースを起動するには、「依存するリソースとともにデータベースを起動」を選択します。
これにより、Oracle Automatic Storage Managementインスタンスなどのデータベースが依存するリソースが、データベースの起動前に正常に起動されるようになります。
「OK」をクリックします。
「確認」ページが表示されます。
「はい」をクリックします。
「起動/停止: アクティビティ情報」ページが表示され、データベースが起動中であることが示されます。起動が完了すると、ログイン・ページが表示されます。
データベース(およびDatabase Control)へログインします。
データベースのホームページで、データベース・インスタンスのステータスが稼働中であることが表示されます。
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ホームのコンポーネントを停止および起動する手順は、次のとおりです。
「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
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ホームのコンポーネントを先に停止する必要があります。
Oracle Gridインフラストラクチャ・ホームにパッチを適用している場合は、Oracle Restartを無効にして停止します。それ以外の場合は、手順4に進みます。
Oracle Restartを無効にして停止するには、CRSCTLユーティリティを使用して次のコマンドを実行します。
crsctl disable has crsctl stop has
メンテナンス操作を実行します。
Oracle Restartで管理されているコンポーネントの自動再起動を有効にするには、次のCRSCTLユーティリティを使用します。
crsctl enable has
Oracle Restartを起動するには、次のCRSCTLユーティリティを使用します。
crsctl start has
手順2で停止されたコンポーネントを起動するには、次のSRVCTLユーティリティを使用します。
srvctl start home -o oracle_home -s state_file
状態ファイルは、手順2で指定した状態ファイルと一致している必要があります。
また、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コマンドの構文とオプションに関して詳しく説明します。SRVCTLコマンドの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
SRVCTLコマンドの構文とオプションの概要
srvctl command object options
説明:
commandはstart、stop、removeなどの動詞です。詳細なリストは、表4-7を参照してください。
objectはデータベース、リスナーなど、SRVCTLコマンドの実行対象コンポーネントです。コンポーネントの略称も使用できます。コンポーネントとその略称の詳細なリストは、表4-8を参照してください。
optionsは、コマンドの追加パラメータを使用できるように、前述のコマンドの組合せの使用範囲を拡大します。たとえば、-dオプションはデータベースの一意名が後に続くことを示し、-sオプションはデータベース・サービス名のカンマ区切りリストが後に続くことを示しています。
| 注意:Windowsプラットフォームでカンマ区切りのリストを指定する場合、リストを二重引用符で囲む必要があります("...,...")。また、リスト・メンバーにシェルのメタ文字が含まれている場合、UNIXとLinuxプラットフォームでも二重引用符を使用する必要があります。 | 
大/小文字の区別 SRVCTL コマンドおよびコンポーネントでは、大/小文字が区別されます。オプションでは大/小文字が区別されます。データベースとデータベース・サービス名では大/小文字が区別されず、大/小文字が保持されます。
表4-7 SRVCTLコマンドの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle Restart構成にコンポーネントを追加します。 | 
|  | コンポーネントのOracle Restart構成を表示します。 | 
|  | Oracle Restartでのコンポーネントの管理を無効にします。 | 
|  | Oracle Restartでのコンポーネントの管理を再度有効にします。 | 
|  | データベース、Oracle ASMインスタンスまたはリスナーのOracle Restart構成にある環境変数を表示します。 | 
|  | コンポーネントのOracle Restart構成を変更します。 | 
|  | Oracle Restart構成からコンポーネントを削除します。 | 
|  | データベース、Oracle ASMインスタンスまたはリスナーのOracle Restart構成に環境変数を設定します。 | 
|  | 指定したコンポーネントを起動します。 | 
|  | 指定したコンポーネントの実行ステータスを表示します。 | 
|  | 指定したコンポーネントを停止します。 | 
|  | データベース、Oracle ASMインスタンスまたはリスナーのOracle Restart構成にある環境変数の設定を解除します。 | 
SRVCTLコンポーネントの概要
表4-8に、SRVCTLコマンドのobject部分に使用できるキーワードを示します。各コンポーネント・キーワードの完全名と略称のいずれかを使用できます。
表4-8 コンポーネント・キーワードと略称
| 構成要素 | 略称 | 説明 | 
|---|---|---|
| 
 | 
 | Oracle ASMインスタンス | 
| 
 | 
 | データベース・インスタンス | 
| 
 | 
 | Oracle ASMディスク・グループ | 
| 
 | 
 | Oracle ASMファイル・システム | 
| 
 | 
 | OracleホームまたはOracle Clusterwareホーム | 
| 
 | 
 | Oracle Netリスナー | 
| 
 | 
 | データベース・サービス | 
| 
 | 
 | Oracle Notification Services(ONS) | 
srvctl addコマンドでは、指定したコンポーネントをOracle Restart構成に追加します。また、必要に応じてコンポーネントのOracle Restart構成パラメータを設定します。コンポーネントを追加した後、Oracle Restartで管理が開始され、コンポーネントは必要に応じて再起動されます。
srvctl add操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。
表4-9 srvctl addの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスを追加します。 | 
|  | データベースを追加します。 | 
|  | リスナーを追加します。 | 
|  | ONS(Oracle Data Guard BrokerとともにOracle Data Guard構成で使用)を追加します。 | 
|  | Oracle Restartで管理されているデータベース・サービスを追加します。 | 
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は再起動されません。) 省略すると、デフォルトで | 
| 
-p spfile
 | データベースのサーバー・パラメータ・ファイルのフルパス。省略すると、デフォルトのSPFILEが使用されます。 | 
| 
-d asm_diskstring
 | Oracle ASMディスク・グループ検出文字列。Oracle ASM検出文字列は、Oracle ASMインスタンスによって検出されるディスクのセットを制限する文字列のカンマ区切りリストです。検出文字列には、ワイルドカード文字を含めることができます。文字列のいずれかに一致するディスクのみが検出されます。 | 
Oracle Restart構成にデータベースを追加します。
Oracle Restart構成にデータベースを追加した後、データベースからOracle ASMディスク・グループのデータにアクセスした場合、データベースとディスク・グループ間の依存性が作成されます。その後、データベースの起動前にディスク・グループがマウントされていることがOracle Restartで確認されます。
ただし、Oracle Restart構成にデータベースを追加するときにデータベースとOracle ASMインスタンスが実行されていない場合、SRVCTLコマンドに-aオプションを指定して、データベースとディスク・グループ間の依存性を手動で確立する必要があります。この後の例を参照してください。
| 注意:Oracle Restartの構成に手動でデータベースを追加する場合は、そのデータベースのOSDBAグループのメンバーとしてOracle Gridインフラストラクチャ・ソフトウェアの所有者を追加することも必要となります。これは、Gridインフラストラクチャ・コンポーネントが、データベースを起動および停止するために、データベースに SYSDBAとして接続できる必要があるためです。たとえば、Gridインフラストラクチャをインストールしたホスト・ユーザーの名前が | 
srvctl add databaseコマンドは次の構文で使用します。
srvctl add database -ddb_unique_name-ooracle_home[-mdomain_name] [-c {RACONENODE | RAC | SINGLE}] [-ndb_name] [-iinstance_name] [-pspfile] [-sstart_options] [-tstop_options] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}] [-y {automatic | manual}] [-adisk_group_list]
表4-11 srvctl add databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-o Oracle_home
 | データベースのOracleホームのフルパス。 | 
| 
-m domain_name
 | データベースのドメイン。 | 
| 
-c {RACONENODE | RAC | SINGLE}
 | 追加するデータベースのタイプ(Oracle RAC One Node、Oracle RACまたは単一のインスタンス)。 Oracle Restart構成にデータベースを追加するときは、 | 
| 
-n db_name
 | 指定する場合、 | 
| 
-i instance_name
 | インスタンス名。 インスタンス名が 注意:  | 
| 
-p spfile
 | データベースのサーバー・パラメータ・ファイルのフルパス。省略すると、デフォルトのSPFILEが使用されます。 | 
| 
-s start_options
 | データベースの起動オプション( | 
| 
-t stop_options
 | データベースの停止オプション( | 
| 
-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}
 | データベースの現在のロール( | 
| 
-y {AUTOMATIC | MANUAL}
 | データベースの管理ポリシー。 | 
| 
-a disk_group_list
 | データベースが依存するディスク・グループのリスト。Oracle Restartでは、データベースを起動する前にこれらのディスク・グループがマウントされていることを確認します。このオプションは、データベースの追加時にデータベース・インスタンスとOracle ASMインスタンスが起動されていなかった場合にのみ必要です。それ以外の場合、データベースとディスク・グループ間の依存性は自動的に記録されています。 | 
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
 | リスナー名。省略すると、デフォルトで | 
| 
-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 Restart構成にONSを追加します。
Oracle Data Guardのフェイルオーバーの後で高速アプリケーション通知(FAN)イベントの送信を有効にするには、ONSをOracle Restart構成に追加する必要があります。
ONSは、Oracle Restart構成に追加した時点では無効になっています。有効にするには、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ネットワークの一部であるリモート・ホストの 注意: リモート・ホストの | 
| -v | 詳細出力。 | 
Oracle Restart構成にデータベース・サービスを追加します。データベース・サービスがない場合、データベース・サービスを作成します。DBMS_SERVICE PL/SQLパッケージを使用するよりも、この方法でサービスを作成することをお薦めします。
srvctl add serviceコマンドは次の構文で使用します。
srvctl add service -ddb_unique_name-sservice_name[-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]] [-y {AUTOMATIC | MANUAL}] [-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}] [-winteger] [-zinteger] [-j {SHORT | LONG}] [-B {SERVICE_TIME | THROUGHPUT | NONE}] [-q {TRUE | FALSE}] -tedition_name
表4-14 srvctl add serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name
 | データベース・サービス名 | 
| -l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY] | サービス・ロールのリスト。Oracle Data Guard環境でのみ適用できます。このオプションを指定すると、データベースのオープン時に、サービス・ロールの1つが現在のデータベース・ロールに一致する場合にのみサービスが起動されます。 | 
| 
-y {AUTOMATIC | MANUAL}
 | サービスの管理ポリシー。 | 
| 
-e {NONE |SESSION | SELECT}
 | フェイルオーバーのタイプ。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。 | 
| 
-m {NONE | BASIC}
 | フェイルオーバーの方法。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。 | 
| 
-w integer
 | フェイルオーバーの遅延。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。 | 
| 
-z  | フェイルオーバーの再試行。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。 | 
| 
-j {SHORT | LONG}
 | 接続ロード・バランシングの目標。 | 
| 
-B {SERVICE_TIME | THROUGHPUT | NONE}
 | ランタイム・ロード・バランシングの目標。 | 
| 
-q {TRUE | FALSE}
 | Oracleアドバンスト・キューイング(AQ)HA通知を送信します。スタンドアロン・サーバーの場合は、Oracle Data Guard環境でのみ適用できます。 | 
| 
-t edition_name
 | サービスの初期セッション・エディション サービスにエディションを指定すると、そのサービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。ただし、セッション接続で異なるエディションを指定した場合は、そのセッション接続で指定したエディションが初期セッション・エディションとして使用されます。 SRVCTLは、指定されたエディション名を検証しません。接続中、接続ユーザーは指定されたエディションの | 
srvctl configコマンドでは、指定したコンポーネントまたはコンポーネント・セットのOracle Restart構成を表示します。
表4-15 srvctl configの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスのOracle Restart構成情報を表示します。 | 
|  | 指定したデータベースのOracle Restart構成情報を表示するか、またはOracle Restartで管理されているすべてのデータベースをリストします。 | 
|  | すべてのリスナーまたは指定したリスナーのOracle Restart構成情報を表示します。 | 
|  | ONSの現在の構成情報を表示します。 | 
|  | 指定したデータベースについて、指定したデータベース・サービスまたはすべてのデータベース・サービスのOracle Restart構成情報を表示します。 | 
Oracle ASMインスタンスのOracle Restart構成情報を表示します。
指定したデータベースのOracle Restart構成情報を表示します。または、Oracle Restartで管理されているすべてのデータベースを示します。
srvctl config databaseコマンドは次の構文で使用します。
srvctl config database [-d db_unique_name [-a]]
表4-17 srvctl config databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| -a | 有効/無効ステータスも表示します。 | 
このコマンドの次の例では、Oracle Restartで管理されているすべてのデータベースを表示します。
srvctl config database dbcrm orcl
このコマンドの次の例では、DB_UNIQUE_IDがorclであるデータベースの構成および有効/無効ステータスを表示します。
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
Oracle Restartで管理されているすべてのリスナーまたは指定したリスナーのOracle Restart構成情報を表示します。
指定したデータベースについて、指定したデータベース・サービスまたはOracle Restartで管理されているすべてのデータベース・サービスのOracle Restart構成情報を表示します。
srvctl config serviceコマンドは次の構文で使用します。
srvctl config service -ddb_unique_name[-sservice_name] [-a]
表4-19 srvctl config serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_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
コンポーネントを無効にし、そのコンポーネントのOracle Restartでの管理を一時停止します。srvctl disableコマンドは、コンポーネントを修復するかメンテナンス用に停止する必要があり、自動再起動しない場合に使用します。コンポーネントを無効にすると、次のようになります。
自動的に再起動しなくなります。
依存性によって自動的に起動しなくなります。
SRVCTLで起動できません。
srvctl disable操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。
表4-20 srvctl disableの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスを無効にします。 | 
|  | データベースを無効にします。 | 
|  | Oracle ASMディスク・グループを無効にします。 | 
|  | 指定したリスナーまたはすべてのリスナーを無効にします。 | 
|  | ONSを無効にします。 | 
|  | 指定したデータベースの1つ以上のデータベース・サービスを無効にします。 | 
指定したデータベースを無効にします。
srvctl disable databaseコマンドは次の構文で使用します。
srvctl disable database -d db_unique_name
表4-21 srvctl disable databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
Oracle ASMディスク・グループを無効にします。
指定したリスナーまたはすべてのリスナーを無効にします。
1つ以上のデータベース・サービスを無効にします。
srvctl disable serviceコマンドは次の構文で使用します。
srvctl disable service -ddb_unique_name-sservice_name_list
表4-25 srvctl disable serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name_list
 | データベース・サービス名のカンマ区切りのリスト。 | 
srvctl enableコマンドでは、指定した無効なコンポーネントを再度有効にして、次の処理を実行できるようにします。
Oracle Restartで自動再起動します。
依存性を介して自動起動します。
SRVCTLを使用して手動で起動します。
コンポーネントがすでに有効になっている場合、コマンドは無視されます。
Oracle Restart構成にコンポーネントを追加すると、コンポーネントはデフォルトで有効になります。
srvctl enable操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。
表4-26 srvctl enableの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスを有効化します。 | 
|  | データベースを有効にします。 | 
|  | Oracle ASMディスク・グループを有効にします。 | 
|  | 指定したリスナーまたはすべてのリスナーを有効にします。 | 
|  | ONSを有効にします。 | 
|  | 指定したデータベースの1つ以上のデータベース・サービスを有効にします。 | 
指定したデータベースを有効にします。
srvctl enable databaseコマンドは次の構文で使用します。
srvctl enable database -d db_unique_name
表4-27 srvctl enable databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
Oracle ASMディスク・グループを有効にします。
指定したリスナーまたはすべてのリスナーを有効にします。
指定したデータベースの1つ以上のデータベース・サービスを有効にします。
srvctl enable serviceコマンドは次の構文で使用します。
srvctl enable service -ddb_unique_name-sservice_name_list
表4-31 srvctl enable serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name_list
 | データベース・サービス名のカンマ区切りのリスト。 | 
データベース、リスナーまたはOracle ASMインスタンスのOracle Restart構成から環境変数とその値を取得して表示します。
表4-32 srvctl getenvの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスに対して構成された環境変数を表示します。 | 
|  | 指定したデータベース・インスタンスに対して構成された環境変数を表示します。 | 
|  | 指定したリスナーに対して構成された環境変数を表示します。 | 
Oracle ASMインスタンスに対して構成された環境変数を表示します。
指定したデータベースに対して構成された環境変数を表示します。
srvctl getenv databaseコマンドは次の構文で使用します。
srvctl getenv database -ddb_unique_name[-tname_list]
表4-34 srvctl getenv databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-t name_list
 | 表示する環境変数名のカンマ区切りのリスト。省略すると、SRVCTLによって、構成されたすべての環境変数が表示されます。 | 
指定したリスナーに対して構成された環境変数を表示します。
コンポーネントのOracle Restart構成を変更します。変更内容は、コンポーネントが次に再起動されたときに反映されます。
srvctl modify操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。
表4-36 srvctl modifyの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMの構成の変更 | 
|  | データベースの構成の変更 | 
|  | 指定したリスナーまたはすべてのリスナーの構成を変更します。 | 
|  | ONSを変更します。 | 
|  | データベース・サービスの構成を変更します。 | 
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インスタンスによって検出されるディスクのセットを制限する文字列のカンマ区切りリストです。検出文字列には、ワイルドカード文字を含めることができます。文字列のいずれかに一致するディスクのみが検出されます。 | 
データベースのOracle Restart構成を変更します。
srvctl modify databaseコマンドは次の構文で使用します。
srvctl modify database -ddb_unique_name[-ooracle_home] [-u oracle_user] [-mdomain_name] [-ndb_name] [-iinstance_name] [-pspfile] [-sstart_options] [-tstop_options] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}] [-y {automatic | manual}] [-adisk_group_list] [-z]
表4-38 srvctl modify databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-u oracle_user
 | Oracleホーム・ディレクトリを所有するOracleユーザーの名前。 | 
| -z | Oracle ASMディスク・グループに対するデータベースの依存性を削除します。 | 
| (他のオプション) | 表4-11を参照してください。 | 
指定したリスナーまたはすべてのリスナーの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ホーム。 | 
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ネットワークの一部であるリモート・ホストの 注意: リモート・ホストの | 
| -v | 詳細出力。 | 
データベース・サービスのOracle Restart構成を変更します。
| 注意:構成変更は必要最小限にすること、およびオンライン・サービス変更の進行中は他のサービス操作を実行しないことをお薦めします。 | 
srvctl modify serviceコマンドは次の構文で使用します。
srvctl modify service -ddb_unique_name-sservice_name] [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]] [-y {AUTOMATIC | MANUAL}] [-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}] [-winteger] [-zinteger] [-j {SHORT | LONG}] [-B {SERVICE_TIME | THROUGHPUT | NONE}] [-q {TRUE | FALSE}] -tedition_name
表4-41 srvctl modify serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name
 | サービス名。 | 
| 
-t edition_name
 | サービスの初期セッション・エディション このオプションを指定しない場合、サービスのエディションは変更されません。 このオプションが指定されているものの、 サービスにエディションを指定すると、そのサービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。ただし、セッション接続で異なるエディションを指定した場合は、そのセッション接続で指定したエディションが初期セッション・エディションとして使用されます。 SRVCTLは、指定されたエディション名を検証しません。接続中、接続ユーザーは指定されたエディションの | 
| (他のオプション) | 表4-14を参照してください。 | 
Oracle Restart構成から指定したコンポーネントを削除します。コンポーネントはOracle Restartで管理されなくなります。コンポーネントの環境変数設定も削除されます。
Oracle Restart構成からコンポーネントを削除する前に、SRVCTLを使用してコンポーネントを停止する必要があります。コンポーネントは削除前に無効にすることをお薦めしますが、必須ではありません。
srvctl remove操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。
表4-42 srvctl removeの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスを削除します。 | 
|  | データベースを削除します。 | 
|  | Oracle ASMディスク・グループを削除します。 | 
|  | リスナーを削除します。 | 
|  | ONSを削除します。 | 
|  | 1つ以上のデータベース・サービスを削除します。 | 
Oracle ASMインスタンスを削除します。
データベースを削除します。最初に確認のプロンプトを表示します。
srvctl remove databaseコマンドは次の構文で使用します。
srvctl remove database -d db_unique_name [-f] [-y] [-v]
表4-44 srvctl remove databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| -f | 強制。実行中でもデータベースを削除します。 | 
| -y | 確認のプロンプトを表示せず、即時削除します。 | 
| -v | 詳細出力。成功または失敗のメッセージが表示されます。 | 
Oracle ASMディスク・グループを削除します。
指定したリスナーまたはすべてのリスナーを削除します。
指定したデータベース・サービスを削除します。
srvctl remove serviceコマンドは次のように使用します。
srvctl remove service -ddb_unique_name-sservice_name]
表4-48 srvctl remove serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name
 | サービス名。 | 
setenvコマンドでは、データベース、リスナーまたはOracle ASMインスタンスのOracle Restart構成に環境変数の値を設定します。
srvctl setenv操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。
表4-49 srvctl setenvおよびunsetenvの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスのOracle Restart構成に環境変数を設定します。 | 
|  | データベース・インスタンスのOracle Restart構成に環境変数を設定します。 | 
|  | 指定したリスナーまたはすべてのリスナーのOracle Restart構成に環境変数を設定します。 | 
Oracle ASMインスタンスのOracle Restart構成に環境変数の値を設定します。Oracle Restartでは、インスタンスを起動する前に、環境変数を構成に格納された値に設定します。
データベース・インスタンスのOracle Restart構成に環境変数の値を設定します。Oracle Restartでは、インスタンスを起動する前に、環境変数を構成に格納された値に設定します。
srvctl setenv databaseコマンドは次の構文で使用します。
srvctl setenv database -ddb_unique_name{-tname=val[,name=val,...] | -Tname=val}
表4-51 srvctl setenv databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| -t name=val[, | 環境変数の名前と値のペアのカンマ区切りのリスト。 | 
| -T name=val | 単一環境変数をカンマや他の特殊文字を含む値に設定可能にする | 
リスナーのOracle Restart構成に環境変数の値を設定します。Oracle Restartでは、リスナーを起動する前に、環境変数を構成に格納された値に設定します。
srvctl setenv listenerコマンドは次の構文で使用します。
srvctl setenv listener [-llistener_name] {-tname=val[,name=val,...] | -Tname=val}
表4-52 srvctl setenv listenerのオプション
| オプション | 説明 | 
|---|---|
| 
-l listener_name
 | リスナー名。省略すると、すべてのリスナー構成に指定した環境変数が設定されます。 | 
| -t name=val[, | 環境変数の名前と値のペアのカンマ区切りのリスト。 | 
| -T name=val | 単一環境変数をカンマや他の特殊文字を含む値に設定可能にする | 
指定したコンポーネントを起動します。
表4-53 srvctl startの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスを起動します。 | 
|  | 指定したデータベースを起動します。 | 
|  | 指定したOracle ASMディスク・グループを起動(マウント)します。 | 
|  | Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で起動します。 | 
|  | 指定したリスナーまたはOracle Restartで管理されているすべてのリスナーを起動します。 | 
|  | ONSを起動します。 | 
|  | 指定したデータベース・サービスを起動します。 | 
Oracle ASMインスタンスを起動します。
このコマンドでは、SRVCTLは"/ as sysasm"で接続して操作を実行します。このような操作を実行するには、Oracle Gridインフラストラクチャ・ホームの実行可能ファイルの所有者がOSASMグループのメンバーであることが必要です。また、コマンドを実行するユーザーもOSASMグループに属する必要があります。
指定したデータベース・インスタンスを起動します。
このコマンドでは、SRVCTLは"/ as sysdba"で接続して操作を実行します。このような操作を実行するには、データベースOracleホームのOracle実行可能ファイルの所有者がOSDBAグループ(たとえば、UNIXおよびLinuxのdbaグループ)のメンバーであることが必要です。また、コマンドを実行するユーザーもOSDBAグループに属する必要があります。
srvctl start databaseコマンドは次の構文で使用します。
srvctl start database -ddb_unique_name[-ostart_options]
表4-55 srvctl start databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-o start_options
 | 起動コマンドのオプションのカンマ区切りのリスト(たとえば、 注意: 
 | 
Oracle ASMディスク・グループを起動(マウント)します。
Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で起動します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。
このコマンドではsrvctl stop homeによって停止されたコンポーネントを起動します。このコマンドでは指定した状態ファイルの情報を使用して、起動するコンポーネントを特定します。
| 注意:このコマンドは、Oracleホームにパッチをインストールした後にコンポーネントを再起動するときに使用します。 | 
指定したリスナーまたはすべてのリスナーを起動します。
指定したデータベース・サービスを起動します。
srvctl start serviceコマンドは次の構文で使用します。
srvctl start service -ddb_unique_name[-sservice_name_list] [-ostart_options]
表4-60 srvctl start serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name_list
 | サービス名のカンマ区切りリスト。このサービス名リストはオプションであり、指定しないと、SRVCTLでデータベースのサービスがすべて起動されます。 | 
| 
-o start_options
 | データベースを最初に起動する必要がある場合、データベースの起動オプション( | 
指定したコンポーネントまたはコンポーネント・セットの実行ステータスを表示します。
表4-61 srvctl statusの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスの実行ステータスを表示します。 | 
|  | データベースの実行ステータスを表示します。 | 
|  | Oracle ASMディスク・グループの実行ステータスを表示します。 | 
|  | Oracle Restartで管理されているすべてのコンポーネントの実行ステータスを、指定したOracleホーム内で表示します。 | 
|  | 指定したリスナーまたはOracle Restartで管理されているすべてのリスナーの実行ステータスを表示します。 | 
|  | ONSの実行ステータスを表示します。 | 
|  | 1つ以上のサービスの実行ステータスを表示します。 | 
Oracle ASMインスタンスの実行ステータスを表示します。
指定したデータベースの実行ステータスを表示します。
srvctl status databaseコマンドは次の構文で使用します。
srvctl status database -d db_unique_name [-f] [-v]
表4-63 srvctl status databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| -f | データベースが無効な場合、メッセージを表示します。 | 
| -v | 詳細出力。実行中のデータベース・サービスを一覧表示します。 | 
Oracle ASMディスク・グループの実行ステータスを表示します。
Oracle Restartで管理されているすべてのコンポーネントの実行ステータスを、指定したOracleホーム内で表示します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。
このコマンドではコンポーネントの現在のステータスを指定した状態ファイルに書き込みます。
指定したリスナーまたはOracle Restartで管理されているすべてのリスナーの実行ステータスを表示します。
1つ以上のデータベース・サービスの実行ステータスを表示します。
srvctl status serviceコマンドは次の構文で使用します。
srvctl status service -ddb_unique_name[-sservice_name_list] [-f] [-v]
表4-67 srvctl status serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name_list
 | サービス名のカンマ区切りリスト。省略すると、指定されたデータベースの全データベース・サービスのステータスが一覧表示されます。 | 
| -f | サービスが無効な場合、メッセージを表示します。 | 
| -v | 詳細出力。 | 
指定したコンポーネントを停止します。
srvctl stopコマンドを発行した後にコンポーネントを停止状態のままにする場合、コンポーネントを無効にします。disableコマンドを参照してください。
| 注意:コンポーネントを停止しても無効にしていない場合は、計画された別の操作の結果として再起動されることがあります。つまり、停止されたコンポーネントは障害の結果として再起動されることはありませんが、 srvctlstartコマンドで依存コンポーネントが起動されると、起動されることがあります。 | 
表4-68 srvctl stopの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスを停止します。 | 
|  | 指定したデータベース・インスタンスを停止します。 | 
|  | 指定したOracle ASMディスク・グループを停止(ディスマウント)します。 | 
|  | Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で停止します。 | 
|  | 指定したリスナーまたはすべてのリスナーを停止します。 | 
|  | ONSを停止します。 | 
|  | 指定したデータベース・サービスを停止します。 | 
Oracle ASMインスタンスを停止します。
srvctl stop asmコマンドは次の構文で使用します。
srvctl stop asm [-o stop_options] [-f]
表4-69 srvctl stop asmのオプション
| オプション | 説明 | 
|---|---|
| 
-o stop_options
 | 停止操作のオプション( | 
| -f | 強制。ディスク・グループが現在起動済(マウント済)の場合は、指定しておく必要があります。このオプションを指定すると、Oracle ASMを停止する前に、SRVCTLがディスク・グループを停止できるようになります。依存関係にある各データベース・インスタンスも停止オプションに従って停止されますが、構成されている停止オプションが失敗した場合は、 | 
データベースを停止します。
srvctl stop databaseコマンドは次の構文で使用します。
srvctl stop database -ddb_unique_name[-ostop_options] [-f]
表4-70 srvctl stop databaseのオプション
| オプション | 説明 | 
|---|---|
| 
 | データベースの一意の名前。 | 
| 
 | 
 | 
| -f | 強制。データベース、そのサービス、およびそのサービスに依存するリソースを停止します。 | 
Oracle ASMディスク・グループを停止(ディスマウント)します。
Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で停止します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。
このコマンドでは指定した状態ファイルで停止したコンポーネントを特定します。
| 注意: 
 | 
srvctl stop homeコマンドは次の構文で使用します。
srvctl stop home -o oracle_home -s state_file [-t stop_options] [-f]
表4-72 srvctl stop homeのオプション
| オプション | 説明 | 
|---|---|
| -o | Oracleホームの完全なパス。 | 
| -s | 状態ファイルの完全なパス。 | 
| 
 | データベースの | 
| -f | 強制的に各コンポーネントを停止します。 | 
指定したリスナーまたはOracle Restartで管理されているすべてのリスナーを停止します。リスナーを停止しても、リスナーに登録されたデータベースは停止されません。
srvctl stop listenerコマンドは次の構文で使用します。
srvctl stop listener [-l listener_name] [-f]
表4-73 srvctl stop listenerのオプション
| オプション | 説明 | 
|---|---|
| 
-l listener_name
 | リスナー名。省略すると、Oracle Restartで管理されているすべてのリスナーが停止されます。 | 
| -f | 強制。 | 
1つ以上のデータベース・サービスを停止します。
srvctl stop serviceコマンドは次の構文で使用します。
srvctl stop service -ddb_unique_name[-sservice_name_list] [-f]
表4-75 srvctl stop serviceのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-s service_name_list
 | データベース・サービス名のカンマ区切りのリスト。サービス名リストを指定しない場合、SRVCTLによって、データベースのすべてのサービスが停止されます。 | 
| -f | 強制。このオプションでは、停止したすべてのサービスのセッションが即座に切断されます。コミットされていないトランザクションはロールバックされます。このオプションを指定しないと、アクティブなセッションはサービスに接続されたままになりますが、それ以上サービスには接続できなくなります。 | 
unsetenvコマンドでは、データベース、リスナーまたはOracle ASMインスタンスのOracle Restart構成から1つ以上の環境変数を削除します。
srvctl unsetenv操作を実行するには、適切なユーザー・アカウントを使用してデータベース・ホスト・コンピュータにログインする必要があります。詳細は、「SRVCTLの実行準備」を参照してください。
表4-76 srvctl unsetenvコマンドの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle ASMインスタンスのOracle Restart構成から指定した環境変数を削除します。 | 
|  | データベースのOracle Restart構成から指定した環境変数を削除します。 | 
|  | 指定したリスナーまたはすべてのリスナーのOracle Restart構成から指定した環境変数を削除します。 | 
Oracle ASMインスタンスのOracle Restart構成から指定した環境変数を削除します。
指定したデータベースのOracle Restart構成から指定した環境変数を削除します。
srvctl unsetenv databaseコマンドは次のように使用します。
srvctl unsetenv database -ddb_unique_name-tname_list
表4-78 srvctl unsetenv databaseのオプション
| オプション | 説明 | 
|---|---|
| 
-d db_unique_name
 | データベースの一意の名前。 | 
| 
-t name_list
 | 削除する環境変数のカンマ区切りのリスト | 
指定したリスナーまたはすべてのリスナーのOracle Restart構成から指定した環境変数を削除します。
ここでは、Oracle Restartに関係するCRSCTLコマンドの構文に関して詳しく説明します。
| 注意:これらのCRSCTLコマンドを実行するには、rootユーザーであるか、またはOracle Gridインフラストラクチャの所有者である必要があります。 | 
CRSCTLコマンド構文の概要
crsctl command has
commandはstart、stop、enableなどの動詞です。hasオブジェクトはOracle高可用性サービスを示します。コマンドの詳細なリストは、表4-80を参照してください。
大/小文字の区別
CRSCTLコマンドとコンポーネントでは大/小文字が区別されません。
表4-80 CRSCTLコマンドの概要
| コマンド | 説明 | 
|---|---|
|  | Oracle Restartの状態を表示します。 | 
|  | Oracle Restartの構成を表示します。 | 
|  | Oracle Restartの自動再起動を無効化します。 | 
|  | Oracle Restartの自動再起動を有効化します。 | 
|  | Oracle Restartを起動します。 | 
|  | Oracle Restartを停止します。 | 
Oracle Restartを停止します。
構文およびオプション
crsctl stop has [-f]
表4-81 crsctl stop hasのオプション
| オプション | 説明 | 
|---|---|
| -f | 強制。Oracle Restartで管理されるリソースがまだ実行中の場合は、それらのリソースを正常に停止しようとします。リソースを正常に停止できない場合は、リソースを強制的に停止しようとします。 たとえば、Oracle ASMインスタンスが実行中の場合、 
 |