Automatic Storage Management

Reference
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19224-02/storeman.htm#312174

自動ストレージ管理の概要

自動ストレージ管理(ASM)は統合されたファイル・システムで、Oracleデータベース・ファイル用に作成されたボリューム・マネージャです。ASMを使用すると、

  • RAW I/Oのパフォーマンスが向上し、
  • ファイル・システムの管理が容易になります。
  • また、数千にもおよぶ可能性があるOracleデータベース・ファイルを直接管理する必要がなくなるため、データベース管理が簡素化されます。
  • ASMでは、使用可能なすべての記憶域をディスク・グループに分割できます。
  • ASMによってデータベース・ファイルがディスク・グループ内に自動的に配置されるため、管理する必要があるのは少数のディスク・グループになります。

ディスク・グループに関するファイル位置は、表領域、制御ファイル、REDOログとアーカイブ・ログ・ファイルなどのデータベース構造の作成に使用するSQL文で指定します。この指定に基づいて、ASMは、基礎となる関連ファイルを作成および管理します。

ミラー化およびストライプ化

ASMは、Oracle Managed Filesの機能を拡張します。Oracle Managed Filesを使用するとファイルを自動的に作成および管理できますが、ASMでは、ミラー化やストライプ化などの追加機能も利用できます。

ASMでは、ファイルを1MBのエクステントに分割し、各ファイルのエクステントをディスク・グループ内のすべてのディスク間に均等に分散します。これによってパフォーマンスとディスク使用率が最適化されるため、手動によるI/Oパフォーマンスのチューニングは不要です。

ASMのミラー化ではファイルごとに冗長性レベルを指定できるため、オペレーティング・システムのミラー化したファイルよりも柔軟性があります。このため、2つのファイルが、1つはミラー化され、もう1つはミラー化されていない場合でも、同じディスク・グループを共有できます。ミラー化はエクステント・レベルで実行されます。ファイルに設定された冗長性レベルに応じてファイルがミラー化されると、各エクステントに1つ以上のミラー化コピーが配置され、そのミラー化コピーはディスク・グループ内の異なるディスク上に常に保持されます。表12-1に、ASMがファイルごとにサポートする3つのミラー化オプションを示します。

表 12-1 ASMのミラー化オプション

ミラー化オプション 説明
2方向ミラー化 1つのエクステントに1つのミラー化コピーがあります。
3方向ミラー化 1つのエクステントに2つのミラー化コピーがあります。
非保護 ASMでミラー化を実行しません。ディスク・サブシステムでミラー化が実行される場合に、このオプションを使用します。

動的な記憶域の構成

ASMを使用すると、データベースをオフライン化せずに記憶域の構成を変更できます。ディスク・グループに対してディスクを追加または削除すると、ASMは、再バランスを自動的に実行します。再バランスによって、ディスク・グループのすべてのディスク間にファイル・データが均等に再分散されます。

ディスク障害が発生すると、ASMは再バランスを自動的に実行し、障害が発生したディスクにエクステントがあるファイルの冗長性を完全にリストアします。障害が発生したディスクを新しいディスクに置換すると、ASMはディスク・グループを再バランスして、置換したディスクを含むすべてのディスク間にデータを均等に分散します。

既存のデータベースとの相互運用性

ASMを使用しても、既存のデータベース機能が不要になるわけではありません。ファイル・システムを使用した既存のデータベースやRAWデバイスに記憶域を持つ既存のデータベースは、従来どおり操作できます。既存のファイルはそれまでの方法で管理し、その一方で新しいファイルはASMファイルとして作成できます。したがって、データベースには、ASMファイルとそれ以外のファイルが混在することになります。

ASMインスタンス

ASMは、独自のシステム・グローバル領域(SGA)とバックグラウンド・プロセスを持つ特殊なOracleインスタンスとして実装されます。通常、ASMインスタンスのSGAはデータベース・インスタンスのSGAよりかなり小規模です。

単一インスタンスとクラスタ化された環境

ASMによって管理されるデータベース・ファイルを持つ各データベース・サーバーは、ASMインスタンスを実行している必要があります。単一のASMインスタンスは、スタンドアロン・サーバー上の1つ以上の単一インスタンス・データベースを処理できます。各ASMディスク・グループは、サーバー上のすべてのデータベース間で共有できます。

クラスタ化された環境では、各ノードでASMインスタンスが実行され、ASMインスタンスはpeer-to-peerベースで相互に通信します。これは、Real Application Clusters(RAC)環境でも同様です。また、複数のノード間で複数の単一インスタンス・データベースが、ASMで管理されているクラスタ化された記憶域プール1つを共有する、RAC以外のクラスタ化された環境でも同様です。ノードがReal Application Clusters(RAC)システムに属している場合は、常にpeer-to-peer通信サービスがそのサーバー上にインストールされます。RACがインストールされていないクラスタにノードが属する場合、そのノードにはOracleクラスタウェアであるCluster Ready Services(CRS)がインストールされている必要があります。

クラスタのノード上のASMインスタンスは、1つ以上のRACデータベース・インスタンスおよび1つ以上の単一インスタンス・データベースの記憶域を同時に管理できます。

自動ストレージ管理インスタンスの管理

自動ストレージ管理(ASM)インスタンスの管理はデータベース・インスタンスの管理に似ていますが、実行するタスクは少なくてすみます。ASMインスタンスでは、データベース・インスタンスを実行して管理する必要はありません。

すべてのASM管理タスクはSQL*Plusを使用して実行できます。

注意

SQL*Plusを使用してASMを管理するには、SQL*Plusを起動する前に、環境変数ORACLE_SIDをASM SIDに設定する必要があります。ASMとデータベースのOracleホームが異なる場合、環境変数ORACLE_HOMEは、ASMのOracleホームを指し示すように設定する必要があります。プラットフォームによっては、他の環境変数の変更も必要になる場合があります。 詳細は、「環境変数を使用したインスタンスの選択」を参照してください。

単一インスタンス・データベースのデフォルトASM SIDは+ASMで、Real Application Clustersノード上のASMのデフォルトSIDは+ASMnode#です。

Oracle Enterprise Manager(EM)またはデータベース・コンフィギュレーション・アシスタント(DBCA)を使用して、ディスク・グループを構成および変更することもできます。DBCAを使用するとデータベースを容易に構成および作成できます。一方、EMを使用すると、統合されたグラフィカルな方法でASMインスタンスとデータベース・インスタンスの両方を管理できます。 EMを使用してASMインスタンスを管理する方法については、『Oracle Database 2日でデータベース管理者』の付録Aを参照してください。

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

ASMのインストール

ASMはデータベース・サーバーに統合されているため、Oracle Universal Installer(OUI)およびデータベース・コンフィギュレーション・アシスタント(DBCA)を使用してASMをインストールし、初期の構成を行います。OUIには、ASMを使用して記憶域管理を行うようにデータベースをインストールして構成するか、またはデータベース・インスタンスを作成せずに ASMインスタンスのみをインストールして構成するかを選択するオプションがあります。 ASMをインストールする手順の詳細は、使用しているオペレーティング・システムの『Oracle Databaseインストレーション・ガイド』を参照してください。

ASMのインストールに関するヒント

ASMをインストールする際は、次の事項に注意してください。

* 単一のサーバーまたはノード上で複数のデータベース・インスタンスを実行する場合は、そのサーバーまたはノード上の独自のOracleホームにASMをインストールすることをお薦めします。これは、現在は1つのデータベース・インスタンスのみを実行しており、将来、1つ以上のデータベース・インスタンスをサーバーまたはノードに追加する予定がある場合も同様です。

別々のOracleホームを使用すると、ASMとデータベースを個別にアップグレードしたりパッチを適用でき、ASMインスタンスに影響を与えずにデータベース・ソフトウェアをアンインストールできます。

ASMインスタンスがまだ存在せず、ASMのみをインストールおよび構成するOUIオプションを選択した場合、OUIは独自のOracleホームにASMをインストールします。
* 1つのデータベース・インスタンスをサーバーまたはノード上で実行し、今後はデータベース・インスタンスをこのサーバーまたはノードに追加する予定がない場合、ASMとデータベースは1つのOracleホームを共有できます。

ASMインスタンスがまだ存在せず、ASMを使用して記憶域管理を行うようにデータベースを作成するOUIオプションを選択した場合、OUIは1つのOracleホームを共有する構成を作成します。
* 単一インスタンスの構成にASMをインストールする場合、DBCAは別個にASMインスタンス用のサーバー・パラメータ・ファイル(SPFILE)とパスワード・ファイルを作成します。

* ASMのOracleホームがすべてのノード間で共有されるクラスタ化された環境にASMをインストールする場合、DBCAはASMのSPFILEを作成します。ASMのOracle ホームを共有しないクラスタ化された環境では、DBCAは各ノードにASMのテキスト形式の初期化パラメータ・ファイル(PFILE)をインストールします。

* ASMをインストールする前に、ASMサポートのライブラリASMLibをインストールできます。ASMLibは、オペレーティング・システムとデータベース間のインタフェースを容易にし、ベンダーのストレージ・アレイの機能と長所を利用するために、Oracleが開発したApplication Program Interface(API)です。ASMへのオプションのアドオンであるASMLibは、ASM対応カーネルがブロック・デバイスを検出してアクセスするための代替インタフェースを提供することを目的にしています。さらに、ストレージ・ベンダーおよびオペレーティング・システム・ベンダーに、記憶域関連の拡張機能を提供します。この機能によって、パフォーマンスの改善、データ整合性の向上などの利点が得られます。

ASMLibの詳細は、Oracle Technology NetworkのWebサイトhttp://www.oracle.com/technology/products/database/asmでASMに関するページを参照してください。Linux用のASMLibは、http://www.oracle.com/technology/tech/linux/asmlibからダウンロードしてください。

ASMインスタンスへのアクセス認証

ASMのセキュリティは、特定のASMインスタンスが同じサーバー上で操作中の 1つ以上のデータベース・インスタンスと緊密にバインドされているという事実に基づいて考慮されます。実質上、ASMインスタンスはデータベース・インスタンスの論理的な拡張です。ASMインスタンスとデータベース・インスタンスには、ディスク・グループのメンバー・ディスクに対する同等のオペレーティング・システム・アクセス権(読取り/書込み)が必要です。UNIXの場合、通常、このアクセス権は共有のUNIXグループ・メンバーシップを通じて提供されます。 ASMインスタンスとデータベース・インスタンスにメンバー・ディスクに対する適切なアクセス権があることを確認する方法は、使用しているオペレーティング・システムの『Oracle Databaseインストレーション・ガイド』を参照してください。

ASMインスタンスにはデータ・ディクショナリがないため、データ・ディクショナリに接続するには管理者で接続する方法しかありません。つまり、オペレーティング・システム認証を使用してSYSDBAで接続するか、または Oracle Net Servicesを介してリモートで接続するときは、パスワード・ファイルを使用します。

ASMのオペレーティング・システム認証

オペレーティング・システム認証を使用する場合は、SYSDBA権限でローカルに接続する認可が、特別なオペレーティング・システム・ユーザー・グループを使用して付与されます。これらのグループは一般にOSDBAと呼ばれます(UNIXでは通常、OSDBAはdbaグループになります)。 OSDBAの詳細は、「オペレーティング・システム認証の使用」を参照してください。

デフォルトでは、OSDBAグループのメンバーは、ノード上のすべてのインスタンス(ASMインスタンスを含む)にSYSDBA権限で接続することが認可されています。SYSDBA権限でASMインスタンスに接続するユーザーには、そのASMインスタンスで管理されるすべてのディスク・グループに対する完全な管理アクセス権があります。

注意

データベースのOracleホームのソフトウェア所有者であるユーザー(通常はoracleという名前のユーザー)は、ASMのOracleホームに定義されたOSDBAグループのメンバーであることが必要です。ASMがOracle Databaseの単一インスタンスと同じOracleホームを共有する場合は、そのように自動的に設定されます。ASMとデータベース・インスタンスを別々のOracleホームにインストールする場合は、グループ・メンバーシップが適切に構成されていることを確認する必要があります。適切に構成されていないと、データベース・インスタンスはASMインスタンスに接続できません。

ASMのパスワード・ファイル認証

Oracle Net Servicesを介してASMをリモート管理するには、ASMのパスワード・ファイルを作成する必要があります。パスワード・ファイルは、Enterprise Managerを使用してASMに接続する場合にも必要です。

データベース・コンフィギュレーション・アシスタント(DBCA)は、ASMディスク・グループを最初に構成するときに、ASMのパスワード・ファイルを作成します。データベース・パスワード・ファイルと同様に、作成時にパスワード・ファイルに追加されるユーザーはSYSのみです。他のユーザーをパスワード・ファイルに追加する場合は、パスワード・ファイルをデータベース・インスタンスと共有し、データベースを使用してユーザーを追加する必要があります。

DBCAを使用せずにASMインスタンスを構成する場合は、パスワード・ファイルを自分で作成する必要があります。 詳細は、「パスワード・ファイルの作成とメンテナンス」を参照してください。

ASMインスタンスの初期化パラメータの設定

ASMインスタンスには独自の初期化パラメータ・ファイルがあり、データベース・インスタンスの場合と同様に、サーバー・パラメータ・ファイル(SPFILE)またはテキスト・ファイルの場合があります。

注意

クラスタ化された環境にASMをインストールする場合、ASMの共有Oracleホームがないかぎり、サーバー・パラメータ・ファイル(SPFILE)は使用されません。ASMの共有Oracleホームがない場合、各ASMインスタンスは独自のテキスト形式の初期化パラメータ・ファイル(PFILE)を使用します。

ASMのパラメータ・ファイル名は、名前に埋め込まれたSIDによってデータベース・ファイル名と区別されます(ASMのSIDのデフォルトは、単一インスタンス・データベースの場合は+ASMで、Real Application Clustersノードの場合は+ASMnode#に設定されます)。ASMの初期化パラメータ・ファイルに適用されるファイル名、デフォルトの場所および検索順序のルールは、データベース初期化パラメータ・ファイルに適用されるルールと同じです。したがって、単一インスタンスのUNIXプラットフォームでは、ASMのサーバー・パラメータ・ファイルのパスは次のようになります。

$ORACLE_HOME/dbs/spfile+ASM.ora

初期化パラメータ・ファイルの詳細は、「初期化パラメータの理解」を参照してください。

ASMインスタンスに特に関連する初期化パラメータがいくつかあります。データベース・インスタンス用の初期化パラメータの中で、ASMインスタンスに関連するパラメータはごく一部です。このパラメータは、データベース作成時にデータベース・コンフィギュレーション・アシスタントを使用するか、または、後でEnterprise Managerを使用して作成できます。ここからは、初期化パラメータ・ファイルを編集し、パラメータを手動で設定する方法を説明します。

ASMインスタンス用の初期化パラメータ

ASMインスタンスに関連する初期化パラメータは、次のとおりです。ASM_で始まるパラメータは、データベース・インスタンスでは設定できません。

  • INSTANCE_TYPE

必ずASMに設定します。

注意: このパラメータのみ必須です。他のすべてのパラメータは、ほとんどの環境に適したデフォルト値が設定されています。

  • ASM_POWER_LIMIT

ディスクの再バランスに対するデフォルト指数。

デフォルト: 1、範囲: 0~11

関連項目: 「再バランス操作のチューニング」

  • ASM_DISKSTRING

ASMで検出するディスク・セットを制限する文字列のカンマ区切りリスト。ワイルドカード文字を使用できます。いずれかの文字列と一致するディスクのみが検出されます。文字列の形式は、使用しているASMライブラリおよびオペレーティング・システムによって異なります。ASMの標準的なシステム・ライブラリは、globパターン一致をサポートしています。

たとえば、ASMLibを使用しないSolarisサーバーで検出対象を/dev/rdsk/ディレクトリ内のディスクに制限するには、ASM_DISKSTRINGを次のように設定します。

/dev/rdsk/*

アスタリスクは省略できないことに注意してください。検出対象を、名前がs3またはs4で終わるディレクトリ内のディスクに制限するには、ASM_DISKSTRINGを次のように設定します。

/dev/rdsk/*s3,/dev/rdsk/*s4

これは、次のように簡素化できます。

/dev/rdsk/*s[34]

パスの最初の文字として?を使用すると、Oracleホーム・ディレクトリに拡張されます。オペレーティング・システムによっては、パス内の別の場所で?を使用すると、1文字のワイルドカードになります。

デフォルト: NULL。NULL値を設定すると、 ASMは読取り/書込みアクセス権があるシステム内の全ディスクのデフォルト・パスを検索します。デフォルト検索パスはプラットフォーム固有です。 UNIXプラットフォームのデフォルト検索パスのリストは、OTN-Jの『Oracle Database管理者リファレンス』を参照してください。Windowsプラットフォームのデフォルト検索パスは¥¥.¥ORCLDISK*です。詳細は、『Oracle Databaseインストレーション・ガイド』または『Oracle Real Application Clusters クイック・インストレーション・ガイド for Oracle Database Standard Edition for Microsoft Windows』を参照してください。

関連項目: 「ディスク検出時間の改善」

  • ASM_DISKGROUPS

ASMインスタンスの起動時、またはALTER DISKGROUP ALL MOUNT文の使用時にマウントされるディスク・グループの名前のリスト。

デフォルト: NULL(このパラメータを指定していない場合、マウントされるディスク・グループはありません。)

このパラメータは動的であるため、サーバー・パラメータ・ファイル(SPFILE)を使用している場合、この値を手動で変更する必要はありません。ASMは、ディスク・グループが正常に作成またはマウントされるとディスク・グループをこのパラメータに自動的に追加し、削除またはディスマウントされるとディスク・グループをこのパラメータから自動的に削除します。ただし、テキスト形式の初期化パラメータ・ファイル(PFILE)を使用している場合は、その初期化パラメータ・ファイルを編集して、インスタンスの起動時に自動的にマウントするディスク・グループの名前を追加し、自動的にマウントしないディスク・グループの名前を削除する必要があります。

注意: ALTER DISKGROUP…ALL MOUNTまたはALTER DISKGROUP…ALL DISMOUNTコマンドを発行しても、このパラメータの値には影響を与えません。

  • 再バランス操作のチューニング

ALTER DISKGROUPコマンドにPOWER句が指定されていない場合、または再バランスがディスクの追加や削除によって暗黙的に起動される場合、再バランスの指数はデフォルトでASM_POWER_LIMIT初期化パラメータの値に設定されます。このパラメータは動的に調整できます。この制限値が高いほど、再バランス操作は迅速に完了します。低い値ほど、再バランスには時間がかかりますが、消費する処理リソースやI/Oリソースが少なくなります。このため、データベースなど他のアプリケーションでもリソースを使用できます。デフォルト値1を設定すると、他のアプリケーションの中断を最小限に抑えることができます。適切な値は、ハードウェア構成、パフォーマンス要件および可用性要件によって異なります。

ディスクが手動または自動的に削除されたために再バランスを実行している場合は、再バランスの指数を高くすると、削除されたディスク上のデータの冗長なコピーを別のディスクに再構成する時間が短くなります。

V$ASM_OPERATIONビューに表示される情報を使用して、ASM_POWER_LIMITおよび再バランス操作の指数を調整できます。V$ASM_OPERATIONビューのEST_MINUTES列には、再バランス操作完了までの残り時間の見積りも表示されます。再バランスの指数を変更した場合の効果は、この見積り時間の変化を観察することによって確認できます。

関連項目

詳細は、「ディスク・グループの手動による再バランス」を参照してください。

ディスク検出時間の改善

ASM_DISKSTRING初期化パラメータの値は、オペレーティング・システムによって異なり、ASMでは検出プロセスでディスクの検索に使用するパス・セットを制限するために使用されます。新しいディスクをディスク・グループに追加した場合、ディスク・グループをマウントした各ASMインスタンスでは、ASM_DISKSTRINGを使用してその新しいディスクを検出できる必要があります。

多くの場合は、デフォルト値(NULL)で十分です。制限の大きい値を使用すると、ASMで検出を実行する時間が短くなるため、ディスク・グループをマウントする時間やディスクをディスク・グループに追加する時間が改善されます。ASM_DISKSTRINGパラメータを使用して新しいディスクを検出できるように、ディスクを追加する前にこのパラメータを動的に変更する必要が生じる場合があります。

ASM_DISKSTRINGのデフォルト値を使用する場合、あらゆる状況ですべてのディスクを検索できるわけではありません。サイトでサード・パーティ・ベンダーのASMLibを使用している場合、そのベンダーには、ASM_DISKSTRINGで使用する必要がある検出文字列の表記規則が用意されている可能性があります。さらに、インストレーションでマルチパス・ソフトウェアを使用すると、オペレーティング・システムのデフォルトとは異なるパスに疑似デバイスが配置される場合があります。詳細は、マルチパス・ベンダーのドキュメントを参照してください。

ASMインスタンスでのデータベース初期化パラメータの動作

ASM初期化パラメータ・ファイルでデータベース・インスタンスの初期化パラメータを指定すると、次のいずれかの結果になります。

* ASMインスタンスのパラメータが有効でない場合は、ORA-15021エラーが発生します。

* ダンプ先に関するパラメータやバッファ・キャッシュ・パラメータなど、データベース・パラメータがASMインスタンスで有効な場合、ASMはそのパラメータを受け入れます。通常、 ASMインスタンスに関連するデータベース・パラメータについては、ASMによって適切なデフォルト値が選択されます。

データベース・インスタンスでのASM初期化パラメータの動作

データベース・インスタンスのパラメータ・ファイルでASM固有のパラメータ(名前がASM_で始まる)を指定すると、ORA-15021エラーが発生します。

ASMインスタンスの起動

ASMインスタンスは、Oracleデータベース・インスタンスと同様に起動しますが、いくつかの相違点があります。

* SQL*Plusを使用してASMインスタンスに接続するには、環境変数ORACLE_SIDをASM SIDに設定する必要があります(単一インスタンス・データベースのデフォルトASM SIDは+ASMで、Real Application Clusters上のASMのデフォルトSIDは+ASMnode#です)。使用しているオペレーティング・システム、およびASMを独自のOracleホームにインストールしているかどうかによって、他の環境変数の変更が必要になる場合があります。 詳細は、「環境変数を使用したインスタンスの選択」を参照してください。

* 初期化パラメータ・ファイル(サーバー・パラメータ・ファイルも使用できます)には、次のパラメータが含まれている必要があります。

INSTANCE_TYPE = ASM

このパラメータは、Oracle実行可能ファイルに対して、データベース・インスタンスではなくASMインスタンスが起動することを示します。
* STARTUPコマンドは、データベースをマウントして開くのではなく、初期化パラメータASM_DISKGROUPSで指定されたディスク・グループをマウントしようとします。ASM_DISKGROUPSが空白の場合、ASMインスタンスが起動して、マウントされたディスク・グループがないことを警告します。その後、ALTER DISKGROUP…MOUNTコマンドを使用してディスク・グループをマウントできます。

ASMでは、SQL*Plus STARTUPコマンドのパラメータが次のように解釈されます。

STARTUPパラメータの説明

  • FORCE

ASMインスタンスを再起動する前に、ASMインスタンスに対してSHUTDOWN ABORTを発行します。

  • MOUNT、OPEN

ASM_DISKGROUPS初期化パラメータで指定したディスク・グループをマウントします。コマンド・パラメータが指定されていない場合は、これがデフォルトになります。

  • NOMOUNT

ディスク・グループをマウントせずにASMインスタンスを起動します。

次に、ASMインスタンスを起動するSQL*Plusセッションのサンプルを示します。

% sqlplus /nolog
SQL> CONNECT / AS sysdba
Connected to an idle instance.
 
SQL> STARTUP
ASM instance started
 
Total System Global Area   71303168 bytes
Fixed Size                  1069292 bytes
Variable Size              45068052 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted
ASMインスタンスのメモリー要件

ASMインスタンスは、データベース・インスタンスより小規模です。最大規模のASMインストール以外は、64MB SGAで十分です。標準的なASMインスタンスのメモリー合計は約100MBです。

CSSの要件

ASMとそのクライアント・データベース・インスタンスの間で同期化を有効にするには、クラスタ同期化サービス(CSS)デーモンが必要です。CSSデーモンは、通常、データベース・コンフィギュレーション・アシスタント(DBCA)を使用してデータベースを作成するときに起動し、再起動時に起動するように構成されています。DBCAを使用せずにデータベースを作成する場合は、ASMインスタンスを起動する前に、CSSデーモンが実行中であることを確認する必要があります。

LinuxおよびUNIXプラットフォーム上のCSSデーモン

CSSデーモンが実行中かどうかを判別するには、コマンドcrsctl check cssdを発行します。CSS appears healthyというメッセージが表示された場合、CSSデーモンは実行中です。

CSSデーモンを起動し、再起動時に常にデーモンを起動するようにホストを構成する手順は、次のとおりです。

1. ホストにルートとしてログインします。

2. $ORACLE_HOME/binが環境変数PATHにあることを確認します。

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

localconfig add

Windowsプラットフォーム上のCSSデーモン

Windowsプラットフォームでcrsctlおよびlocalconfigコマンドを使用すると、CSSデーモンのステータスをチェックしたり、CSSデーモンを起動することもできます。WindowsのGUIツールを使用する場合は、次の操作を実行できます。

CSSデーモンが適切に構成されて実行されているかどうかを判別するには、Windowsの「コントロール パネル」で「サービス」アイコンをダブルクリックし、OracleCSServiceサービスを検索します。ステータスは「起動済」で、起動タイプは「自動」であることが必要です。

Windowsサービスの起動方法、および自動的に起動するように構成する方法については、Windowsのドキュメントを参照してください。

ディスク検出

ASMインスタンスを初期化すると、ASMでは、ASM_DISKSTRING初期化パラメータで指定されたパス内の全ディスクを検出してその内容を調べます。 ここでの説明では、「ディスク」は「自動ストレージ管理の構成要素の概要」で定義したとおり、ASMディスクを指します。ディスク検出は、次の場合にも実行されます。

* ALTER DISKGROUP…ADD DISKコマンドおよびALTER DISKGROUP…RESIZE DISKコマンドを実行した場合

* V$ASM_DISKGROUPビューおよびV$ASM_DISKビューを問い合せた場合

ディスクは、正常に検出されるとV$ASM_DISKビューに表示されます。ディスク・グループに属するディスク(つまり、ディスク・ヘッダーにディスク・グループ名が含まれるディスク)のヘッダー・ステータスはMEMBERです。検出されたディスクがまだディスク・グループに割り当てられていない場合、ヘッダー・ステータスはCANDIDATEまたはPROVISIONEDのいずれかになります。

注意

PROVISIONEDヘッダー・ステータスは、ASMでディスクを使用できるように管理者がプラットフォーム固有の追加操作を実行したことを示します。たとえば、Windowsで管理者がasmtoolまたはasmtoolgを使用してヘッダーを持つディスクをマークしたり、Linuxで管理者がASMLibを使用してディスクをASMで使用可能にした場合などです。

次の問合せは、6つのMEMBERディスクと1つのCANDIDATEディスクを示しています。

SQL> select name, header_status, path from v$asm_disk;
 
NAME         HEADER_STATUS PATH
------------ ------------- -------------------------
             CANDIDATE     /dev/rdsk/disk07
DISK06       MEMBER        /dev/rdsk/disk06
DISK05       MEMBER        /dev/rdsk/disk05
DISK04       MEMBER        /dev/rdsk/disk04
DISK03       MEMBER        /dev/rdsk/disk03
DISK02       MEMBER        /dev/rdsk/disk02
DISK01       MEMBER        /dev/rdsk/disk01
 
7 rows selected.
検出ルール

検出ルールは次のとおりです。

* ASMが検出するディスク数は最大10,000です。つまり、10,000を超えるディスクがASM_DISKSTRING初期化パラメータと一致すると、最初の10,000ディスクのみが検出されます。

* ディスクがASM_DISKSTRING検索パス内にあり、ASMがディスクに対する読取り/書込み権限を持っている場合でも、ASMでは、オペレーティング・システムのパーティション表を含むディスクは検出しません。

* ASMがディスク・ヘッダーをOracleオブジェクトのヘッダーとして認識した場合(Oracleデータ・ファイルのヘッダーなど)、ディスクは検出されますが、FORCEキーワードを使用した場合のみディスク・グループに追加できます。このようなディスクは、FOREIGNというヘッダー・ステータスでV$ASM_DISKに表示されます。

さらに、ASMは、検出時に次の構成エラーを識別します。

* 同じディスクに対して複数のパスが存在する場合

この場合、ディスクがディスク・グループに属していると、ディスク・グループのマウントが失敗します。このディスクをADD DISKまたはCREATE DISKGROUPコマンドを使用してディスク・グループに追加しようとすると、このコマンドは失敗します。エラーを訂正するには、同じディスクに複数のパスを設定しないようにASM_DISKSTRINGを制限するか、マルチパス・ソフトウェアを使用している場合は、ASM_DISKSTRINGに疑似デバイスのみが設定されていることを確認します。
* 同じディスク・ヘッダーを持つ複数のASMディスクが存在する場合

これは、1つのディスクを別のディスクにビット単位でコピーすると発生する可能性があります。この場合、ディスク・グループのマウントは失敗します。

ディスク・グループのリカバリ

他のファイル・システムやボリューム・マネージャと同様に、ASMインスタンスで障害が発生すると、そのASMインスタンスと同じノード上のすべてのOracleデータベース・インスタンスおよびそのASMインスタンスによって管理されているディスク・グループを使用するすべてのOracleデータベース・インスタンスでも障害が発生します。単一のASMインスタンス構成では、 ASMメタデータを更新するためにオープンしているときにASMインスタンスで障害が発生した場合、そのASMインスタンスは、再初期化の後、ディスク・グループのログを読み込んで未完了のすべての変更をリカバリします。

ディスク・グループを複数のASMインスタンスが共有している場合は、1つの ASMインスタンスで障害が発生すると、そのために発生したASMメタデータの未完了の変更は、別のASMインスタンスによって自動的にリカバリされます。ASMメタデータを更新するのはASMインスタンスのみであるため、Oracleデータベース・インスタンスの障害は重大な問題となりません。

ASMインスタンスの停止

自動ストレージ管理の停止は、SQL*PlusのSHUTDOWNコマンドを発行して実行します。

最初に、環境変数ORACLE_SIDがASM SIDに設定されてASMインスタンスに接続していることを確認する必要があります。使用しているオペレーティング・システム、およびASMを独自の Oracleホームにインストールしているかどうかによって、SQL*Plusを起動する前に他の環境変数の変更が必要になる場合があります。 詳細は、「環境変数を使用したインスタンスの選択」を参照してください。

% sqlplus /nolog
SQL> CONNECT / AS sysdba
Connected.
SQL> SHUTDOWN NORMAL

次の表にSHUTDOWNモードを一覧表示し、各モードでのASMインスタンスの動作を説明します。

停止モード 自動ストレージ管理での処理

  • NORMAL、IMMEDIATE

またはTRANSACTIONAL

ASMは処理中のSQLの完了を待機し、その後、全ディスク・グループの所定のディスマウントを実行してASMインスタンスを停止します。データベース・インスタンスがASMインスタンスに接続している場合は、SHUTDOWNコマンドでエラーが返され、ASMインスタンスは実行中のままになります。

  • ABORT

ASMインスタンスは、ディスク・グループの所定のディスマウントを実行せずに即時に停止します。これによって、次にASMを起動するときにリカバリが実行されます。データベース・インスタンスがASMインスタンスに接続されている場合、データベース・インスタンスは異常終了します。

ASMインスタンスを停止する前に、ASMインスタンスを使用する全データベース・インスタンスを停止することをお薦めします。

自動ストレージ管理のディスク・グループの管理

データベースでの自動ストレージ管理の使用

自動ストレージ管理へのデータベースの移行

XML DB仮想フォルダを使用した自動ストレージ管理ファイルへのアクセス

自動ストレージ管理に関する情報の表示

Oracle native storage layer.
It's a oracle instance with out database.

Oracle ASMとマルチパス化一般的なベスト・プラクティスと情報マトリックス2008年3月

See Configure Oracle RAC Automatic Atorage Management