プライマリ・コンテンツに移動
Oracle® Database管理者ガイド
12cリリース1 (12.1)
B71301-11
目次へ移動
目次
索引へ移動
索引

前
次

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

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

4.1 Oracle Restartについて

Oracle Restartは、シングル・インスタンス環境におけるOracleデータベースの可用性を向上します。

4.1.1 Oracle Restartの概要

Oracle Restartをインストールすると、ハードウェアまたはソフトウェアに障害が発生した後やデータベース・ホスト・コンピュータが再起動した場合は常に、様々なOracleコンポーネントを自動的に再起動できます。

表4-1にこれらのコンポーネントを示します。

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

構成要素 注意

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

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

Oracle Netリスナー

-

データベース・サービス

インストール時に作成されたデフォルトのサービスはOracle Databaseによって自動的に管理されるため、含まれません。また、データベースの作成中またはグローバル・サービス中に作成されたデフォルトのサービスも含まれません。グローバル・サービスの詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

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 Infrastructureホームのインストールの詳細は、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

関連項目:

  • 「Oracle Restartの構成」

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

4.1.2 起動の依存性の概要

Oracle Restartでは、Oracleコンポーネントがコンポーネントの依存性に従って正しい順序で起動されます。

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

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

4.1.3 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インフラストラクチャ・ホームです。この機能はパッチのインストール時に役立ちます。

4.1.4 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の停止および再起動」

4.1.5 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を使用してデータベース・サービスを作成します。

いいえ

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

いいえ

脚注1

Oracle Restartを使用している場合はお薦めできません

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

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

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

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

はい

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

いいえ

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

はい

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

はい

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

はい

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

いいえ

脚注2

非推奨

4.1.6 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つが現在のデータベース・ロールに一致する場合にのみ、データベースのオープン時にサービスは起動されます。

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

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

関連項目:

Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド

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

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 Databaseアドバンスト・キューイングのキューを使用して発行されます。キューは、サーバーを構成するときに自動的に構成されます。ONSはSRVCTLコマンドを使用して手動で構成する必要があります。

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

関連項目:

Oracle Data Guard環境におけるFANイベントの詳細は、『Oracle Data Guard Broker』を参照してください。

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

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

4.1.7.2.1 計画外停止の管理

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コールアウトを使用して、障害管理システムに障害を報告して、修復ジョブを起動できます。

4.1.7.2.2 計画停止の管理

Oracle Restartには、プライマリ・データベースのシャットダウンが必要となる修復、アップグレードおよび変更向けに、アプリケーション・ユーザーに対するサービス停止を最小限に抑えるための、サービスを無効化および有効化するインタフェースが備えられています。

Oracle RestartとともにOracle Data Guard Brokerを使用すると、計画停止の期間中、データベース・サービスがプライマリからスタンバイにフェイルオーバーするように調整できます。処理が完了した後、サービスを通常の動作に戻すことができます。

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

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

FANイベント・レコード・パラメータとイベント・タイプについて理解します。

表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')

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

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を参照してください。

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

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

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

4.2 Oracle Restartの構成

Oracle Restartを構成するには、コンポーネントの追加、コンポーネントの削除、またはコンポーネントのオプションの変更ができます。

4.2.1 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構成オプションを変更します。

4.2.2 SRVCTLの実行準備

多くのOracle Restartのタスクは、SRVCTLユーティリティの実行を必要とします。正しいOracleホームからSRVCTLを実行していること、および正しいユーザー・アカウントでホスト・コンピュータにログインしていることを確認する必要があります。

表4-6は、SRVCTLで構成できるコンポーネントを示しており、SRVCTLを実行する必要があるOracleホームをコンポーネントごとに示しています。

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

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

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

データベース・ホーム

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

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

脚注3

Oracle Grid Infrastructureホームからリスナーが起動されたことが前提となっています。既存のデータベースにOracle Restartをインストールした場合は、リスナーがデータベース・ホームから起動されている場合があるため、その場合はデータベース・ホームからSRVCTLを起動します。

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

  1. 表4-6を使用して、SRVCTLを実行する必要があるOracleホームを決定します。
  2. Oracle Restart構成を変更するSRVCTLコマンド(addremoveenabledisableなど)を実行する場合、次のいずれかを実施します。
    • UNIXおよびLinuxの場合、手順1で決定したOracleホームをインストールしたユーザーとしてデータベース・ホスト・コンピュータにログインします。

    • Windowsの場合、データベース・ホスト・コンピュータに管理者としてログインします。

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

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

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

4.2.3 SRVCTLのヘルプの表示

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のコマンドを入力します。
    srvctl
    

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

srvctl -help

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

srvctl command -help

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

srvctl add -help

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

srvctl command object -help

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

srvctl add service -help

SRVCTLコマンドのリストは「Oracle RestartのSRVCTLコマンド・リファレンス」を、コンポーネントのリストは表4-7をそれぞれ参照してください。

Oracle Database 12cからは、キーワード・パラメータが優先されるために、単一文字パラメータは非推奨になりました。下位互換性をサポートするために、単一文字パラメータと新しいキーワード・パラメータの両方を使用できます。ヘルプではデフォルトでキーワード・パラメータが表示されますが、該当する場合は、-helpパラメータの後に-compatibleパラメータを追加することによって、等価の単一文字を取得できます。

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

srvctl add service -help -compatible

等価の単一文字が、キーワード・パラメータの横のカッコ内に表示されます。Oracle Database 12cの新規パラメータには、等価の単一文字はありません。

4.2.4 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コマンドを使用する必要があります。

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

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のコマンドを入力します。
    srvctl add object options
    

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

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

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

srvctl add database -db dbcrm -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1

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

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

srvctl add service -db dbcrm -service crmbatch

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

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

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

srvctl add listener

注意:

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

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

4.2.5 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-7に示したコンポーネントの1つです。各コンポーネントに利用できるオプションについては、SRVCTLのremoveコマンドを参照してください。

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

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

srvctl remove database -db dbcrm

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

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

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

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

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

  • SRVCTLで起動できません。

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

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のいずれかを実行します。
    • コンポーネントを無効にするには、次のコマンドを入力します。

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

      srvctl enable object [options]
      

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

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

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

srvctl disable database -db dbcrm

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

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

srvctl disable diskgroup -diskgroup recovery

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

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

srvctl enable diskgroup -diskgroup recovery

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

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

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のコマンドを入力します。
    srvctl status object [options]
    

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

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

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

srvctl status database -db dbcrm

Database is running.

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

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

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のコマンドを入力します。
    srvctl config object options
    

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

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

srvctl config database

dbcrm
orcl

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

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

srvctl config database -db orcl

Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/12.1.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

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

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

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のコマンドを入力します。
    srvctl modify object options
    

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

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

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

srvctl modify database -db dbcrm -policy MANUAL -startoption NOMOUNT

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

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

Oracle Restart構成には環境変数の名前と値のペアを格納できます。

4.2.10.1 Oracle Restart構成の環境変数について

Oracle Restart構成に環境変数値を設定できます。

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

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

  • リスナー

  • Oracle ASMインスタンス

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

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

注意:

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

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

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 -db dbcrm -envs "NLS_LANG=AMERICAN_AMERICA.AL32UTF8, 
   AIXTHREAD_SCOPE=S"

4.2.10.3 環境変数の表示

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 -db dbcrm

dbcrm:
NLS_LANG=AMERICAN_AMERICA
AIXTHREAD_SCOPE=S
GCONF_LOCAL_LOCKS=1

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

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

srvctl getenv database -db dbcrm -envs "NLS_LANG,AIXTHREAD_SCOPE"

dbcrm:
NLS_LANG=AMERICAN_AMERICA
AIXTHREAD_SCOPE=S

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

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

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

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

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

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

    srvctl add service -db db_unique_name -service service_name [options]
    

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

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のコマンドを入力します。
    srvctl remove service -db db_unique_name -service service_name [-force]
    

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

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

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

srvctl add service -db dbcrm -service crmbatch

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

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

srvctl add service -db dbcrm -service crmbatch -role PHYSICAL_STANDBY

4.2.12 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クライアントについては、データベース・キューを有効にするため-notificationオプションがTRUEに設定されていることを確認します。

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

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

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

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構成のデータベースに接続するためにクライアントで使用するサービスを追加します。サービスを追加する場合は、次のことを確認してください。
    • サービスごとに、-roleオプションが適切なロールに設定されていること

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

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

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

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

高速接続フェイルオーバーは、JDBC、OCIまたはODP.NETを使用するクライアントなど、高速アプリケーション通知(FAN)に統合されたクライアントに高可用性を提供します。高速接続フェイルオーバーを使用するようにクライアントを構成した場合、クライアントが自動的にFANイベントをサブスクライブし、データベースのUPイベントおよびDOWNイベントに対処できます。それに対応して、Oracle Databaseは、要求されたデータベース・サービスを提供するアクティブ・インスタンスにクライアントを接続します。

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

スタンバイ・データベースが存在する構成では、Oracle Notification Services(ONS)をOracle Restart構成に追加した後でサービスに対してOracle Advanced Queuing(AQ)HA通知を有効にすると、クライアントで高速接続フェイルオーバーを有効化できます。

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

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

4.2.14.2 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 Universal Connection Pool for JDBC開発者ガイド

4.2.14.3 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 -db proddb -service gl.us.example.com -notification 
    true -role primary -failovertype select -failovermethod basic -failoverretry 5 
    -failoverdelay 180 -clbgoal 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管理者ガイド』を参照してください。

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

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

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

  1. 次の例に示すように、SRVCTLのmodify serviceコマンドを使用して、アドバンスト・キューイング通知を有効にします。
    srvctl modify service –db dbname –service gl -notification true -clbgoal 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)))
    

関連項目:

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

Oracle Restartの使用時は、コンポーネントの起動と停止にSRVCTLユーティリティを使用することをお薦めします。

コンポーネントの起動と停止に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構成の環境変数の管理」を参照してください。

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

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

  1. 「SRVCTLの実行準備」で説明したように、SRVCTLの実行を準備します。
  2. 次のいずれかを実行します。
    • コンポーネントを起動にするには、次のコマンドを入力します。

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

      srvctl stop object [options]
      

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

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

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

srvctl start database -db dbcrm

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

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

srvctl start database -db dbcrm -startoption nomount

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

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

srvctl start listener

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

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

srvctl start listener -listener crmlistener

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

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

srvctl start service -db dbcrm -service "bizdev,support"

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

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

srvctl start diskgroup -diskgroup "data,recovery"

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

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

srvctl stop database -db dbcrm

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

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

srvctl stop database -db dbcrm -stopoption abort

注意:

Oracle実行可能ファイルを再リンクした後、Oracle Restartの使用中はSRVCTLユーティリティを使用してコンポーネントを開始および停止します。通常、LinuxまたはUNIXベースのオペレーティング・システムでは、オペレーティング・システムのパッチを適用した後やオペレーティング・システムのアップグレード後に、Oracle実行可能ファイルの再リンクが必要になります。再リンクの詳細は、『Oracle Database管理者リファレンスfor Linux and UNIX-Based Operating Systems』を参照してください。

SQL*Plusを使用してコンポーネントを開始および停止する場合は、再リンク後に最初にsetasmgidwrapスクリプトを実行する必要があります。このスクリプトの実行の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。

関連項目:

SRVCTLのstartコマンド

4.4 メンテナンス操作のための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オブジェクトを使用すると、-statefileオプションで指定した状態ファイルによって各コンポーネントの状態が追跡されます。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 -oraclehome oracle_home -statefile state_file [-stopoption stop_options] [-force]
    

    ここで、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 -oraclehome oracle_home -statefile state_file
    

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

  8. (オプション)Oracle Restartで管理されているコンポーネントのステータスをOracleホーム内で確認するには、次のSRVCTLユーティリティを使用します。
    srvctl status home -oraclehome oracle_home -statefile state_file
    

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

srvctl stop home -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1 -statefile /usr1/or_state

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

srvctl start home -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1 -statefile /usr1/or_state

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

srvctl status home -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1 -statefile /usr1/or_state

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

Oracle Restartに固有のSRVCTLコマンドの構文とオプションの詳細を参照できます。

SRVCTLコマンドの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

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

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

srvctl command object options

説明:

  • commandstartstopremoveなどの動詞です。

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

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

注意:

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

大/小文字の区別

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

コマンド・パラメータ入力ファイル

コマンド・パラメータは、コマンドラインで直接指定するかわりに、ファイルに指定することもできます。コマンド・パラメータ入力ファイルの使用は、次のような状況で役立ちます。

  • 非常に長いパラメータ値または非常に多数のパラメータを指定してコマンドを実行する場合。

  • 特定の特殊文字のシェル処理を省略する場合。

コマンド・パラメータ入力ファイルを指定するには、コマンド・パラメータ・ファイルの場所である値とともに-fileパラメータを使用します。SRVCTLでは、コマンドラインではなくコマンド・パラメータ・ファイルのコマンド・パラメータが処理されます。

SRVCTLコンポーネントの概要

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

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

構成要素 略称 説明

asm

asm

Oracle ASMインスタンス

database

db

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

diskgroup

dg

Oracle ASMディスク・グループ

ホーム

ホーム

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

リスナー

lsnr

Oracle Netリスナー

サービス

serv

データベース・サービス

ons

ons

Oracle Notification Services(ONS)

関連項目:

表4-1

4.5.1 add

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

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

注意:

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

4.5.1.1 srvctl add asm

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

4.5.1.1.1 構文およびオプション

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

srvctl add asm [-listener listener_name] [-spfile spfile] 
  [-pwfile password_file_path] [-diskstring asm_diskstring]

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

オプション 説明
-listener listener_name

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

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

-spfile spfile

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

-pwfile password_file_path

Oracle ASMパスワード・ファイルのフルパス。

-diskstring asm_diskstring

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

4.5.1.1.2

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

srvctl add asm -listener crmlistener

関連項目:

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

4.5.1.2 srvctl add database

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

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

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

注意:

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

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

4.5.1.2.1 構文およびオプション

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


srvctl add database -db db_unique_name -oraclehome oracle_home 
  [-domain domain_name] [-dbname db_name] [-instance instance_name] 
  [-spfile spfile][-pwfile password_file_path] [-startoption start_options] 
  [-stopoption stop_options] 
  [-role {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | 
          SNAPSHOT_STANDBY | FAR_SYNC}]
  [-policy {AUTOMATIC | MANUAL | NORESTART}] [-diskgroup disk_group_list]
  [-verbose]

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

構文 説明
-db db_unique_name

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

-oraclehome oracle_home

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

-domain domain_name

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

-dbname db_name

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

-instance instance_name

インスタンス名。

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

-spfile spfile

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

-pwfile password_file_path

データベース・パスワード・ファイルのフルパス。

-startoption start_options

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

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-stopoption stop_options

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

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-role {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY | FAR_SYNC}

データベースの現在のロール(PRIMARYPHYSICAL_STANDBYLOGICAL_STANDBYSNAPSHOT_STANDBYまたはFAR_SYNC)。デフォルトはPRIMARYです。Oracle Data Guard環境でのみ適用できます。

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

-policy {AUTOMATIC | MANUAL | NORESTART}

データベースの管理ポリシー。

  • AUTOMATIC(デフォルト): データベースは、データベース・ホスト・コンピュータの再起動時に前回の実行状態(起動または停止)へ自動的に戻ります。

  • MANUAL: データベース・ホスト・コンピュータの再起動時にデータベースは自動的には再起動されません。MANUALを設定しても、データベースは実行中にOracle Restartで監視され、障害が発生すると再起動されます。

  • NORESTART: MANUAL設定と同様に、データベース・ホスト・コンピュータの再起動時にデータベースは自動的には再起動されません。ただし、NORESTART設定では、障害が発生しても、データベースを再起動することはありません。

-diskgroup disk_group_list

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

-verbose

詳細出力。

4.5.1.2.2

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

srvctl add database -db dbcrm -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1

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

srvctl add database -db dbcrm -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1
  -diskgroup "DATA,RECOVERY"

関連項目:

4.5.1.3 srvctl add listener

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

4.5.1.3.1 構文およびオプション

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

srvctl add listener [-listener listener_name] [-endpoints endpoints] [-skip] 
  [-oraclehome oracle_home]

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

オプション 説明
-listener listener_name

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

-endpoints endpoints

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

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

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

-oraclehome oracle_home

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

4.5.1.3.2

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

srvctl add listener -endpoints TCP:1522 
  -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1

4.5.1.4 srvctl add ons

Oracle Restart構成にOracle Notification Services (ONS)を追加します。

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

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

4.5.1.4.1 構文およびオプション

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

srvctl add ons [-emport em_port] [-onslocalport ons_local_port] 
  [-onsremoteport ons_remote_port] [-remoteservers host[:port],[host[:port]...]] 
  [-verbose]

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

オプション 説明
-emport em_port

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

-onslocalport ons_local_port

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

-onsremoteport ons_remote_port

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

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

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

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

-verbose

詳細出力。

4.5.1.5 srvctl add service

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

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

4.5.1.5.1 構文およびオプション

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

srvctl add service -db db_unique_name -service service_name
  [-role [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]]
  [-policy {AUTOMATIC | MANUAL}] 
  [-failovertype {NONE | SESSION | SELECT | TRANSACTION}] 
  [-failovermethod {NONE | BASIC}] [-failoverdelay integer] 
  [-failoverretry integer] [-clbgoal {SHORT | LONG}]
  [-rlbgoal {SERVICE_TIME | THROUGHPUT | NONE}] [-notification {TRUE | FALSE}] 
  [-edition edition_name] [-pdb pluggable_database] 
  [-sql_translation_profile sql_translation_profile]
  [-commit_outcome {TRUE | FALSE}] [-retention retention] 
  [-replay_init_time replay_init_time] [-session_state {STATIC | DYNAMIC}] 
  [-global {TRUE | FALSE}] [-maxlag max_lag_time] [-force] [-verbose]

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

オプション 説明
-db db_unique_name

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

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

-service service_name

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

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

サービス・ロールのリスト。

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

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

-policy {AUTOMATIC | MANUAL}

サービスの管理ポリシー。

AUTOMATIC(デフォルト)の場合、サービスは計画された再起動(SRVCTLを使用)または障害の後、データベースの再起動時に自動的に起動されます。ただし、自動再起動はサービス・ロールの影響も受けます(-roleオプション)。

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

-failovertype {NONE |SESSION | SELECT | TRANSACTION}

Javaのアプリケーション・コンティニュイティを有効にするには、TRANSACTIONを使用します。フェイルオーバー・タイプがTRANSACTIONの場合は、commit_outcomeオプションをTRUEに設定する必要があります。

OCIで透過的アプリケーション・フェイルオーバー(TAF)を有効にするには、SELECTまたはSESSIONを使用します。

-failovermethod {NONE | BASIC}

下位互換性のみのためのTAFフェイルオーバー方法。

フェイルオーバー・タイプ(-failovertype)にNONE以外の値を設定する場合は、このオプションにBASICを使用します。

-failoverdelay integer

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

-failoverretry integer

アプリケーション・コンティニュイティおよびTAFでの、インシデント後の接続試行回数。

-clbgoal {SHORT | LONG}

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

ランタイム・ロード・バランシングの場合は、SHORTを使用します。

バッチ・ジョブなどの長時間実行される接続の場合は、LONGを使用します。

-rlbgoal {SERVICE_TIME | THROUGHPUT | NONE}

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

レスポンス時間によって接続を均衡化するには、SERVICE_TIMEを使用します。

スループットによって接続を均衡化するには、THROUGHPUTを使用します。

-notification {TRUE | FALSE}

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

-edition edition_name

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

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

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

-pdb pluggable_database

マルチテナント・コンテナ・データベース(CDB)でサービスに関連付けるためのプラガブル・データベース(PDB)の名前

このオプションを空の文字列に設定した場合、サービスはルートに関連付けられます。

-sql_translation_profile sql_translation_profile

Oracle以外のデータベースからOracle Databaseにアプリケーションを移行した後に追加するサービスのSQLトランザクション・プロファイル。

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

注意:

  • SQLトランザクション・フレームワークを使用する前に、すべてのサーバー側のアプリケーション・オブジェクトとデータをOracle Databaseに移行する必要があります。

  • SQLトランザクション・プロファイルを表示するには、srvctl config serviceコマンドを使用します。

関連項目: SQLトランザクション・プロファイルの使用の詳細は、『Oracle Database移行ガイド』を参照してください。

-commit_outcome {TRUE | FALSE}

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

FALSE(デフォルト)の場合、トランザクションのコミット結果は保持されません。

このオプションをTRUEに設定すると、トランザクションのコミット結果は永続的になり、アプリケーションでは停止後のトランザクションのコミット・ステータスを確認できます。ユーザー定義サービスの場合、commit_outcomeTRUEに設定できます。

commit_outcome設定は、Oracle Active Data Guardおよび読取り専用データベースには影響を与えません。

関連項目: 詳細は、『Oracle Database開発ガイド』を参照してください。

-retention retention

commit_outcomeTRUEに設定されている場合、コミット結果が保持される時間(秒)をこのオプションで決定します。デフォルト値は24時間(86400)です。

commit_outcomeFALSEに設定されている場合、このオプションは設定できません。

-replay_init_time replay_init_time

アプリケーション・コンティニュイティについて、このオプションで、要求の最初の操作を実行する時間と、再接続の成功後にリプレイを開始する準備が完了する時間の差異(秒)を指定します。アプリケーション・コンティニュイティでは指定した時間が経過するまでリプレイされません。このオプションは、長い時間が経過した後にシステムがリカバリされたときに、トランザクションが意図せず実行されることを回避するためのものです。デフォルトは5分(300)です。最大値は24時間(86400)です。

FAILOVER_TYPETRANSACTIONに設定されていない場合、このオプションは使用されません。

-session_state {STATIC | DYNAMIC}

アプリケーション・コンティニュイティについて、このオプションでアプリケーションがセッション状態を静的または動的に変更するかどうかを指定します。このオプションは、-failovertypeTRANSACTIONに設定されている場合に使用されます。

この設定では、トランザクションでないセッション状態がアプリケーションで変更される方法を示します。セッション状態の例として、NLS設定、オプティマイザのプリファレンス、イベント設定、PL/SQLグローバル変数、一時表、アドバンスト・キュー、LOBおよび結果キャッシュをあげることができます。

STATICに設定すると、NLS設定やオプティマイザのプリファレンスなどの、すべてのセッション状態の設定が、要求ごとに1回、接続初期化の一部として設定されます。このセッション状態は要求内で変更されません。この設定は、セッション状態を変更しないデータベース診断アプリケーションのためにのみ使用されます。コールバックによって再確立できない要求内に非トランザクションの状態変更がある場合、STATICモードに設定しないでください。不明な場合は、DYNAMICモードを使用してください。

DYNAMIC(デフォルト)に設定すると、アプリケーションの実行中にセッション状態が変更されます。実行時に変化する状態変更の例として、PL/SQL変数、一時表の内容、LOB処理および結果キャッシュ処理をあげることができます。アプリケーションがデータベースでPL/SQL、SYS_CONTEXT、Javaを使用する場合は、このオプションをDYNAMICに設定します。

-global {TRUE | FALSE}

TRUEの場合、サービスはグローバル・データ・サービス(GDS)のサービスとなり、Global Services Manager (GSM)によって管理されます。

FALSE(デフォルト)の場合、サービスはGDSサービスになりません。

サービスを追加した後にサービスのグローバル属性を変更することはできません。

詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

-maxlag maximum_lag_time

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

-force

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

-verbose

詳細出力。

4.5.1.5.2

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

srvctl add service -db dbcrm -service sales -role PRIMARY

関連項目:

4.5.2 config

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

4.5.2.1 srvctl config asm

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

4.5.2.1.1 構文およびオプション

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

srvctl config asm [-all]

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

オプション 説明
-all

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

4.5.2.1.2

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

srvctl config asm -all

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

4.5.2.2 srvctl config database

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

4.5.2.2.1 構文およびオプション

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

srvctl config database [-db db_unique_name [-all]] [-verbose]

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

オプション 説明
-db db_unique_name

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

-all

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

-verbose

詳細出力。

4.5.2.2.2

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

srvctl config database

dbcrm
orcl

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

srvctl config database -db orcl -all

Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/12.1.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

4.5.2.3 srvctl config listener

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

4.5.2.3.1 構文およびオプション

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

srvctl config listener [-listener listener_name]

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

オプション 説明
-listener listener_name

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

4.5.2.3.2

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

srvctl config listener

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

4.5.2.4 srvctl config ons

Oracle Notification Services (ONS)の現在の構成情報を表示します。

4.5.2.4.1 構文およびオプション

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

srvctl config ons

4.5.2.5 srvctl config service

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

4.5.2.5.1 構文およびオプション

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

srvctl config service -db db_unique_name [-service service_name] [-verbose]

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

オプション 説明
-db db_unique_name

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

-service service_name

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

-verbose

詳細出力。

4.5.2.5.2

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

srvctl config service -db dbcrm -service 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

4.5.3 disable

コンポーネントを無効にし、そのコンポーネントのOracle Restartでの管理を一時停止します。

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

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

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

  • SRVCTLで起動できません。

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

関連項目:

enableコマンド

4.5.3.1 srvctl disable asm

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

4.5.3.1.1 構文およびオプション

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

srvctl disable asm

4.5.3.2 srvctl disable database

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

4.5.3.2.1 構文およびオプション

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

srvctl disable database -db db_unique_name

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

オプション 説明
-db db_unique_name

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

4.5.3.2.2

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

srvctl disable database -db dbcrm

4.5.3.3 srvctl disable diskgroup

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

4.5.3.3.1 構文およびオプション

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

srvctl disable diskgroup -diskgroup diskgroup_name

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

オプション 説明
-diskgroup diskgroup_name

ディスク・グループ名。

4.5.3.3.2

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

srvctl disable diskgroup -diskgroup DATA

4.5.3.4 srvctl disable listener

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

4.5.3.4.1 構文およびオプション

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

srvctl disable listener [-listener listener_name]

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

オプション 説明
-listener listener_name

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

4.5.3.4.2

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

srvctl disable listener -listener crmlistener

4.5.3.5 srvctl disable ons

Oracle Notification Services (ONS)を無効にします。

4.5.3.5.1 構文およびオプション

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

srvctl disable ons [-verbose]

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

オプション 説明
-verbose

詳細出力。

4.5.3.6 srvctl disable service

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

4.5.3.6.1 構文およびオプション

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

srvctl disable service -db db_unique_name -service service_name_list 
  [-global_override

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

オプション 説明
-db db_unique_name

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

-service service_name_list

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

-global_override

サービスがグローバル・データ・サービス(GDS)のサービスである場合、サービスを無効にするときには、このオプションを指定する必要があります。

GDSサービスを無効にしようとしたときに、-global_overrideが含まれていない場合は、エラーが返されます。

サービスがGDSサービスでない場合、このオプションは無視されます。

詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

4.5.3.6.2

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

srvctl disable service -db dbcrm -service sales,mfg

4.5.4 downgrade

手動でデータベースをダウングレードした後に、srvctl downgradeコマンドでデータベース構成をダウングレードします。

4.5.4.1 srvctl downgrade database

srvctl downgrade databaseコマンドは、データベースとそのサービスの構成を現行バージョンから指定した下位バージョンにダウングレードします。

4.5.4.1.1 構文およびオプション

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

srvctl downgrade database -db db_unique_name -oraclehome oracle_home 
       -targetversion to_version

表4-22 srvctl downgrade databaseのオプション

オプション 説明
-db db_unique_name

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

-oraclehome oracle_home

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

-targetversion to_version

ダウングレード先のバージョン

4.5.5 enable

srvctl enableコマンドは、指定した無効なコンポーネントを再有効化します。

コンポーネントを有効にした場合:

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

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

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

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

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

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

関連項目:

disableコマンド

4.5.5.1 srvctl enable asm

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

4.5.5.1.1 構文およびオプション

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

srvctl enable asm

4.5.5.2 srvctl enable database

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

4.5.5.2.1 構文およびオプション

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

srvctl enable database -db db_unique_name

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

オプション 説明
-db db_unique_name

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

4.5.5.2.2

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

srvctl enable database -db dbcrm

4.5.5.3 srvctl enable diskgroup

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

4.5.5.3.1 構文およびオプション

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

srvctl enable diskgroup -diskgroup diskgroup_name

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

オプション 説明
-diskgroup diskgroup_name

ディスク・グループ名。

4.5.5.3.2

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

srvctl enable diskgroup -diskgroup DATA

4.5.5.4 srvctl enable listener

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

4.5.5.4.1 構文およびオプション

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

srvctl enable listener [-listener listener_name]

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

オプション 説明
-listener listener_name

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

4.5.5.4.2

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

srvctl enable listener -listener crmlistener

4.5.5.5 srvctl enable ons

Oracle Notification Services (ONS)を有効にします。

4.5.5.5.1 構文およびオプション

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

srvctl enable ons [-verbose]

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

オプション 説明
-verbose

詳細出力。

4.5.5.6 srvctl enable service

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

4.5.5.6.1 構文およびオプション

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

srvctl enable service -db db_unique_name -service service_name_list 
  [-global_override]

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

オプション 説明
-db db_unique_name

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

-service service_name_list

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

-global_override

サービスがグローバル・データ・サービス(GDS)のサービスである場合、サービスを有効にするときには、このオプションを指定する必要があります。

GDSサービスを有効にしようとしたときに、-global_overrideが含まれていない場合は、エラーが返されます。

サービスがGDSサービスでない場合、このオプションは無視されます。

詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

4.5.5.6.2

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

srvctl enable service -db dbcrm -service "sales,mfg"

4.5.6 getenv

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

4.5.6.1 srvctl getenv asm

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

4.5.6.1.1 構文およびオプション

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

srvctl getenv asm [-envs name_list]

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

オプション 説明
-envs name_list

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

4.5.6.1.2

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

srvctl getenv asm

4.5.6.2 srvctl getenv database

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

4.5.6.2.1 構文およびオプション

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

srvctl getenv database -db db_unique_name [-envs name_list]

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

オプション 説明
-db db_unique_name

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

-envs name_list

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

4.5.6.2.2

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

srvctl getenv database -db dbcrm

4.5.6.3 srvctl getenv listener

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

4.5.6.3.1 構文およびオプション

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

srvctl getenv listener [-listener listener_name] [-envs name_list]

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

オプション 説明
-listener listener_name

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

-envs name_list

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

4.5.6.3.2

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

srvctl getenv listener -listener crmlistener

4.5.7 modify

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

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

4.5.7.1 srvctl modify asm

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

4.5.7.1.1 構文およびオプション

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

srvctl modify asm [-listener listener_name] [-spfile spfile] 
  [-pwfile password_file_path] [-diskstring asm_diskstring]

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

オプション 説明
-listener listener_name

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

-spfile spfile

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

-pwfile password_file_path

Oracle ASMパスワード・ファイルのフルパス。

-diskstring asm_diskstring

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

4.5.7.1.2

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

srvctl modify asm -listener crmlistener

関連項目:

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

4.5.7.2 srvctl modify database

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

4.5.7.2.1 構文およびオプション

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

srvctl modify database -db db_unique_name [-oraclehome oracle_home] 
  [-user oracle_user] [-domain domain_name] [-dbname db_name] 
  [-instance instance_name] [-instance instance_name] [-spfile spfile] 
  [-pwfile password_file_path] [-startoption start_options] 
  [-stopoption stop_options] 
  [-role {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}] 
  [-policy {AUTOMATIC | MANUAL | NORESTART}] 
  [{-diskgroup "diskgroup_list" | -nodiskgroup}] [-force]

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

オプション 説明
-db db_unique_name

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

-user oracle_user

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

-diskgroup disk_group_list

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

-nodiskgroup

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

-force

一部のリソースが停止されている場合にも、操作を強制します。

(他のオプション)

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

4.5.7.2.2

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

srvctl modify database -db dbcrm -role logical_standby

関連項目:

4.5.7.3 srvctl modify listener

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

4.5.7.3.1 構文およびオプション

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

srvctl modify listener [-listener listener_name] [-endpoints endpoints] 
  [-oraclehome oracle_home]

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

オプション 説明
-listener listener_name

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

-endpoints endpoints

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

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

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

4.5.7.3.2

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

srvctl modify listener -listener crmlistener -endpoints TCP:1522

4.5.7.4 srvctl modify ons

Oracle Notification Services (ONS)を変更します。

4.5.7.4.1 構文およびオプション

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

srvctl modify ons [-emport em_port] [-onslocalport ons_local_port] 
  [-onsremoteport ons_remote_port] [-remoteservers host[:port],[host[:port]...]] 
  [-verbose]

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

オプション 説明
-emport em_port

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

-onslocalport ons_local_port

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

-onsremoteport ons_remote_port

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

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

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

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

-verbose

詳細出力。

4.5.7.5 srvctl modify service

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

注意:

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

4.5.7.5.1 構文およびオプション

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

srvctl modify service -db db_unique_name -service service_name
  [-role [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]]
  [-policy {AUTOMATIC | MANUAL}] 
  [-failovertype {NONE | SESSION | SELECT | TRANSACTION}] 
  [-failovermethod {NONE | BASIC}] [-failoverdelay integer] 
  [-failoverretry integer] [-clbgoal {SHORT | LONG}]
  [-rlbgoal {SERVICE_TIME | THROUGHPUT | NONE}] [-notification {TRUE | FALSE}] 
  [-edition edition_name] [-pdb pluggable_database] 
  [-sql_translation_profile sql_translation_profile] 
  [-commit_outcome {TRUE | FALSE}] [-retention retention] 
  [-replay_init_time replay_init_time] [-session_state {STATIC | DYNAMIC}] 
  [-global_override] [-verbose]

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

オプション 説明
-db db_unique_name

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

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

-service service_name

サービス名。

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

サービス・ロールのリスト。

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

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

-policy {AUTOMATIC | MANUAL}

サービスの管理ポリシー。

AUTOMATIC(デフォルト)の場合、サービスは計画された再起動(SRVCTLを使用)または障害の後、データベースの再起動時に自動的に起動されます。ただし、自動再起動はサービス・ロールの影響も受けます(-roleオプション)。

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

-failovertype {NONE |SESSION | SELECT | TRANSACTION}

Javaのアプリケーション・コンティニュイティを有効にするには、TRANSACTIONを使用します。フェイルオーバー・タイプがTRANSACTIONの場合は、-commit_outcomeオプションをTRUEに設定する必要があります。

OCIで透過的アプリケーション・フェイルオーバー(TAF)を有効にするには、SELECTまたはSESSIONを使用します。

-failovermethod {NONE | BASIC}

下位互換性のみのためのTAFフェイルオーバー方法。

フェイルオーバー・タイプ(-failovertype)にNONE以外の値を設定する場合は、このオプションにBASICを使用します。

-failoverdelay integer

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

-failoverretry integer

アプリケーション・コンティニュイティおよびTAFでの、インシデント後の接続試行回数。

-clbgoal {SHORT | LONG}

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

ランタイム・ロード・バランシングの場合は、SHORTを使用します。

バッチ・ジョブなどの長時間実行される接続の場合は、LONGを使用します。

-rlbgoal {SERVICE_TIME | THROUGHPUT | NONE}

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

レスポンス時間によって接続を均衡化するには、SERVICE_TIMEを使用します。

スループットによって接続を均衡化するには、THROUGHPUTを使用します。

-notification {TRUE | FALSE}

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

-edition edition_name

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

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

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

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

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

-pdb pluggable_database

CDBで、サービスと関連付けるPDBの名前。

このオプションを空の文字列に設定した場合、サービスはルートに関連付けられます。

-sql_translation_profile sql_translation_profile

Oracle以外のデータベースからOracle Databaseにアプリケーションを移行した後に追加するサービスのSQLトランザクション・プロファイル。

注意: SQLトランザクション・フレームワークを使用する前に、すべてのサーバー側のアプリケーション・オブジェクトとデータをOracle Databaseに移行する必要があります。

関連項目: SQLトランザクション・プロファイルの使用の詳細は、『Oracle Database移行ガイド』を参照してください。

-commit_outcome {TRUE | FALSE}

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

FALSE(デフォルト)の場合、トランザクションのコミット結果は保持されません。

このオプションをTRUEに設定すると、トランザクションのコミット結果は永続的になり、アプリケーションでは停止後のトランザクションのコミット・ステータスを確認できます。ユーザー定義サービスの場合、commit_outcomeTRUEに設定できます。

commit_outcome設定は、Oracle Active Data Guardおよび読取り専用データベースには影響を与えません。

関連項目: 詳細は、『Oracle Database開発ガイド』を参照してください。

-retention retention

commit_outcomeTRUEに設定されている場合、コミット結果が保持される時間(秒)をこのオプションで決定します。デフォルト値は24時間(86400)です。

commit_outcomeFALSEに設定されている場合、このオプションは設定できません。

-replay_init_time replay_init_time

アプリケーション・コンティニュイティについて、このオプションで、要求の最初の操作を実行する時間と、再接続の成功後にリプレイを開始する準備が完了する時間の差異(秒)を指定します。アプリケーション・コンティニュイティでは指定した時間が経過するまでリプレイされません。このオプションは、長い時間が経過した後にシステムがリカバリされたときに、トランザクションが意図せず実行されることを回避するためのものです。デフォルトは5分(300)です。最大値は24時間(86400)です。

FAILOVER_TYPETRANSACTIONに設定されていない場合、このオプションは使用されません。

-session_state {STATIC | DYNAMIC}

アプリケーション・コンティニュイティについて、このオプションでアプリケーションがセッション状態を静的または動的に変更するかどうかを指定します。このオプションは、-failovertypeTRANSACTIONに設定されている場合に使用されます。

この設定では、トランザクションでないセッション状態がアプリケーションで変更される方法を示します。セッション状態の例として、NLS設定、オプティマイザのプリファレンス、イベント設定、PL/SQLグローバル変数、一時表、アドバンスト・キュー、LOBおよび結果キャッシュをあげることができます。

STATICに設定すると、NLS設定やオプティマイザのプリファレンスなどの、すべてのセッション状態の設定が、要求ごとに1回、接続初期化の一部として設定されます。このセッション状態は要求内で変更されません。この設定は、セッション状態を変更しないデータベース診断アプリケーションのためにのみ使用されます。コールバックによって再確立できない要求内に非トランザクションの状態変更がある場合、STATICモードに設定しないでください。不明な場合は、DYNAMICモードを使用してください。

DYNAMIC(デフォルト)に設定すると、アプリケーションの実行中にセッション状態が変更されます。実行時に変化する状態変更の例として、PL/SQL変数、一時表の内容、LOB処理および結果キャッシュ処理をあげることができます。アプリケーションがデータベースでPL/SQL、SYS_CONTEXT、Javaを使用する場合は、このオプションをDYNAMICに設定します。

-global_override

サービスがグローバル・データ・サービス(GDS)のサービスである場合、次のいずれかのサービス属性を変更するときには、このオプションを指定する必要があります。

  • -role

  • -policy

  • -failovertype

  • -failovermethod

  • -failoverdelay

  • -failoverretry

  • -edition

  • -clbgoal

  • -rlbgoal

  • -notification

GDSサービスの、これらのいずれかのオプションを変更しようとしたときに、-global_overrideが含まれていない場合は、エラーが返されます。

サービスがGDSサービスでない場合、このオプションは無視されます。

詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

-verbose

詳細出力。

4.5.7.5.2

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

srvctl modify service -db dbcrm -service support -role standby

4.5.8 remove

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

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

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

関連項目:

4.5.8.1 srvctl remove asm

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

4.5.8.1.1 構文およびオプション

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

srvctl remove asm [-force]

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

オプション 説明
-force

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

4.5.8.1.2

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

srvctl remove asm

4.5.8.2 srvctl remove database

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

4.5.8.2.1 構文およびオプション

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

注意:

SYSユーザーのパスワードを使用してSYSユーザーとしてデータベースに接続する場合は、このコマンドを実行した後に、パスワード・ファイルがデフォルトの場所にあることを確認します。
srvctl remove database -db db_unique_name [-force] [-noprompt] [-verbose]

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

オプション 説明
-db db_unique_name

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

-force

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

-noprompt

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

-verbose

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

4.5.8.2.2

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

srvctl remove database -db dbcrm

4.5.8.3 srvctl remove diskgroup

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

4.5.8.3.1 構文およびオプション

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

srvctl remove diskgroup -diskgroup diskgroup_name [-force]

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

オプション 説明
-diskgroup diskgroup_name

ディスク・グループ名。

-force

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

4.5.8.3.2

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

srvctl remove diskgroup -diskgroup DATA

4.5.8.4 srvctl remove listener

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

4.5.8.4.1 構文およびオプション

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

srvctl remove listener [-listener listener_name | -all] [-force]

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

オプション 説明
-listener listener_name

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

-all

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

-force

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

4.5.8.4.2

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

srvctl remove listener -listener lsnr01

4.5.8.5 srvctl remove ons

Oracle Notification Services (ONS)を削除します。

4.5.8.5.1 構文およびオプション

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

srvctl remove ons [-force] [-verbose]

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

オプション 説明
-force

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

-verbose

詳細出力。

4.5.8.6 srvctl remove service

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

4.5.8.6.1 構文およびオプション

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

srvctl remove service -db db_unique_name -service service_name [-global_override] 

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

オプション 説明
-db db_unique_name

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

-service service_name

サービス名。

-global_override

サービスがグローバル・データ・サービス(GDS)のサービスである場合、サービスを削除するときには、このオプションを指定する必要があります。

GDSサービスを削除しようとしたときに、-global_overrideが含まれていない場合は、エラーが返されます。

サービスがGDSサービスでない場合、このオプションは無視されます。

詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

4.5.8.6.2

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

srvctl remove service -db dbcrm -service sales

4.5.9 setenv

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

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

4.5.9.1 srvctl setenv asm

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

4.5.9.1.1 構文およびオプション

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

srvctl setenv asm {-envs name=val[,name=val,...] | -env name=val}

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

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

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

-env name=val

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

4.5.9.1.2

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

srvctl setenv asm -envs AIXTHREAD_SCOPE=S

4.5.9.2 srvctl setenv database

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

4.5.9.2.1 構文およびオプション

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

srvctl setenv database -db db_unique_name 
  {-envs name=val[,name=val,...] | -env name=val}

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

オプション 説明
-db db_unique_name

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

-envs name=val[,name=val,...]

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

-env name=val

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

4.5.9.2.2

次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースの構成にLANG環境変数を設定します。

srvctl setenv database -db dbcrm -envs LANG=en

4.5.9.3 srvctl setenv listener

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

4.5.9.3.1 構文およびオプション

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

srvctl setenv listener [-listener listener_name] 
  {-envs name=val[,name=val,...] | -env name=val}

表4-44 srvctl setenv listenerのオプション

オプション 説明
-listener listener_name

リスナー名。省略すると、すべてのリスナー構成に指定した環境変数が設定されます。

-envs name=val[,name=val,...]

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

-env name=val

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

4.5.9.3.2

次の例では、AIXオペレーティング・システムの環境変数AIXTHREAD_SCOPEcrmlistenerというリスナーの構成に設定します。

srvctl setenv listener -listener crmlistener -envs AIXTHREAD_SCOPE=S

4.5.10 start

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

4.5.10.1 srvctl start asm

Oracle ASMインスタンスを起動します。

このコマンドでは、SRVCTLは"/ as sysasm"で接続して操作を実行します。このような操作を実行するには、Oracle Gridインフラストラクチャ・ホームの実行可能ファイルの所有者がOSASMグループのメンバーであることが必要です。また、コマンドを実行するユーザーもOSASMグループに属する必要があります。

4.5.10.1.1 構文およびオプション

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

srvctl start asm [-startoption start_options]

表4-45 srvctl start asmのオプション

オプション 説明
-startoption start_options

起動コマンドのオプションのカンマ区切りのリスト(OPENMOUNTNOMOUNTまたはFORCE)。省略すると、デフォルトで通常の起動(OPEN)に設定されます。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

4.5.10.1.2

この例では、Oracle ASMインスタンスを起動します。その後、ASM_DISKGROUPS初期化パラメータで指定されたディスク・グループをマウントします。

srvctl start asm

この例では、ディスク・グループをマウントせずにOracle ASMインスタンスを起動します。

srvctl start asm -startoption nomount

4.5.10.2 srvctl start database

指定したデータベース・インスタンスを起動します。

このコマンドでは、SRVCTLは"/ as sysdba"で接続して操作を実行します。このような操作を実行するには、データベースOracleホームのOracle実行可能ファイルの所有者がOSDBAグループ(たとえば、UNIXおよびLinuxのdbaグループ)のメンバーであることが必要です。また、コマンドを実行するユーザーもOSDBAグループに属する必要があります。

4.5.10.2.1 構文およびオプション

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

srvctl start database -db db_unique_name [-startoption start_options] [-verbose]

表4-46 srvctl start databaseのオプション

オプション 説明
-db db_unique_name

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

-startoption start_options

起動コマンドのオプションのカンマ区切りのリスト(たとえば、OPENMOUNTNOMOUNTRESTRICTなど)。

注意:

  • このコマンド・パラメータではPFILEオプションまたはQUIETオプションをサポートしていませんが、他のすべてのデータベース起動オプションをサポートしています。

  • 起動オプションに複数の語を指定する場合(read onlyread writeなど)、語をスペースで区切り、一重引用符('')で囲みます。たとえば'read only'とします。

    関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-verbose

詳細出力。

4.5.10.2.2

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

srvctl start database -db dbcrm -startoption nomount

4.5.10.3 srvctl start diskgroup

Oracle ASMディスク・グループを起動(マウント)します。

4.5.10.3.1 構文およびオプション

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

srvctl start diskgroup -diskgroup diskgroup_name

表4-47 srvctl start diskgroupのオプション

オプション 説明
-diskgroup diskgroup_name

ディスク・グループ名。

4.5.10.3.2

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

srvctl start diskgroup -diskgroup DATA

4.5.10.4 srvctl start home

Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で起動します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。

このコマンドではsrvctl stop homeによって停止されたコンポーネントを起動します。このコマンドでは指定した状態ファイルの情報を使用して、起動するコンポーネントを特定します。

注意:

このコマンドは、Oracleホームにパッチをインストールした後にコンポーネントを再起動するときに使用します。

4.5.10.4.1 構文およびオプション

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

srvctl start home -oraclehome oracle_home -statefile state_file

表4-48 srvctl start homeのオプション

オプション 説明
-oraclehome oracle_home

Oracleホームの完全なパス。

-statefile state_file

状態ファイルの完全なパス。状態ファイルにはOracleホームにあるコンポーネントの現在の状態情報が入ります。srvctl stop homeコマンドまたはsrvctl status homeコマンドが実行されると、このファイルが作成されます。

4.5.10.5 srvctl start listener

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

4.5.10.5.1 構文およびオプション

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

srvctl start listener [-listener listener_name]

表4-49 srvctl start listenerのオプション

オプション 説明
-listener listener_name

リスナー名。省略すると、Oracle Restartで管理されているすべてのリスナーが起動されます。

4.5.10.5.2

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

srvctl start listener -listener listener

4.5.10.6 srvctl start ons

Oracle Notification Services (ONS)を起動します。

4.5.10.6.1 構文およびオプション

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

srvctl start ons [-verbose]

表4-50 srvctl start onsのオプション

オプション 説明
-verbose

詳細出力。

4.5.10.7 srvctl start service

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

4.5.10.7.1 構文およびオプション

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

srvctl start service -db db_unique_name [-service service_name_list] 
  [-startoption start_options] [-global_override] [-verbose]

表4-51 srvctl start serviceのオプション

オプション 説明
-db db_unique_name

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

-service service_name_list

サービス名のカンマ区切りリスト。このサービス名リストはオプションであり、指定しないと、SRVCTLでデータベースのサービスがすべて起動されます。

-startoption start_options

データベースを最初に起動する必要がある場合、データベースの起動オプション(OPENMOUNTNOMOUNTなど)。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-global_override

サービスがグローバル・データ・サービス(GDS)のサービスである場合、サービスを起動するときには、このオプションを指定する必要があります。

GDSサービスを起動しようとしたときに、-global_overrideが含まれていない場合は、エラーが返されます。

サービスがGDSサービスでない場合、このオプションは無視されます。

詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

-verbose

詳細出力。

4.5.10.7.2

次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのsalesデータベース・サービスを起動します。

srvctl start service -db dbcrm -service sales

4.5.11 status

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

4.5.11.1 srvctl status asm

Oracle ASMインスタンスの実行ステータスを表示します。

4.5.11.1.1 構文およびオプション

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

srvctl status asm [-all] [-verbose]

表4-52 srvctl status asmのオプション

オプション 説明
-all

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

-verbose

詳細出力。

4.5.11.1.2

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

srvctl status asm

ASM is running on dbhost

4.5.11.2 srvctl status database

指定したデータベースの実行ステータスを表示します。

4.5.11.2.1 構文およびオプション

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

srvctl status database -db db_unique_name [-force] [-verbose]

表4-53 srvctl status databaseのオプション

オプション 説明
-db db_unique_name

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

-force

データベースが無効な場合、メッセージを表示します。

-verbose

詳細出力。実行中のデータベース・サービスを一覧表示します。

4.5.11.2.2

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

srvctl status database -db dbcrm -verbose

Database dbcrm is running with online services mfg,sales

4.5.11.3 srvctl status diskgroup

Oracle ASMディスク・グループの実行ステータスを表示します。

4.5.11.3.1 構文およびオプション

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

srvctl status diskgroup -diskgroup diskgroup_name [-all] [-verbose]

表4-54 srvctl status diskgroupのオプション

オプション 説明
-diskgroup diskgroup_name

ディスク・グループ名。

-all

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

-verbose

詳細出力。実行中のデータベース・サービスを一覧表示します。

4.5.11.3.2

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

srvctl status diskgroup -diskgroup DATA

Disk Group DATA is running on dbhost

4.5.11.4 srvctl status home

Oracle Restartで管理されているすべてのコンポーネントの実行ステータスを、指定したOracleホーム内で表示します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。

このコマンドではコンポーネントの現在のステータスを指定した状態ファイルに書き込みます。

4.5.11.4.1 構文およびオプション

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

srvctl status home -oraclehome oracle_home -statefile state_file

表4-55 srvctl status homeのオプション

オプション 説明
-oraclehome oracle_home

Oracleホームの完全なパス。

-statefile state_file

状態ファイルの完全なパス。

4.5.11.5 srvctl status listener

指定したリスナーまたはOracle Restartで管理されているすべてのリスナーの実行ステータスを表示します。

4.5.11.5.1 構文およびオプション

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

srvctl status listener [-listener listener_name] [-verbose]

表4-56 srvctl status listenerのオプション

オプション 説明
-listener listener_name

リスナー名。省略すると、すべてのリスナーのステータスが表示されます。

-verbose

詳細出力。実行中のデータベース・サービスを一覧表示します。

4.5.11.5.2

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

srvctl status listener -listener crmlistener

Listener CRMLISTENER is running on dbhost

4.5.11.6 srvctl status ons

Oracle Notification Services (ONS)の実行ステータスを表示します。

4.5.11.6.1 構文およびオプション

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

srvctl status ons [-verbose]

表4-57 srvctl status onsのオプション

オプション 説明
-verbose

詳細出力。実行中のデータベース・サービスを一覧表示します。

4.5.11.7 srvctl status service

1つ以上のデータベース・サービスの実行ステータスを表示します。

4.5.11.7.1 構文およびオプション

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

srvctl status service -db db_unique_name [-service service_name_list] [-force] 
  [-verbose]

表4-58 srvctl status serviceのオプション

オプション 説明
-db db_unique_name

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

-service service_name_list

サービス名のカンマ区切りリスト。省略すると、指定されたデータベースの全データベース・サービスのステータスが一覧表示されます。

-force

サービスが無効な場合、メッセージを表示します。

-verbose

詳細出力。

4.5.11.7.2

次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのサービスsalesの実行のステータスを表示します。

srvctl status service -db dbcrm -service sales

Service sales is running on dbhost

4.5.12 stop

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

srvctl stopコマンドを発行した後にコンポーネントを停止状態のままにする場合、コンポーネントを無効にします。disableコマンドを参照してください。

注意:

コンポーネントを停止しても無効にしていない場合は、計画された別の操作の結果として再起動されることがあります。つまり、停止されたコンポーネントは障害の結果として再起動されることはありませんが、srvctl startコマンドで依存コンポーネントが起動されると、起動されることがあります。

4.5.12.1 srvctl stop asm

Oracle ASMインスタンスを停止します。

4.5.12.1.1 構文およびオプション

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

srvctl stop asm [-stopoption stop_options] [-force]

表4-59 srvctl stop asmのオプション

オプション 説明
-stopoption stop_options

停止操作のオプション(NORMALTRANSACTIONALIMMEDIATEABORTなど)。

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-force

強制。ディスク・グループが現在起動済(マウント済)の場合は、指定しておく必要があります。このオプションを指定すると、Oracle ASMを停止する前に、SRVCTLがディスク・グループを停止できるようになります。依存関係にある各データベース・インスタンスも停止オプションに従って停止されますが、構成されている停止オプションが失敗した場合は、ABORTオプションで停止されます。

4.5.12.1.2

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

srvctl stop asm -stopoption abort -force

4.5.12.2 srvctl stop database

データベースおよびそのサービスを停止します。

4.5.12.2.1 構文およびオプション

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

srvctl stop database -db db_unique_name [-stopoption stop_options] [-force] 
  [-verbose]

表4-60 srvctl stop databaseのオプション

オプション 説明
-db db_unique_name

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

-stopoption stop_options

SHUTDOWNコマンド・オプション(NORMALTRANSACTIONALIMMEDIATEABORTなど)。デフォルトはIMMEDIATEです。

-force

データベース、そのサービス、およびサービスに依存するリソースを停止します。

-verbose

詳細出力。

4.5.12.2.2

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

srvctl stop database -db dbcrm

4.5.12.3 srvctl stop diskgroup

Oracle ASMディスク・グループを停止(ディスマウント)します。

4.5.12.3.1 構文およびオプション

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

srvctl stop diskgroup -diskgroup diskgroup_name [-force]

表4-61 srvctl stop diskgroupのオプション

オプション 説明
-diskgroup diskgroup_name

ディスク・グループ名。

-force

強制。ディスク・グループの一部のファイルが開いている場合でも、ディスク・グループをディスマウントします。

4.5.12.3.2

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

srvctl stop diskgroup -diskgroup DATA

4.5.12.4 srvctl stop home

Oracle Restartで管理されているすべてのコンポーネントを、指定したOracleホーム内で停止します。OracleホームはOracle DatabaseホームまたはOracle Gridインフラストラクチャ・ホームです。

このコマンドでは指定した状態ファイルで停止したコンポーネントを特定します。

注意:

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

  • このコマンドは、Oracleホームにパッチをインストールする前にコンポーネントを停止するときに使用します。

4.5.12.4.1 構文およびオプション

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

srvctl stop home -oraclehome oracle_home -statefile state_file 
  [-stopoption stop_options] [-force]

表4-62 srvctl stop homeのオプション

オプション 説明
-oraclehome oracle_home

Oracleホームの完全なパス。

-statefile state_file

状態ファイルに書き込む完全なパス。

-stopoption stop_options

データベースのSHUTDOWNコマンド・オプション(NORMALTRANSACTIONALIMMEDIATEABORTなど)。デフォルトはIMMEDIATEです。

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-force

強制的に各コンポーネントを停止します。

4.5.12.5 srvctl stop listener

指定したリスナーまたはOracle Restartで管理されているすべてのリスナーを停止します。リスナーを停止しても、リスナーに登録されたデータベースは停止されません。

4.5.12.5.1 構文およびオプション

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

srvctl stop listener [-listener listener_name] [-force]

表4-63 srvctl stop listenerのオプション

オプション 説明
-listener listener_name

リスナー名。省略すると、Oracle Restartで管理されているすべてのリスナーが停止されます。

-force

強制。-fオプションを指定したstopコマンドをOracle Clusterwareに渡します。Oracle Clusterwareの-fオプションの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

4.5.12.5.2

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

srvctl stop listener -listener crmlistener

4.5.12.6 srvctl stop ons

Oracle Notification Services (ONS)を停止します。

4.5.12.6.1 構文およびオプション

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

srvctl stop ons [-verbose]

表4-64 srvctl stop onsのオプション

オプション 説明
-verbose

詳細出力。

4.5.12.7 srvctl stop service

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

4.5.12.7.1 構文およびオプション

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

srvctl stop service -db db_unique_name [-service service_name_list] 
  [-global_override] [-force] [-verbose]

表4-65 srvctl stop serviceのオプション

オプション 説明
-db db_unique_name

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

-service service_name_list

データベース・サービス名のカンマ区切りのリスト。サービス名リストを指定しない場合、SRVCTLによって、データベースのすべてのサービスが停止されます。

-global_override

サービスがグローバル・データ・サービス(GDS)のサービスである場合、サービスを停止するときには、このオプションを指定する必要があります。

GDSサービスを停止しようとしたときに、-global_overrideが含まれていない場合は、エラーが返されます。

サービスがGDSサービスでない場合、このオプションは無視されます。

詳細は、Oracle Database Global Data Services概要および管理ガイドを参照してください。

-force

強制。このオプションでは、停止したすべてのサービスのセッションが即座に切断されます。コミットされていないトランザクションはロールバックされます。このオプションを指定しないと、アクティブなセッションはサービスに接続されたままになりますが、それ以上サービスには接続できなくなります。

-verbose

詳細出力。

4.5.12.7.2

次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのsalesデータベース・サービスを停止します。

srvctl stop service -db dbcrm -service sales

4.5.13 unsetenv

unsetenvコマンドでは、データベース、リスナーまたはOracle ASMインスタンスのOracle Restart構成から1つ以上の環境変数を削除します。

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

4.5.13.1 srvctl unsetenv asm

Oracle ASMインスタンスのOracle Restart構成から指定した環境変数を削除します。

4.5.13.1.1 構文およびオプション

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

srvctl unsetenv asm -envs name_list

表4-66 srvctl unsetenv asmのオプション

オプション 説明
-envs name_list

削除する環境変数のカンマ区切りのリスト

4.5.13.1.2

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

srvctl unsetenv asm -envs AIXTHREAD_SCOPE

4.5.13.2 srvctl unsetenv database

指定したデータベースのOracle Restart構成から指定した環境変数を削除します。

4.5.13.2.1 構文およびオプション

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

srvctl unsetenv database -db db_unique_name -envs name_list

表4-67 srvctl unsetenv databaseのオプション

オプション 説明
-db db_unique_name

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

-envs name_list

削除する環境変数のカンマ区切りのリスト

4.5.13.2.2

次の例では、DB_UNIQUE_NAMEdbcrmであるデータベースのOracle Restart構成からAIXTHREAD_SCOPE環境変数を削除します。

srvctl unsetenv database -db dbcrm -envs AIXTHREAD_SCOPE

4.5.13.3 srvctl unsetenv listener

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

4.5.13.3.1 構文およびオプション

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

srvctl unsetenv listener [-listener listener_name] -envs name_list

表4-68 srvctl unsetenv listenerのオプション

オプション 説明
-listener listener_name

リスナー名。省略すると、すべてのリスナーの構成から指定した環境変数が削除されます。

-envs name_list

削除する環境変数のカンマ区切りのリスト

4.5.13.3.2

次の例では、crmlistenerというリスナーのリスナー構成からAIXオペレーティング・システムの環境変数AIXTHREAD_SCOPEを削除します。

srvctl unsetenv listener -listener crmlistener -envs AIXTHREAD_SCOPE

4.5.14 update

srvctl updateコマンドは、実行中のデータベースを更新して指定の起動オプションに切り替えます。

4.5.14.1 srvctl update database

srvctl update databaseコマンドは、データベースのオープン・モードを変更します。

4.5.14.1.1 構文およびオプション

srvctl update databaseコマンドは、次のように使用します。

srvctl update database -db db_unique_name --startoption start_options

表4-69 srvctl upgrade databaseのオプション

オプション 説明
-db db_unique_name

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

-startoption start_options

データベースの起動オプション。起動オプションには、OPENMOUNTREAD ONLYなどがあります。

4.5.15 upgrade

srvctl upgradeコマンドは、リソース・タイプとリソースを古いバージョンから新しいバージョンにアップグレードします。

4.5.15.1 srvctl upgrade database

srvctl upgrade databaseコマンドは、このコマンドの実行元であるデータベース・ホームのバージョンに、データベースの構成とそのすべてのサービスをアップグレードします。

4.5.15.1.1 構文およびオプション

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

srvctl upgrade database -db db_unique_name -oraclehome oracle_home

表4-70 srvctl upgrade databaseのオプション

パラメータ 説明
-db db_unique_name

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

-oraclehome oracle_home

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

4.6 CRSCTLコマンド・リファレンス

Oracle Restartに関連のあるCRSCTLコマンドの構文の詳細を参照できます。

注意:

これらのCRSCTLコマンドを実行するには、rootユーザーであるか、またはOracle Gridインフラストラクチャの所有者である必要があります。

CRSCTLコマンド構文の概要

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

crsctl command has

commandstartstopenableなどの動詞です。hasオブジェクトはOracle高可用性サービスを示します。

大/小文字の区別

CRSCTLコマンドとコンポーネントでは大/小文字が区別されません。

4.6.1 check

Oracle Restartの状態を表示します。

構文およびオプション

crsctl check has

4.6.2 config

Oracle Restartの構成を表示します。

構文およびオプション

crsctl config has

4.6.3 disable

Oracle Restartの自動再起動を無効化します。

構文およびオプション

crsctl disable has

4.6.4 enable

Oracle Restartの自動再起動を有効化します。

構文およびオプション

crsctl enable has

4.6.5 start

Oracle Restartを起動します。

構文およびオプション

crsctl start has

4.6.6 stop

Oracle Restartを停止します。

構文およびオプション

crsctl stop has [-f]

表4-71 crsctl stop hasのオプション

オプション 説明
-f

強制。Oracle Restartで管理されるリソースがまだ実行中の場合は、それらのリソースを正常に停止しようとします。リソースを正常に停止できない場合は、リソースを強制的に停止しようとします。

たとえば、Oracle ASMインスタンスが実行中の場合、SHUTDOWN IMMEDIATEではOracle ASMインスタンスを正常に停止しようとしますが、SHUTDOWN ABORTではOracle ASMインスタンスを強制的に停止しようとします。

-fオプションが指定されていない場合、このコマンドはOracle Restartで管理されるリソースを正常に停止しようとしますが、強制的に停止しようとはしません。

注意:

データベース・リソースに対しては、-fオプションが指定されているかどうかにかかわらず、このコマンドは常にSHUTDOWN ABORTを使用します。