この章では、自動ストレージ管理(ASM)インスタンスの管理方法について説明します。ASMインスタンスのパラメータの構成方法と、ASMで使用するOracle Databaseパラメータの設定方法についても説明します。さらに、ASMインスタンスの管理、アップグレードとパッチ適用、およびASMインスタンスにアクセスするための認証について説明します。この章の手順を使用して、ASMを使用するようにデータベースを移行することもできます。
ASMインスタンスの管理はOracle Databaseインスタンスの管理と似ていますが、必要な手順は少なくなっています。ユーザーは、Oracle Enterprise ManagerおよびSQL*Plusを使用してASMインスタンス管理タスクを実行できます。この章の内容は次のとおりです。
|
関連項目: ASMインスタンスについては「ASMインスタンスについて」、Enterprise Managerを使用したASMの管理の詳細は、第6章「Oracle Enterprise ManagerによるASMの管理」を参照してください。 |
Oracle Database 11gの自動ストレージ管理(ASM)では、Oracle Database 10gを含め新旧両方のソフトウェア・バージョンがサポートされます。Oracle Database 10gと11g間での前方互換性と後方互換性の両方が保持されているため、ASMインスタンスとデータベース・インスタンスについて、10.1、10.2および11.1リリースの組合せを相互運用できます。Oracle ClusterwareとASM間の互換性を実現するには、Oracle ClusterwareリリースがASMリリース以上である必要があります。
異なるリリースのASMインスタンスとデータベース・インスタンスが含まれるディスク・グループを使用する際は、他にも互換性に関する考慮事項があります。ディスク・グループの互換性属性設定の詳細は、「ディスク・グループの互換性」を参照してください。
異なるソフトウェア・バージョンが使用されている場合、データベース・インスタンスは使用されている最も古いリリースのASM機能をサポートします。次に例を示します。
11.1のASMインスタンスとともに動作している10.1のデータベース・インスタンスは、ASM 10.1の機能のみをサポートします。
10.1のASMインスタンスとともに動作している11.1のデータベース・インスタンスは、ASM 10.1の機能のみをサポートします。
V$ASM_CLIENTビューには、ソフトウェアのバージョン番号およびインスタンス互換性レベルに関する情報を示すSOFTWARE_VERSION列およびCOMPATIBLE_VERSION列が含まれます。
V$ASM_CLIENTのSOFTWARE_VERSION列には、選択されているディスク・グループ接続のデータベース・インスタンスまたはASMインスタンスのソフトウェア・バージョン番号が含まれます。
COMPATIBLE_VERSION列には、選択されているディスク・グループ接続のデータベース・インスタンスまたはASMインスタンスのCOMPATIBLEパラメータの設定が含まれます。
V$ASM_CLIENTビューは、ASMインスタンスとデータベース・インスタンスの両方について問い合せることができます。V$ASM_CLIENTビューに関する問合せを示す例については、例4-4を参照してください。V$ASM_CLIENTおよびV$ASM_*の詳細は、「ビューを使用したASM情報の取得」を参照してください。
この項では、ASMインスタンスの初期化パラメータ・ファイルとパラメータ設定について説明します。ASMインスタンスをインストールして最初に構成するには、Oracle Universal Installer(OUI)とDatabase Configuration Assistant(DBCA)を使用します。ASMのインストールおよび構成の詳細は、ご使用のプラットフォーム用の『Oracle Databaseインストレーション・ガイド』を参照してください。
単一インスタンスOracle DatabaseまたはOracle Real Application Clusters(Oracle RAC)環境にASMインスタンスをインストールしたら、最後のASM構成を実行できます。構成する必要があるのは、いくつかのASM固有のインスタンス初期化パラメータのみです。ほとんどの場合は、デフォルト値で間に合います。
この項の内容は次のとおりです。
|
関連項目:
|
単一インスタンスOracle DatabaseのASMをインストールすると、DBCAにより、ASMインスタンスに対する独立したサーバー・パラメータ・ファイル(SPFILE)とパスワード・ファイルが作成されます。すべてのノード間でASMホームが共有されるクラスタ化ASM環境にASMをインストールすると、ASMに対するSPFILEが作成されます。ASMホームが共有されないクラスタ化環境では、ASMに対するテキストベースの初期化パラメータ・ファイル(PFILE)が各ノードで作成されます。
ユーザーは、SPFILEまたはPFILEをASMインスタンス・パラメータ・ファイルとして使用できます。SPFILEをクラスタ化ASM環境で使用する場合は、共有RAWデバイスまたはクラスタ・ファイル・システムにSPFILEを配置する必要があります。共有ASMホームを使用しない場合、ASMインスタンスではPFILEが使用されます。
データベース初期化パラメータ・ファイルに適用されるファイル名、デフォルトの場所、および検索順序に関するルールは、ASM初期化パラメータ・ファイルにも適用されます。たとえば、単一インスタンスのUNIXおよびLinux Oracle Database環境では、ASMのサーバー・パラメータ・ファイルのパスは次のようになります。
$ORACLE_HOME/dbs/spfile+ASM.ora
|
関連項目:
|
ASMインスタンスにいくつかの初期化パラメータを設定する必要があります。これらのパラメータは、DBCAを使用してデータベースを作成するときに設定できます。Oracle Enterprise Managerや、SQLのALTER SYSTEM文またはALTER SESSION文を使用して、データベースの作成後にこれらのパラメータの一部を設定することもできます。
INSTANCE_TYPE初期化パラメータは、ASMインスタンス・パラメータ・ファイルの唯一の必須パラメータです。ほとんどの環境では、ASM*パラメータは適切なデフォルト値を使用します。名前の接頭辞がASM*のパラメータはデータベース・インスタンス・パラメータ・ファイルで使用できません。
ASMインスタンス初期化ファイルに対して有効なデータベース初期化パラメータもあります。一般にASMでは、ASMインスタンスに関係するデータベース・パラメータに対して適切なデフォルトが選択されます。
自動メモリー管理では、MEMORY_TARGETパラメータによってASMインスタンスとデータベース・インスタンスのメモリー関連のパラメータが自動的に管理されます。自動メモリー管理は、MEMORY_TARGETパラメータが明示的に設定されていない場合でも、ASMインスタンスに対してデフォルトで有効になります。MEMORY_TARGETに使用されるデフォルト値は、ほとんどの環境に適しています。これは、完全なASMメモリー管理を行うために設定する必要がある唯一のパラメータです。ASMの自動メモリー管理を使用することを強くお薦めします。
MEMORY_TARGETの値は設定せずにメモリー関連の他のパラメータの値を設定した場合、Oracleはこれらのメモリー・パラメータの値に基づいてMEMORY_TARGETの最適値を内部で計算します。データベース・インスタンスの場合と同様に、MEMORY_TARGETはMEMORY_MAX_TARGETパラメータの値まで動的に増やすことができます。
推奨ではありませんが、ASMパラメータ・ファイルでMEMORY_TARGETの値を0に設定するか、ALTER SYSTEM SET MEMORY_TARGET=0文を実行することで自動メモリー管理を無効にすることができます。自動メモリー管理を無効にすると、Oracleは自動共有メモリー管理および自動PGAメモリー管理に戻ります。ASM SGAメモリーを手動で管理するOracle Database 10gリリース2(10.2)の機能に戻すには、ALTER SYSTEM SET SGA_TARGET=0文も実行します。これにより、メモリーベースのASMパラメータ設定について記載された「ASMパラメータ設定の推奨事項」の情報を使用してASMメモリーを手動で管理できます。ASMインスタンスでのすべての自動メモリー管理パラメータの作用は、明記されていないかぎり、Oracle Databaseインスタンスでの作用と同じです。
|
注意: Linux環境では、/dev/shmを使用できない、あるいは小さい場合、自動メモリー管理は機能しません。詳細は、Oracle Databaseの管理者リファレンスを参照してください。自動メモリー管理をサポートするプラットフォームについては、『Oracle Database管理者ガイド』を参照してください。 |
|
注意: ASMのMEMORY_TARGETの最小値は256MBです。MEMORY_TARGETを100MBに設定すると、MEMORY_TARGETの値は自動的に256MBに増加します。 |
|
関連項目:
|
この項では、ASMの次のパラメータについて説明します。
|
関連項目:
|
ASM_DISKGROUPS初期化パラメータは、ASMインスタンスが起動時にマウントするディスク・グループ名のリストを指定します。起動時にNOMOUNTオプションを指定した場合、またはALTER DISKGROUP ALL MOUNT文を発行した場合、ASM_DISKGROUPSに設定した値は無視されます。ASM_DISKGROUPパラメータのデフォルト値はNULL文字列です。パラメータ値がNULLの場合や指定されていない場合は、ディスク・グループはマウントされません。
ASM_DISKGROUPSパラメータは動的です。サーバー・パラメータ・ファイル(SPFILE)を使用している場合は、ASM_DISKGROUPSの値を手動で変更する必要はありません。ディスク・グループが正常に作成またはマウントされると、ASMによってこのパラメータにディスク・グループが自動的に追加されます。ディスク・グループが削除またはディスマウントされると、ディスク・グループはこのパラメータから自動的に削除されます。ASM_DISKGROUPSパラメータを動的に設定する例を次に示します。
SQL> ALTER SYSTEM SET ASM_DISKGROUPS = 'CONTROLFILE, DATAFILE, LOGFILE, STANDBY'
テキスト初期化パラメータ・ファイル(PFILE)を使用している場合は、初期化パラメータ・ファイルを編集して、インスタンスの起動時に自動的にマウントされるディスク・グループの名前を追加する必要があります。自動的にマウントされる必要のないディスク・グループの名前を削除する必要があります。初期化ファイル内のASM_DISKGROUPSパラメータの例を次に示します。
ASM_DISKGROUPS = CONTROLFILE, DATAFILE, LOGFILE, STANDBY
|
注意: ALTER DISKGROUP...ALL MOUNTコマンドまたはALTER DISKGROUP...ALL DISMOUNTコマンドを発行しても、ASM_DISKGROUPSの値に影響はありません。 |
|
関連項目: ASMディスク・グループの詳細は「ディスク・グループのマウントおよびディスマウント」、ASM_DISKGROUPS初期化パラメータの詳細は『Oracle Databaseリファレンス』を参照してください。 |
ASM_DISKSTRING初期化パラメータでは、ASMインスタンスによって検出されるディスクのセットを制限する文字列のカンマ区切りリストが指定されます。検出文字列には、ワイルドカード文字を含めることができます。いずれかの文字列に一致するディスクのみが検出されます。同じディスクを2回検出することはできません。
検出文字列形式は、使用しているASMライブラリとオペレーティング・システムによって異なります。パターン一致がサポートされます。デフォルトのパターン一致の詳細は、ご使用のオペレーティング・システム用のインストレーション・ガイドを参照してください。たとえば、ASMLIBを使用しないLinuxサーバーで、/dev/rdsk/ディレクトリに含まれているディスクのみに検出プロセスを制限するには、ASM_DISKSTRINGを次のように設定します。
/dev/rdsk/*
アスタリスクは必須です。名前がdisk3またはdisk4で終わるディスクのみを含めるように検出プロセスを制限するには、ASM_DISKSTRINGを次のように設定します。
/dev/rdsk/*disk3、/dev/rdsk/*disk4
パスの最初の文字として使用した?文字は、Oracleホーム・ディレクトリに展開されます。オペレーティング・システムによっては、パスの他の場所で使用した?文字は単一文字のワイルドカードになります。
ASM_DISKSTRINGパラメータのデフォルト値はNULL文字列です。NULL値を使用すると、ASMインスタンスが読取りおよび書込みアクセスを行うシステム内の全ディスクについてデフォルト・パスが検索されます。デフォルトの検索パスは、プラットフォーム固有です。デフォルトの検索パスの詳細は、ご使用のオペレーティング・システム用のインストレーション・ガイドを参照してください。
クラスタ内のすべてのASMインスタンスが固有の検出文字列のいずれかを使用してディスクを検出できないかぎり、ASMではそのディスクを使用できません。すべてのノードで名前が同一である必要はありませんが、クラスタのすべてのノードで全ディスクを検出できる必要があります。そのため、場合によっては、初期化パラメータを動的に変更して新しいストレージの追加を許可する必要があります。
|
関連項目: ASM_DISKSTRING初期化パラメータについては、『Oracle Databaseリファレンス』を参照してください。 |
ASM_POWER_LIMIT初期化パラメータでは、ディスク・リバランスのデフォルトの指数が指定されます。デフォルト値は1、許容可能な値の範囲は0〜11までです。値0の場合、リバランスは無効です。値が大きいほどリバランス操作の完了は早くなりますが、I/Oオーバーヘッドが高くなる可能性があります。
ASM_PREFERRED_READ_FAILURE_DISKGROUPS初期化パラメータの値は、指定のインスタンスによって優先的に読み取られる必要のある障害グループを指定する文字列のカンマ区切りリストです。このパラメータは、通常、クラスタ化されたASMインスタンスにのみ使用され、その値はノードによって異なる場合があります。次に例を示します。
diskgroup_name1.failure_group_name1, ...
ASM_PREFERRED_READ_FAILURE_GROUPSパラメータ設定はインスタンス固有です。このパラメータはクラスタ化されたASMインスタンスにのみ有効であり、デフォルト値はNULLになります。
|
注意: ASM_PREFERRED_READ_FAILURE_GROUPSパラメータは、Oracle RAC環境でのみ有効です。 |
|
関連項目:
|
自動メモリー管理を使用する場合、DB_CACHE_SIZE初期化パラメータの値を設定する必要はありません。
DB_CACHE_SIZEパラメータの設定では、バッファ・キャッシュのサイズが決定されます。このバッファ・キャッシュは、メタデータ・ブロックの格納に使用されます。このパラメータのデフォルト値は、ほとんどの環境に適しています。
|
関連項目:
|
DIAGNOSTIC_DEST初期化パラメータでは、インスタンスの診断が格納されるディレクトリが指定されます。ASMインスタンスの値は、次の形式になります。
diagnostic_dest/diag/asm/db_name/instance_name
ASMインスタンスの場合、db_nameはデフォルトで+asmになります。
|
関連項目:
|
INSTANCE_TYPE初期化パラメータは、ASMインスタンスのASMに設定する必要があります。これは必須のパラメータであり、変更できません。初期化ファイル内のINSTANCE_TYPEパラメータの例を次に示します。
INSTANCE_TYPE = ASM
|
関連項目: INSTANCE_TYPEパラメータについては、『Oracle Databaseリファレンス』を参照してください。 |
自動メモリー管理を使用する場合、LARGE_POOL_SIZE初期化パラメータの値を設定する必要はありません。
LARGE_POOL_SIZEパラメータの設定は、大きな割当てに使用されます。このパラメータのデフォルト値は、ほとんどの環境に適しています。
|
関連項目:
|
自動メモリー管理を使用する場合、PROCESSES初期化パラメータの値を設定する必要はありません。
PROCESSES初期化パラメータはASMに影響しますが、通常は設定を変更する必要はありません。ほとんどの場合、提供されるデフォルト値が適しています。
|
関連項目:
|
REMOTE_LOGIN_PASSWORDFILE初期化パラメータでは、ASMインスタンスでパスワード・ファイルをチェックするかどうかが指定されます。このパラメータは、ASMおよびデータベース・インスタンスに対して同じように機能します。
|
関連項目:
|
自動メモリー管理を使用する場合、SHARED_POOL_SIZE初期化パラメータの値を設定する必要はありません。
SHARED_POOL_SIZEパラメータの設定では、インスタンスの管理に必要なメモリーの量が決定されます。このパラメータの設定は、エクステント・ストレージ用に割り当てられる領域のサイズの決定にも使用されます。このパラメータのデフォルト値は、ほとんどの環境に適しています。
|
関連項目:
|
データベース・インスタンスで自動メモリー管理を使用しない場合、ASMをサポートするにはデータベース・インスタンスのSGAパラメータ設定を少し変更する必要があります。自動メモリー管理を使用する場合、この項で説明するサイズ指定データは、情報としてのみ、またはSGAに使用する適切な値を判断するための補足情報として扱うことができます。自動メモリー管理を使用することを強くお薦めします。
|
関連項目:
|
データベース・インスタンス上のSGAサイズ指定に関するガイドラインを次に示します。
PROCESSES初期化パラメータ: 現在の値に16を追加します。
LARGE_POOL_SIZE初期化パラメータ: 現在の値に600Kを追加します。
SHARED_POOL_SIZE初期化パラメータ: 次のクエリーからの値を集計して、すでにASM上にあるか、またはASMに格納される現在のデータベース記憶域のサイズを調べます。次に、冗長性タイプを確認し、集計値を入力として使用してSHARED_POOL_SIZEを計算します。
SELECT SUM(bytes)/(1024*1024*1024) FROM V$DATAFILE;
SELECT SUM(bytes)/(1024*1024*1024) FROM V$LOGFILE a, V$LOG b
WHERE a.group#=b.group#;
SELECT SUM(bytes)/(1024*1024*1024) FROM V$TEMPFILE
WHERE status='ONLINE';
外部冗長性を使用しているディスク・グループの場合は、100GBの領域ごとに1MBの追加共有プールと2MBが必要です。
標準冗長性を使用しているディスク・グループの場合は、50GBの領域ごとに1MBの追加共有プールと4MBが必要です。
高冗長性を使用しているディスク・グループの場合は、33GBの領域ごとに1MBの追加共有プールと6MBが必要です。
|
関連項目:
|
ディスク・グループ属性は、基本的にインスタンスではなくディスク・グループにバインドされるパラメータです。次にディスク・グループ属性を示します。
AU_SIZE
割当て単位のサイズおよびエクステントの詳細は、「エクステント」を参照してください。AU_SIZE属性の使用例は、例4-1「ディスク・グループの作成」を参照してください。
COMPATIBLE.ASM
COMPATIBLE.ASM属性の詳細は、「COMPATIBLE.ASM」を参照してください。
COMPATIBLE.RDBMS
COMPATIBLE.RDBMS属性の詳細は、「COMPATIBLE.RDBMS」を参照してください。
DISK_REPAIR_TIME
DISK_REPAIR_TIME属性の詳細は、「ASMの高速ミラー再同期」を参照してください。
この項では、次のトピックに基づいてASMインスタンスを管理する方法について説明します。
この項で説明するASMの管理手順の他に、クラスタ化されたASM環境でサーバー制御ユーティリティ(SRVCTL)を使用して次のASM管理タスクを実行することができます。
Oracle Cluster Registry(OCR)でのASMインスタンス・レコードの追加と削除
ASMインスタンスの有効化、無効化、起動および停止
ASMインスタンスの構成とステータスの表示
|
関連項目: SRVCTLによるASMインスタンスの管理の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 |
多少の違いはありますが、ASMインスタンスを、Oracleデータベース・インスタンスと同様の方法で起動します。ASMインスタンスの起動時には、次のことに注意してください。
SQL*PlusでASMインスタンスに接続するには、ORACLE_SID環境変数をASM SIDに設定します。単一インスタンス・データベースのデフォルトASM SIDは+ASM、Oracle RACノード用のASMのデフォルトSIDは+ASMnode_numberです。ここで、node_numberはノードの番号です。使用しているオペレーティング・システムや、ASMを別のASMホームにインストールしたかどうかによっては、他の環境変数を変更する必要があります。
初期化パラメータ・ファイルには、次のエントリが含まれている必要があります。
INSTANCE_TYPE = ASM
このパラメータは、データベース・インスタンスではなくASMインスタンスが起動中であることを示します。
データベースをマウントしてオープンするかわりにSTARTUPコマンドを実行すると、初期化パラメータASM_DISKGROUPSで指定されたディスク・グループのマウントが試されます。ASM_DISKGROUPSの値を入力しなかった場合は、ASMインスタンスが起動し、ディスク・グループがマウントされなかったというエラーがOracleによって表示されます。その場合は、ALTER DISKGROUP...MOUNTコマンドを使用してディスク・グループをマウントできます。
ASMには、一部のASMディスクがマウント時にディスク・グループで使用できない場合でも、標準冗長性モードまたは高冗長性モードでASMディスク・グループをマウントできるMOUNT FORCEオプションがあります。FORCEオプションを使用しない場合、破損または欠落しているディスクが含まれるディスク・グループのマウントはデフォルトで失敗します。
MOUNT FORCEオプションを使用して正常にマウントするには、ASMがディスク・グループの全ファイルのエクステントのコピーを少なくとも1つ検出できる必要があります。この場合、ディスク・グループのマウントは成功しますが、冗長性が損われる可能性があります。すべてのディスクを使用できる場合、FORCEオプションを使用するとMOUNTコマンドも失敗します。そのため、機能が不必要かつ不正に使用されることはありません。
ASMが使用不可能なディスクにアクセスできない場合、そのディスクをオフライン・モードにします。次に、これらのディスクがオフライン・モードになる時間の計測を開始します。ディスクのオフラインの時間間隔がタイマーのしきい値を超えると、これらのディスクはディスク・グループから完全に削除されます。ディスクがオフライン状態になった後にオフラインのタイマーを変更するには、ALTER DISKGROUP OFFLINE文を使用します。
MOUNT FORCEオプションは、ディスクが一時的に使用できない場合や、機能停止の原因となった状況を修正しながら冗長性が低下したディスク・グループをマウントする場合に役立ちます。
関連するASMインスタンスを起動するときに、関連するOracleデータベース・インスタンスが動作している必要はありません。
ASMによってSQL*Plus STARTUPコマンド・パラメータがどのように解釈されるのかを次のリストに示します。
FORCEパラメータ
再起動する前にSHUTDOWN ABORTをASMインスタンスに発行します。
MOUNTまたはOPENパラメータ
ASM_DISKGROUPS初期化パラメータで指定されたディスク・グループをマウントします。コマンド・パラメータが指定されていない場合は、これがデフォルトになります。
NOMOUNTパラメータ
ディスク・グループをマウントせずにASMインスタンスを起動します。
RESTRICTパラメータ
制限モードでインスタンスを起動します。制限モードでは、CREATE SESSIONとRESTRICTED SESSIONの両方のシステム権限を持つユーザーに対してのみアクセスが許可されます。RESTRICT句は、MOUNT、NOMOUNTおよびOPEN句と組み合せて使用できます。
制限モードでは、データベース・インスタンスはディスク・グループを使用できません。つまり、データベースはそのディスク・グループに含まれるファイルを開くことができません。また、クラスタの他のインスタンスによってディスク・グループをマウントすることもできません。制限モードでディスク・グループをマウントする場合、そのディスク・グループをマウントできるASMインスタンスは1つのみです。このモードは、構成の問題を修復するためにディスク・グループをマウントする際に役立ちます。
ASMインスタンスを起動する場合のSQL*Plusセッションの例を次に示します。
SQLPLUS /NOLOGSQL> CONNECT SYS AS SYSASMEnter password: sys_passwordConnected to an idle instance.SQL> STARTUPASM instance startedTotal System Global Area 71303168 bytesFixed Size 1069292 bytesVariable Size 45068052 bytesASM Cache 25165824 bytesASM disk groups mounted|
関連項目:
|
メンテナンスの実行中は、STARTUP RESTRICTコマンドを使用してASMインスタンスへのアクセスを制御できます。ASMインスタンスがこのモードでアクティブの場合、ASM_DISKGROUPSパラメータで定義されるすべてのディスク・グループはRESTRICTEDモードでマウントされます。これにより、データベースはASMインスタンスに接続できません。また、ALTER SYSTEM文の制限句はASMインスタンスに対して無効です。ALTER DISKGROUP diskgroupname MOUNT文を拡張すると、ASMは制限モードでディスク・グループをマウントできます。
RESTRICTEDモードでディスク・グループをマウントする場合、ディスク・グループをマウントできるのは1つのインスタンスのみです。そのノード上のASMのクライアントは、ディスク・グループがRESTRICTEDモードでマウントされている間はそのディスク・グループにアクセスできません。RESTRICTEDモードを使用すると、クライアントから干渉されずにASMインスタンスのディスク・グループに対してメンテナンス・タスクを実行できます。
ディスク・グループがRESTRICTEDモードのときに行われるリバランス操作により、Oracle RAC環境のASMインスタンス間で発生するエクステント・マップのメッセージをロックしたり、ロックを解除したりする必要がなくなります。そのため、リバランス全体のスループットが向上します。メンテナンス期間の最後に、ディスク・グループを明示的にディスマウントして、標準モードでリマウントする必要があります。
Cluster Synchronization Services(CSS)デーモンは、ASMのクラスタ・サービス(ASMインスタンスとデータベース・インスタンス間の通信)、およびその他の必要なサービスを提供します。DBCAがデータベースを作成すると、通常、CSSデーモンが起動し、再起動時に起動するように構成されます。DBCAがデータベースを作成した場合は、CSSデーモンが動作していることを確認してからASMインスタンスを起動する必要があります。
CSSデーモンが動作しているかどうかを確認するには、crsctl check cssdコマンドを実行します。「CSSは正常です」というメッセージが表示された場合は、CSSデーモンが動作しています。それ以外の場合に、CSSデーモンを開始し、再起動時に常にデーモンを開始するようにホストを設定するには、次の操作を行います。
rootユーザーとしてホストにログインします。
$ORACLE_HOME/binというエントリがPATH環境変数に含まれていることを確認します。
次のコマンドを実行します。
localconfig add
crsctlおよびlocalconfigコマンドを使用して、CSSデーモンの状態チェックや起動を行うこともできます。Windows GUIツールを使用して、CSSデーモンが正しく構成されて実行されているかどうかを確認するには、Windowsの「コントロール パネル」で「サービス」アイコンをダブルクリックし、OracleCSServiceサービスを探します。サービスの状態は「開始」、スタートアップの種類は「自動」になっている必要があります。
|
注意: Windowsサービスを開始する方法、および自動スタートアップ用に構成する方法については、Windowsのマニュアルを参照してください。 |
SQL*PlusでSHUTDOWNコマンドを実行すると、ASM停止プロセスが開始されます。このコマンドを実行する前に、ASMインスタンスへ接続できるようにORACLE_SID環境変数がASM SIDに設定されていることを確認してください。使用しているオペレーティング・システムや、ASMを別のASMホームにインストールしたかどうかによっては、他の環境変数を変更してからSQL*Plusを起動する必要があります。ASMインスタンスを停止する前に、ASMインスタンスを使用するデータベース・インスタンスをすべて停止することを強くお薦めします。
|
関連項目:
|
SQLPLUS /NOLOGSQL> CONNECT SYS AS SYSASMEnter password: sys_passwordConnected.SQL> SHUTDOWN NORMAL次のリストでは、SHUTDOWNモードと、各モードにおけるASMインスタンスの動作について説明します。
NORMAL句
ASMは、進行中のSQLが完了するのを待ってから、すべてのディスク・グループを順番にディスマウントし、ASMインスタンスを停止します。インスタンスを停止する前に、現在接続しているすべてのユーザーがインスタンスから切断するのを待機します。いずれかのデータベース・インスタンスがASMインスタンスに接続されている場合は、SHUTDOWNコマンドを実行するとエラーが返され、ASMインスタンスは動作状態のままになります。NORMALはデフォルトの停止モードです。
IMMEDIATEまたはTRANSACTIONAL句
ASMは、進行中のSQLが完了するのを待ってから、すべてのディスク・グループを順番にディスマウントし、ASMインスタンスを停止します。現在インスタンスに接続しているユーザーの切断を待機しません。いずれかのデータベース・インスタンスがASMインスタンスに接続されている場合は、SHUTDOWNコマンドを実行するとエラーが返され、ASMインスタンスは動作状態のままになります。ASMインスタンスにはトランザクションが含まれないため、TRANSACTIONALモードはIMMEDIATEモードと同じになります。
ABORT句
ディスク・グループを順番にディスマウントすることなくASMインスタンスがすぐに停止します。これにより、次回のASM起動時にはリカバリが行われます。いずれかのデータベース・インスタンスがASMインスタンスに接続されている場合は、そのデータベース・インスタンスは中断されます。
次の各バックグラウンド・プロセスは、自動ストレージ管理を機能させるうえで特に重要な構成要素です。
ARBnは、自動ストレージ管理インスタンス内の実質的なリバランス、つまりデータ・エクステントの移動を行います。このプロセスは、ARB0、ARB1といったように、同時に複数実行される場合があります。
ASMBは、ASMディスク・グループを使用しているデータベース・インスタンス内で実行されます。ASMBは、ASMインスタンスと通信して、ストレージの管理や統計情報の提供を行います。ASMBはまた、ASMインスタンス内で実行されることもあります。ASMBがASMインスタンス内で実行されるのは、ASMCMD cpコマンドが実行された場合と、SPFILEがASM内に保存された状態でデータベース・インスタンスが初回起動した場合です。
GMONは、ASMディスク・グループ内のディスク・メンバーシップを管理します。
MARKは、オフライン・ディスクへの書込みが失敗した場合に、ASM割当て単位を失効とマークします。これにより、どのエクステントがオフライン・ディスクとの再同期を必要としているかが追跡されます。
RBALは、データベースとASMインスタンスの両方で実行されます。データベース・インスタンスでは、ASMディスクのグローバル・オープンを実行します。ASMインスタンスでは、ディスク・グループに対するリバランス・アクティビティの調整も行います。
これらのプロセスはASMインスタンスにとって非常に重要なものであるため、修正を加えないようにしてください。なお、この項で述べたプロセス以外にも、ASMとデータベース・インスタンスの両方で実行される追加的プロセスが存在します。これには、データベース書込みプロセス(DBWn)、ログ書込みプロセス(LGWR)、プロセス監視プロセス(PMON)、およびシステム監視プロセス(SMON)が含まれます。
また、特定のタスクを実行するために定期的に起動されるASMスレーブ・プロセスもあります。たとえば、Snnn一時スレーブ・プロセスは、ディスクがオンラインになったときにエクステントの再同期を行います。スレーブ・プロセスは、厳密にはバックグラウンド・プロセスではありません。
Oracleデータベースのバックグラウンド・プロセスの詳細は、『Oracle Database概要』のバックグラウンド・プロセスに関する記述を参照してください。バックグラウンド・プロセスに関する情報を表示するV$BGPROCESSビューの説明は、『Oracle Databaseリファレンス』を参照してください。
ASMローリング・アップグレードでは、データベースの可用性に影響を及ぼすことなく、クラスタ化ASMノードのアップグレードやパッチ適用を独立して行うことができるため、稼働時間が向上します。ローリング・アップグレードとは、クラスタ内の1つ以上のノードが異なるソフトウェア・バージョンを使用している場合に、クラスタ化ASM環境のすべての機能が動作するということです。
|
注意: ローリング・アップグレードはクラスタ化ASMインスタンスにのみ適用され、Oracle Database 11g以上の環境でのみ実行できます。つまり、この機能を使用してOracle Database 10gからOracle Database 11gにアップグレードすることはできません。 |
ローリング・アップグレードを実行するには、環境を準備する必要があります。Oracle Clusterwareを使用している場合は、ASMローリング・アップグレードを開始する前に、Oracle Clusterwareを次のパッチまたはリリース・バージョンに完全にアップグレードする必要があります。また、高可用性と最大稼働時間を保証するために、ローリング・アップグレード方法でOracle Clusterwareを準備する必要があります。
ノード上でASMソフトウェアのパッチ適用またはアップグレードを行う前に、ASMクラスタをローリング・アップグレード・モードにしてください。これにより、マルチバージョン・ソフトウェア・モードでアップグレードを開始して、環境を操作することができます。これを実行するには次のSQL文を発行します。numberにはバージョン番号、リリース番号、更新番号、ポート・リリース番号およびポート更新番号が含まれます。次の例のように、numberの値を一重引用符で囲んだ小数区切りの文字列(たとえば、'11.1.0.7.0')で入力して、アップグレードを実行します。
ALTER SYSTEM START ROLLING MIGRATION TO '11.1.0.7.0';
この文の実行元となるインスタンスは、番号に指定した値が現在インストールされているソフトウェアのバージョンと互換性があるかどうかを検証します。アップグレードが始まると、クラスタ化ASM環境の動作が変わり、ASMインスタンスでは次の操作のみが許可されます。
ディスク・グループのマウントとディスマウント
データベース・ファイルのオープン、クローズ、サイズ変更および削除
固定ビューおよび固定パッケージへの限定アクセス
|
注意: DBMS_DISKGROUPなどの固定パッケージを使用すると、固定ビューを問い合せて、無名PL/SQLブロックを実行できます。ただし、ローカル・ビューしか使用できません。クラスタ化ASM環境がローリング・アップグレード・モードの場合、Oracleではすべてのグローバル・ビューが無効になります。 |
ローリング・アップグレードが開始されたら、各ASMインスタンスを停止して、ソフトウェア・アップグレードを実行できます。更新されたASMインスタンスは起動時にクラスタに再加入できます。クラスタ化ASM環境内のすべてのノードを最新のソフトウェア・バージョンに移行したら、ローリング・アップグレード・モードを終了できます。
ASMインスタンスがローリング・アップグレード・モードのときにディスクがオフラインになると、ローリング・アップグレードが終了するまでディスクはオフラインのままです。また、ASMクラスタがローリング・アップグレード・モードでなくなるまで、ディスクの削除タイマーは停止しています。
また、アップグレードで問題が発生した場合は、同じ手順を使用してノードのアップグレードをロールバックすることもできます。アップグレード中は、ASM機能はクラスタ内の任意のノード上にある最下位のソフトウェア・バージョンと互換性があります。
クラスタ内のどこかでリバランス操作が行われている場合は、アップグレードに失敗します。リバランスが完了するまで待ってから、ローリング・アップグレードを開始してください。また、クラスタ内にアクティブなインスタンスが1つ存在するかぎり、ローリング・アップグレード状態は維持されます。
クラスタに加入する新規インスタンスは、起動時にすぐにローリング・アップグレード状態に切り替わります。つまり、クラスタ化ASM環境でローリング・アップグレードが進行中な場合、および新しいASMインスタンスがクラスタに加わる場合は、クラスタがローリング・アップグレード・モードであることが新しいインスタンスに通知されます。次のSQL関数を使用すると、クラスタ化ASM環境の状態を問い合せることができます。
SELECT SYS_CONTEXT('sys_cluster_properties', 'cluster_state') FROM DUAL;
クラスタ化ASM環境内のすべてのインスタンスの実行が停止した場合は、ASMインスタンスを再起動しても、その再起動したインスタンスはローリング・アップグレード・モードになりません。インスタンスの再起動後にアップグレードを実行するには、コマンドを再実行して、ローリング・アップグレード操作を再開する必要があります。ローリング・アップグレードが完了したら、次のSQL文を実行します。
ALTER SYSTEM STOP ROLLING MIGRATION;
この文を実行すると、次の操作が行われます。
クラスタの全メンバーのソフトウェア・バージョンが同じであることを確認します。バージョンが異なるASMインスタンスが1つ以上存在する場合は、エラーが表示され、クラスタはローリング・アップグレード・モードのままになります。
クラスタ全体の状態を更新します。それにより、ASMインスタンスはローリング・アップグレード・モードではなくなります。ASMインスタンスは、完全なクラスタ化ASM機能のサポートを開始します。
保留にされたリバランス操作は、ASM_POWER_LIMITパラメータの設定で有効化されていれば再開されます。
Oracle RAC環境で、Oracle Databaseホームとは異なるホームでASMを構成する場合、パッチの適用は指定の順序で行う必要があります。Oracle Clusterwareバージョンが、適用するパッチのバージョンと最低でも同じであることを最初に確認してください。まず、Oracle Clusterwareホームにパッチを適用する必要があります。次にASMホームにパッチを適用し、最後にOracle Databaseホームにパッチを適用します。
|
注意: ASMホームにパッチを適用してから、Oracle Databaseホームにパッチを適用してください。 |
ASMインスタンスとデータベース・インスタンスは、同じオペレーティング・システム・アクセス権を持っている必要があります。たとえば、ASMインスタンスとデータベース・インスタンスは、関連するASMディスク・グループを構成しているディスクに対して同じ読取り権限と書込み権限を持っている必要があります。UNIXシステムの場合は通常、これは共有UNIXグループ・メンバーシップによって実現されます。Windowsシステムでは、ASMサービスは管理者として実行できます。
ASMインスタンスはデータ・ディクショナリを備えていないため、ASMインスタンスに接続するには3つのシステム権限(SYSASM、SYSDBAまたはSYSOPER)のいずれかを使用するしか方法はありません。この3つはASMインスタンスへの接続モードです。
|
関連項目: ASMおよびデータベース・インスタンスにメンバー・ディスク・アクセス権があることを確認する方法については、オペレーティング・システム固有のOracle Databaseのインストレーション・ガイドを参照してください。 |
SYSASMは、SYSDBAデータベース管理者権限とASMストレージ管理者権限を区別できるシステム権限です。SYSASM権限へのアクセスは、OSASMグループとして指定されるオペレーティング・システム・グループのメンバーシップによって付与されます。これはSYSDBA権限やSYSOPER権限と似ています。SYSDBA権限やSYSOPER権限は、OSDBAおよびOSOPERオペレーティング・システム・グループとして指定されるグループのメンバーシップによって付与されるシステム権限です。これらのシステム権限すべてに対して1つのグループを指定するか、オペレーティング・システム権限ごとに別のグループを指定することができます。
ASMのインストール時にシステム権限を分けることができるため、データベース管理者、ストレージ管理者およびデータベース・オペレータは個別のオペレーティング・システム権限グループをそれぞれ持っています。カスタム・インストール・オプションを使用して、ASMの権限用のオペレーティング・システム認証グループとして個別のオペレーティング・システム・グループを指定します。表3-1は、ASMのオペレーティング・システム認証グループと、そのメンバーに付与される権限を示しています。
表3-1 ASMのオペレーティング・システム認証グループ
| グループ | メンバーに付与される権限 |
|---|---|
|
OSASM |
SYSASM権限。ASMインスタンスに対する完全な管理権限を提供します。 |
|
OSDBA for ASM |
ASMインスタンスに対するSYSDBA権限。この権限はASMで格納されているデータへのアクセス権を付与します。現在のリリースでは、SYSASM管理権限が付与されます。 |
|
OSOPER for ASM |
ASMインスタンスに対するSYSOPER権限。 |
システム権限のアクセスを個別のオペレーティング・システム・グループに分けない場合、メンバーにOSDBA、OSOPER、OSASM、OSDBA for ASMおよびOSOPER for ASM権限でアクセス権が付与されるグループとして1つのオペレーティング・システム・グループを指定できます。これらすべてのデフォルトのオペレーティング・システム・グループの名前はdbaです。ASMのカスタム・インストールを実行するときに、OSASM、OSDBA for ASMおよびOSOPER for ASMを指定することもできます。さらに、カスタム・データベース・インストールを実行する際にOSDBAとOSOPERを指定できます。
個別のオペレーティング・システム権限のグループを作成する場合や、1つのグループを使用してすべてのシステム権限用のオペレーティング・システム認証を提供する場合を問わず、ASMインスタンスに接続してインスタンスを管理するにはSYSASMを使用する必要があります。Oracle 11gリリース1ではSYSASMとSYSDBAのどちらの権限もサポートされますが、SYSDBA権限を使用してASMインスタンスを管理する場合、SYSDBA権限が管理コマンドについてASMインスタンス上で使用不可であることを示す警告メッセージがアラート・ログに書き込まれます。今後のリリースでは、SYSDBAを使用してASMインスタンスを管理する権限は削除される予定です。
OSDBA、OSOPERおよびOSASMとして指定されるグループのメンバーシップを使用したオペレーティング・システム認証は、すべてのOracleプラットフォームで有効です。SYSASMとしてASMインスタンスに接続すると、使用可能なすべてのASMディスク・グループと管理機能に対する完全なアクセス権が付与されます。
この項では、ASMインスタンスへの接続方法について説明します。ユーザー名を指定する例では、パスワードを入力するように求められます。
|
注意: SYSユーザーはインストール・プロセス中にDBCAによってデフォルトで作成され、3つのシステム権限をすべて保持しています。 |
オペレーティング・システム認証を使用してASMインスタンスにローカルで接続するには次の文を使用します。
sqlplus / AS SYSASM
パスワード認証を使用してローカルで接続するには次の文を使用します。
sqlplus SYS AS SYSASM
パスワード認証を使用してリモートで接続するには次の文を使用します。
sqlplus sys@\"myhost.mydomain.com:1521/asm\" AS SYSASM
SYSDBA権限を使用してASMインスタンスに接続するには次の文を使用します。
sqlplus / AS SYSDBA
今後のリリースでは、SYSASM権限のみがアクセスできるASM管理コマンドを発行する場合、アラート・ログにメッセージが書き込まれます。
SYSASMとしてASMインスタンスにログインすると、CREATE USERおよびGRANTのSQL文を組み合せて、SYSASM権限を持つ新しいユーザーを作成できます。これらのコマンドでは、ローカルASMインスタンスのパスワード・ファイルが更新されます。同様に、REVOKEコマンドを使用してユーザーのSYSASM権限を無効にしたり、DROP USERコマンドを使用してパスワード・ファイルからユーザーを削除したりすることができます。次の例では、new_userとして識別されるユーザーについて、これらの操作の実行方法を説明します。
REM create a new user, then grant the SYSASM privilege SQL> CREATE USER new_user IDENTIFIED by new_user_passwd; SQL> GRANT SYSASM TO new_user; REM connect the user to the ASM instance SQL> CONNECT new_user AS SYSASM; Enter password: REM revoke the SYSASM privilege, then drop the user SQL> REVOKE SYSASM FROM new_user; SQL> DROP USER new_user;
OSASMグループとして指定されたオペレーティング・システム・グループのメンバーシップにより、SYSASMシステム権限のオペレーティング・システム認証が提供されます。OSASMはASMに対して排他的に提供されます。その権限の個別のオペレーティング・システム・グループを使用する場合、最初はASMをインストールするユーザーのみがOSASMグループのメンバーになります。ただし、その他のユーザーを追加できます。OSASMグループのメンバーは、SYSASM権限を使用した接続が許可され、ASMへの完全なアクセス(ASMインスタンスによって管理されるすべてのディスク・グループへの管理アクセスなど)を保持します。
LinuxおよびUNIXシステムの場合、OSASM、OSOPERおよびOSDBAとして指定されるデフォルトのオペレーティング・システム・グループはdbaです。Windowsシステムの場合、OSASM、OSOPERおよびOSDBAとして指定されるデフォルト名はdbaです。
|
注意: Oracle Databaseホームのソフトウェア所有者であるユーザー(OracleマニュアルでOracleユーザーとして説明されているユーザー)は、ASMホームのOSDBAグループとして指定されるグループのメンバーである必要があります。これは、ASMとOracle Databaseが同じOracleホームを共有する場合、自動的に構成されます。ASMインスタンスとデータベース・インスタンスを別のホームにインストールする場合、ASM用の個別のOSDBAグループを作成し、各OSDBAグループに正しいグループ・メンバーシップを指定していることを確認する必要があります。これらが行われていないと、データベース・インスタンスはASMインスタンスに接続できません。 |
|
関連項目: オペレーティング・システム認証の使用の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
ASMのパスワード・ファイル認証はローカルとリモートの両方で機能します。パスワード・ファイル認証を有効にするには、ASMのパスワード・ファイルを作成する必要があります。Oracle Enterprise ManagerでASMにリモート接続できるようにする場合も、パスワード・ファイルが必要です。
ASMストレージ・オプションを選択した場合、DBCAはASMディスク・グループの最初の構成時にASMのパスワード・ファイルを作成します。データベース・パスワード・ファイルと同様に、パスワード・ファイルの作成時にそのファイルに追加されるユーザーはSYSのみです。パスワード・ファイルにその他のユーザーを追加するには、「ASMのSYSASM権限について」の項で前述したように、CREATE USERコマンドとGRANTコマンドを使用できます。
DBCAを使用せずにASMインスタンスを構成する場合は、手動でパスワード・ファイルを作成し、ユーザーSYSにSYSASM権限を付与する必要があります。
|
関連項目:
|
Oracle DatabaseおよびASMを新規にインストールする場合、最初にデータベースを作成し、ASMストレージ・オプションを選択します。オペレーティング・システムのファイル・システムまたはRAWデバイスにデータベース・ファイルを格納する既存のOracleデータベースがある場合は、データファイルの一部または全部をASMストレージに移行できます。
OracleにはデータベースをASMに移行するいくつかの方法が用意されています。ASMを使用すると、データベース記憶域の管理の自動化と簡素化が可能になります。この項で説明するように、次の方法を使用してASMに移行できます。
|
注意: 少なくともOracle Database 10gにアップグレードしてから、データベースをASMに移行してください。 |
Enterprise Managerでは、GUIを使用してコールドおよびホット・データベース移行を実行できます。Enterprise Managerのホームページの「データベースの変更」ヘッダーの下から移行ウィザードにアクセスできます。
Oracle Recovery Manager(RMAN)を使用して手動でASMに移行できます。RMANを使用して、単一の表領域またはデータファイルをASMに移行することもできます。
|
関連項目: RMANを使用してASMデータを移行する手順の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
Oracle Maximum Availability Architecture(MAA)のWebサイトには、次のような異なるシナリオに基づく、高度なベスト・プラクティスのテクニカル・ホワイト・ペーパーが提供されています。
最小停止時間によるASMへの移行
トランスポータブル表領域を使用したプラットフォームの移行
トランスポータブル・データベースを使用したプラットフォームの移行
|
関連項目: ASMを使用しない環境からASMに移行するためのASMベスト・プラクティスの詳細は、OTNの次のMAAリンクを参照してください。
|