日本語PDF

21 Oracle ASMフィルタ・ドライバの管理

Oracle ASMフィルタ・ドライバ(Oracle ASMFD)を使用すると、システムを再起動するたびにOracle ASMで使用するディスク・デバイスをリバインドする必要がなくなるため、ディスク・デバイスの構成および管理が簡単になります。

この項では、次の項目について説明します。

警告:

Oracle ASMFDを含めてOracle ASMを構成する場合、Oracle ASMディスクの内容を変更または消去したり、構成ファイルなどのファイルを変更したりしないでください。

ノート:

  • Oracle ASMFDの構成は、Oracle Grid Infrastructureのインストール時に自動プロセスとなるようチェック・ボックスを使用して有効にできるようになりました。

  • ASMLIBが既存のOracle ASMインストール用にインストールおよび構成されている場合、Oracle ASMFDのインストールおよび構成前に、既存のASMLIB構成を明示的にアンインストールする必要があります。

  • Oracle ASMフィルタ・ドライバ(Oracle ASMFD)は、Oracle Database 12cリリース1 (12.1.0.2)からLinuxシステムで使用できます。Oracle ASMFDは、Oracle Database 12cリリース2 (12.2.0.1)からSolarisシステムで使用できます。

  • この項のトピックに記載されているプロシージャのステップでは、$ORACLE_HOME環境変数はOracle Grid Infrastructureホームのディレクトリ・パスに設定されています。#がオペレーティング・システム・プロンプトとして表示されているコマンドは、ルート・ユーザーとして実行する必要があります。$がオペレーティング・システム・プロンプトとして表示されているコマンドは、Oracle Grid Infrastructureホームの所有者として実行する必要があります

関連項目:

Oracle ASMフィルタ・ドライバについて

Oracle ASMフィルタ・ドライバ(Oracle ASMFD)は、Oracle ASMディスクのI/Oパスに存在するカーネル・モジュールです。Oracle ASMでは、フィルタ・ドライバによりOracle ASMディスクへの書込みI/Oリクエストが検証されます。

Oracle ASMFDを使用すると、システムを再起動するたびにOracle ASMで使用するディスク・デバイスをリバインドする必要がなくなるため、ディスク・デバイスの構成および管理が簡単になります。

Oracle ASMフィルタ・ドライバでは、無効なI/Oリクエストは拒否されます。このアクションにより、ディスク・グループ内のディスクおよびファイルの破損を引き起こす可能性のあるOracle ASMディスクの偶発的な上書きがなくなります。たとえば、偶発的な上書きを引き起こす可能性のあるOracle以外のI/Oは、Oracle ASMフィルタ・ドライバによってすべて除外されます。

Oracle ASMLIBとOracle ASMフィルタ・ドライバについて

Oracle Grid Infrastructure 12cリリース2 (12.2)以降、Oracle ASMLIBがシステムにインストールされている場合、Oracle ASMフィルタ・ドライバ(Oracle ASMFD)をインストールして構成することはできません。Oracle ASMFDをインストールして構成する場合は、先にOracle ASMLIBをアンインストールする必要があります。

パーティション表とOracle ASMフィルタ・ドライバについて

拡張パーティション表は、Oracle Automatic Storage Management 12.2リリース1 (12.2.0.1)のOracle ASMフィルタ・ドライバ(ASMFD)でサポートされません。

関連項目:

Oracle ASMLIBの削除の詳細は、使用しているオペレーティング・システムの『Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイド』

Oracle ASMフィルタ・ドライバの構成

Oracle Grid Infrastructureのインストール時またはOracle Grid Infrastructureのインストール後に、デバイスの永続性のためにOracle ASMフィルタ・ドライバ(Oracle ASMFD)を構成できます。

ノート:

  • ASMLIBが既存のOracle ASMインストール用にインストールおよび構成されている場合、Oracle ASMFDのインストールおよび構成前に、既存のASMLIB構成を明示的に削除する必要があります。Oracle ASMLIBの削除およびOracle Grid Infrastructureのインストールの詳細は、使用しているオペレーティング・システムの『Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイド』を参照してください。

  • ASMLIBを以前にシステムにインストールしている場合、ASMCMD afd_configureを実行してOracle ASMFDを構成する前に(ASMCMD dsset ''で) Oracle ASMディスク文字列を''に設定する必要があります。

  • Oracle ASMフィルタ・ドライバ(ASMFD)の構成の追加情報については、「My Oracle Support」(https://support.oracle.com)でOracle ASMFDに関するMy Oracle Supportの記事を参照してください。

関連項目:

インストール時のOracle ASMフィルタ・ドライバの構成

Oracle Grid Infrastructureのインストール時に、必要に応じて、ASMディスク・グループの作成ウィザード・ページにある「ASMフィルタ・ドライバの構成」チェック・ボックスを使用し、Oracle ASMフィルタ・ドライバの自動インストールおよび構成をシステムに対して有効にできます。「ASMフィルタ・ドライバの構成」ボックスを有効にすると、Oracle ASMFD用の自動プロセスがOracle Grid Infrastructureのインストール時に起動されます。

Oracle Grid Infrastructureをインストールしたシステムでudevを使用しない場合は、次の手順を完了してインストーラが起動される前に、Oracle ASMFDのディスクをプロビジョニングすることもできます。この手順は、Oracle Grid InfrastructureのインストールzipファイルをOracle Grid Infrastructureホームで解凍した後、ただし、インストール・プロセス時にセットアップ・スクリプトを実行する際に「ASMフィルタ・ドライバの構成」チェック・ボックスを有効にする前に、実行する必要があります。

  1. Oracle ASMフィルタ・ドライバとともに使用するために共有ディスクを構成するには、rootユーザーとしてログインし、環境変数$ORACLE_HOMEをGridホームの場所に、環境変数$ORACLE_BASEを一時的な場所にそれぞれ設定します。

    su root
    # export ORACLE_HOME=/u01/app/oracle/21.0.0/grid
    # export ORACLE_BASE=/tmp

    ORACLE_BASE変数は、Oracle Grid Infrastructureのインストール前にGridホームに診断ファイルまたはトレース・ファイルが作成されないように、一時的な場所に設定します。

    次のステップでコマンドを実行する前に、$ORACLE_HOME/binディレクトリにいることを確認してください。

  2. ORACLE_HOME/binディレクトリをPATH環境変数に追加します。

    # export PATH=$ORACLE_HOME/bin:$PATH
  3. ASMCMD afd_labelコマンドを次のように使用して、Oracle ASMフィルタ・ドライバとともに使用するためにディスク・デバイスをプロビジョニングします。

    # asmcmd afd_label DATA1 /dev/disk1a --init
  4. ASMCMD afd_lslblコマンドを使用して、Oracle ASMFDとともに使用するためにデバイスにマークが付けられていることを確認します。

    # asmcmd afd_lslbl /dev/disk1a
  5. Oracle ASMFD用のディスクのプロビジョニングを終了したら、ORACLE_BASE変数の設定を解除します。

    # unset ORACLE_BASE
  6. インストールのセットアップ・スクリプト(gridSetup.sh)を実行してOracle Grid Infrastructureをインストールし、Oracle ASMフィルタ・ドライバの構成を有効にします。

    インストール・プロセス時にASMディスク・グループの作成ウィザード・ページで、「ASMフィルタ・ドライバの構成」ボックスを選択し、Oracle ASMフィルタ・ドライバの構成を有効にして初期ディスク・グループ(通常DATAという名前)にプロビジョニング済のディスクを追加します。

Oracle ASMFDを管理するためのASMCMDコマンドの詳細は、ASMCMD Oracle ASMフィルタ・ドライバ管理コマンドを参照してください。

インストール後のOracle ASMフィルタ・ドライバの構成

インストール時にOracle ASMフィルタ・ドライバ(ASMFD)の構成を有効にしなかった場合は、次の各トピックの説明に従って、Oracle ASMFDを使用するようにOracle ASMのデバイスを手動で構成できます。

関連項目:

Oracle Grid Infrastructureのクラスタウェア環境でのOracle ASMフィルタ・ドライバの構成

インストール後にOracle Clusterware環境でOracle ASMFDを構成するには、次のステップを実行します。

  1. Oracle Grid Infrastructure所有者として、Oracle ASMFDによるデバイスの検出が今後可能となるようにOracle ASMディスク検出文字列を更新します。

    まず、Oracle ASMディスク検出文字列の現在の値を取得します。

    $ $ORACLE_HOME/bin/asmcmd dsget
    

    前述のコマンドのdisk_stringの値は、dsgetによって取得された現在のOracle ASMディスク検出文字列の値です。ディスクがオペレーティング・システム環境のデフォルトの場所にあり、ディスク検出文字列が設定されていない場合、ディスク検出文字列は空です。

    Oracle ASMディスク検出文字列を更新します。文字列が空の場合は、ディスク検出文字列の値を更新して、デフォルトのディスクの場所を含めます。

    $ $ORACLE_HOME/bin/asmcmd dsset 'disk_string,AFD:*'
    
  2. Oracle Grid Infrastructure所有者として、クラスタ内のノードおよびノード・ロールをリストします。

    $ $ORACLE_HOME/bin/olsnodes -a
    
  3. それぞれのハブ・ノードとリーフ・ノードで、ローリング・モードまたは非ローリング・モードのいずれかでこのステップを実行します。

    1. rootユーザーとしてログインし、Oracle Grid Infrastructureを停止します。

      # $ORACLE_HOME/bin/crsctl stop crs
      

      コマンドでエラーが戻された場合、Oracle Grid Infrastructureを強制的に停止します。

      # $ORACLE_HOME/bin/crsctl stop crs -f
      
    2. rootとして、ノード・レベルでフィルタするようにOracle ASMFDを構成します。

      # $ORACLE_HOME/bin/asmcmd afd_configure
      
    3. Oracle Grid Infrastructure所有者として、Oracle ASMFDのステータスを確認します。

      $ $ORACLE_HOME/bin/asmcmd afd_state
      ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'myhost'
      
    4. Oracle ASMFDラベルを使用してすべてのOracle ASMディスクにラベル付けします。

      # $ORACLE_HOME/bin/asmcmd afd_label 'label_name' 'device_path' --migrate
    5. rootユーザーとして、ノードのOracle Clusterwareスタックを開始します。

      # $ORACLE_HOME/bin/crsctl start crs
      
    6. Oracle Grid Infrastructure所有者として、Oracle ASMFD検出ディスク文字列を、ステップ1で取得した更新済のOracle ASMディスク検出文字列値に設定します。

      $ $ORACLE_HOME/bin/asmcmd afd_dsset disk_string
      

Oracle ASMFD検出ディスク文字列が正しく設定されていれば、Oracle ASMフィルタ・ドライバは、以前Oracle ASMLIBによって管理されていたものを含め、ディスクを識別してディスクの管理を開始します。

関連項目:

Oracle Grid Infrastructureのスタンドアロン環境でのOracle ASMの構成

スタンドアロン(Oracle Restart)環境でOracle ASMフィルタ・ドライバ(ASMFD)を構成するには、次のステップを実行します。

  1. Oracle Grid Infrastructureスタンドアロン・サーバーの所有者として、Oracle ASMFDによるディスク・デバイスの検出が今後可能となるようにOracle ASMディスク検出文字列を更新します。

    まず、Oracle ASMディスク検出文字列の現在の値を確認し、次に値を更新します。

    $ $ORACLE_HOME/bin/asmcmd dsget
    
    $ $ORACLE_HOME/bin/asmcmd dsset 'disk_string,AFD:*'
    

    前述のコマンドのdisk_stringの値は、dsgetによって取得されたディスク検出文字列の値です。

  2. rootユーザーとしてログインし、次のコマンドを使用して、スタンドアロン・サーバー用のOracle Grid Infrastructureインストールを停止します。

    # $ORACLE_HOME/bin/crsctl stop has -f
    
  3. rootユーザーとしてOracle ASMFDを構成します。

    # $ORACLE_HOME/bin/asmcmd afd_configure
    

    このコマンドはOracle ASMFDを構成し、Oracle ASMLIBが存在する場合これを構成解除します。

  4. Oracle Grid Infrastructureスタンドアロン・サーバーの所有者として、Oracle ASMFDのステータスを確認します。

    $ $ORACLE_HOME/bin/asmcmd afd_state
    
    ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'myhost'
    
  5. rootユーザーとして、スタンドアロン・サーバー用のOracle Grid Infrastructureを開始します。

    # $ORACLE_HOME/bin/crsctl start has
    
  6. Oracle Grid Infrastructureスタンドアロン・サーバーの所有者として、Oracle ASMFDディスク検出文字列を、ステップ1で取得した更新済のOracle ASMディスク検出文字列の値に設定します。

    $ $ORACLE_HOME/bin/asmcmd afd_dsset disk_string
    

Oracle ASMフィルタ・ドライバは、Oracle ASMLIBによって前に管理されていたディスクを識別し、その管理を開始します。

関連項目:

ASMLIB環境からOracle ASMフィルタ・ドライバへの移行について

ASMLIBが既存のOracle ASMインストール用にインストールおよび構成されている場合、Oracle ASMFDのインストールおよび構成前に、既存のASMLIB構成を明示的にアンインストールする必要があります。

「Oracle Cluster Registryまたは投票ファイルのないOracle ASMディスク・グループの移行」の説明に従い、Oracle Cluster Registry (OCR)および投票ファイルを、可能な場合他のディスク・グループに一時的に移動し、Oracle ASMFDを使用するディスク・グループを移行することをお薦めします。Oracle ASMFDを使用するディスク・グループを移行した後、OCRおよび投票ファイル・ディスクをディスク・グループに戻します。他のディスク・グループにOCRまたは投票ファイルが含まれる場合、同様にこれらを移行して、すべてのディスク・グループをOracle ASMFDに確実にオンラインで移行できます。

この項では、次の項目について説明します。

関連項目:

Oracle Cluster Registryまたは投票ファイルのないOracle ASMディスク・グループの移行

Oracle Cluster Registry (OCR)または投票ファイルのないOracle ASMディスク・グループをOracle ASMFDに移行するには:

  1. この手順にあるコマンドを実行するには、任意のノードでOracle Grid Infrastructureの所有者としてログインします。
  2. 既存のディスク・グループをリストします。
    $ $ORACLE_HOME/bin/asmcmd lsdg
    
  3. 関連付けられているディスクをリストします。
    $ $ORACLE_HOME/bin/asmcmd lsdsk -G diskgroup
    
  4. Oracle ASMがアクティブかどうかを確認します。
    $ $ORACLE_HOME/bin/srvctl status asm
    
  5. データベースを停止し、すべてのノードのディスク・グループをディスマウントします。
    $ $ORACLE_HOME/bin/srvctl stop diskgroup -diskgroup diskgroup -f
    
  6. ハブ・ノード上の各ディスクに対して次のコマンドを実行して、ディスク・グループ内のすべての既存ディスクにラベル付けします。
    $ $ORACLE_HOME/bin/asmcmd afd_label label disk_path --migrate
    
  7. すべてのハブ・ノード上のディスクをスキャンします。
    $ $ORACLE_HOME/bin/asmcmd afd_scan 
    
  8. データベースを開始し、すべてのノードのディスク・グループをマウントします。
    $ $ORACLE_HOME/bin/srvctl start diskgroup -diskgroup diskgroup

Oracle Cluster Registryまたは投票ファイルを含むOracle ASMディスク・グループの移行

Oracle Cluster Registry (OCR)または投票ファイルを含むOracle ASMディスク・グループをOracle ASMフィルタ・ドライバ(Oracle ASMFD)に移行するには:

  1. rootユーザーとしてログインし、次のコマンドを1つのノードで実行してOCRおよび投票ファイルを含むディスク・グループをリストします。
    # $ORACLE_HOME/bin/ocrcheck -config
    
    # $ORACLE_HOME/bin/crsctl query css votedisk
    
  2. Oracle Grid Infrastructure所有者として、ディスク・グループに関連付けられているディスクをリストします。
    $ $ORACLE_HOME/bin/asmcmd lsdsk -G disk_group 
    
  3. rootとして、すべてのノードのデータベースおよびOracle Clusterwareを停止します。
    # $ORACLE_HOME/bin/crsctl stop cluster -all
    
  4. Oracle Grid Infrastructure所有者として、ハブ・ノード上の各ディスクに対して次のコマンドを実行して、ディスク・グループ内のすべての既存ディスクにラベル付けします。
    $ $ORACLE_HOME/bin/asmcmd afd_label label disk_path --migrate
    
  5. Oracle Grid Infrastructure所有者として、すべてのハブ・ノードで次のコマンドを実行し、すべてのハブ・ノードのディスクを再スキャンします。
    $ $ORACLE_HOME/bin/asmcmd afd_scan
    
  6. rootとして、すべてのノードのOracle Clusterwareスタックを開始し、OCRおよび投票ファイルのディスク・グループ、およびデータベースをマウントします。
    # $ORACLE_HOME/bin/crsctl start cluster -all

Oracle Grid Infrastructureのスタンドアロン環境でのOracle ASMディスク・グループの移行

Oracle Grid Infrastructureのスタンドアロン(Oracle Restart)環境で、既存のOracle ASMディスク・グループをOracle ASMフィルタ・ドライバに移行するには、次のステップを実行します。

  1. この手順のステップを実行するには、Oracle Grid Infrastructureのスタンドアロン・サーバー所有者としてログインします。
  2. 既存のディスク・グループをリストします。
    $ $ORACLE_HOME/bin/asmcmd lsdg 
    
  3. 既存のディスクをリストします。
    $ $ORACLE_HOME/bin/asmcmd lsdsk -G diskgroup_name
    
  4. Oracle ASMインスタンスのステータスがアクティブかどうかを確認します。
    $ $ORACLE_HOME/bin/srvctl status asm
    
  5. すべてのデータベースを停止し、すべてのディスク・グループをディスマウントします。各データベースに対して、次のコマンドを実行します。
    $ $ORACLE_HOME/bin/srvctl stop database -db db_unique_name
    
    $ /$ORACLE_HOME/bin/srvctl stop diskgroup -diskgroup diskgroup_name -f
    
  6. 各ディスクに対して次のコマンドを実行して、ディスク・グループ内のすべての既存ディスクにラベル付けします。
    $ $ORACLE_HOME/bin/asmcmd afd_label label disk_path --migrate
    
  7. ディスクを再スキャンします。
    $ $ORACLE_HOME/bin/asmcmd afd_scan
    
  8. データベースを開始し、ディスク・グループをマウントします。
    $ $ORACLE_HOME/bin/srvctl start diskgroup -diskgroup diskgroup_name

Oracle ASMフィルタ・ドライバが構成されているかどうかの判別

SYS_ASMFD_PROPERTIESAFD_STATEパラメータの値は、Oracle ASMFDがOracle ASMインスタンスに構成されているかどうかを示します。

ASMCMD afd_stateコマンドを使用すると、Oracle ASMFDの状態を確認できます。次に例を示します。

$ $ORACLE_HOME/bin/asmcmd afd_state
ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'DEFAULT' on host 'myhost'

Oracle ASMFDの状態を判別するASMCMD afd_stateコマンドの使用方法の詳細は、afd_stateを参照してください。

Oracles ASMFDがホストに存在するかどうかを判別するために、SYS_CONTEXTからAFD_STATEの値を表示することもできます。問合せは、Oracle ASMインスタンスで実行する必要があります。

AFD_STATEの値がNOT AVAILABLEの場合、Oracle ASMFDは構成されていません。

SQL> SELECT SYS_CONTEXT('SYS_ASMFD_PROPERTIES', 'AFD_STATE') FROM DUAL;
SYS_CONTEXT('SYS_ASMFD_PROPERTIES','AFD_STATE')
--------------------------------------------------------------------------------
NOT AVAILABLE

CONFIGUREDは、Oracle ASMFDが完全に設定されており、Oracle ASMインスタンスをドライバに登録できることを意味します。

SQL> SELECT SYS_CONTEXT('SYS_ASMFD_PROPERTIES', 'AFD_STATE') FROM DUAL;
SYS_CONTEXT('SYS_ASMFD_PROPERTIES','AFD_STATE')
--------------------------------------------------------------------------------
CONFIGURED

Oracle ASMフィルタ・ドライバのAFD_DISKSTRINGパラメータの更新

AFD_DISKSTRINGパラメータは、Oracle ASMFDによって管理されるディスクを識別するために使用されるOracle ASMFDディスク検出文字列を示します。

ASMCMD afd_dssetおよびafd_dgsetコマンドを使用して、AFD_DISKSTRINGパラメータを設定し表示できます。次に例を示します。

$ $ORACLE_HOME/bin/asmcmd afd_dsset '/dev/rdsk/mydisks/*'

$ $ORACLE_HOME/bin/asmcmd afd_dsget
AFD discovery string: /dev/rdsk/mydisks/*

Oracle ASMFDディスク検出文字列を表示し設定するためのASMCMDコマンドの詳細は、afd_dsgetおよびafd_dssetを参照してください。

ALTER SYSTEM SQL文を使用してAFD_DISKSTRINGを設定することもできます。ラベルは、Oracle ASMFDディスク検出文字列によって識別されるディスクのディスク・ヘッダーで作成されます。

SQL> ALTER SYSTEM AFD_DISKSTRING SET '/dev/disk0','/dev/disk1','/devices/dsk/*';
System altered.

次の問合せを使用して、AFD_DISKSTRINGパラメータの値を取得できます。

SQL> SELECT SYS_CONTEXT('SYS_ASMFD_PROPERTIES', 'AFD_DISKSTRING') FROM DUAL;
SYS_CONTEXT('SYS_ASMFD_PROPERTIES','AFD_DISKSTRING')
--------------------------------------------------------------------------------
'/dev/disk0','/dev/disk1','/devices/dsk/*'

Oracle ASMフィルタ・ドライバ・ディスク用のOracle ASMのASM_DISKSTRINGパラメータの更新

Oracle ASMディスク検出文字列を更新して、ASM_DIKSTRING初期化パラメータに対してOracle ASMFDディスク・ラベル名を追加または削除できます。

たとえば、次のようにOracle ASMFDディスクをASM_DIKSTRING初期化パラメータに追加できます。

ASM_DISKSTRING = 'AFD:DISK0', 'AFD:DISK1', '/dev/rdsk/mydisks/*'

または、次のようにASM_DIKSTRING初期化パラメータを設定できます。

ASM_DISKSTRING = 'AFD:*', '/dev/rdsk/mydisks/*'

ASMCMD dsgetおよびdssetコマンドを使用すると、Oracle ASMディスク検出文字列を表示し設定できます。たとえば、次のようにOracle ASMディスク検出文字列を設定すると、Oracle ASMFDディスクを追加できます。

$ $ORACLE_HOME/bin/asmcmd dsset 'AFD:*,/dev/rdsk/mydisks/*'

次のように、以前に追加したOracle ASMFDディスクを削除できます。

$ $ORACLE_HOME/bin/asmcmd dsset '/dev/rdsk/mydisks/*'

Oracle ASMディスク検出文字列を表示し設定するためのASMCMDコマンドの詳細は、dsgetおよびdssetを参照してください。

ASM_DISKSTRING初期化パラメータの詳細は、ASM_DISKSTRINGを参照してください。

Oracle ASMフィルタ・ドライバ・ラベルの設定、クリアおよびスキャン

Oracle ASMFDによって使用されるディスクをプロビジョニングするラベルを設定します。ラベルを設定すると、指定したディスクは、Oracle ASMFDによって管理されます。

ASMCMD afd_labelafd_unlabelおよびafd_scanコマンドを使用すると、ラベルを追加、削除およびスキャンできます。次に例を示します。

$ $ORACLE_HOME/bin/asmcmd afd_label 'disk0' '/dev/rdsk/mydisks/disk0'

$ $ORACLE_HOME/bin/asmcmd afd_unlabel 'disk0'

$ $ORACLE_HOME/bin/asmcmd afd_scan '/dev/rdsk/mydisks/*'

Oracle ASMFDディスクでラベルを追加および削除するASMCMDコマンドの詳細は、afd_labelafd_unlabelおよびafd_scanを参照してください。また、ASMCAによって、Oracle ASMFDディスクでのラベルの追加および削除がサポートされます。ASMCAを使用したディスク・グループの管理の詳細は、ASMCAによるディスク・グループの管理を参照してください。

SQL文を使用して、ラベルを管理することもできます。ラベルは、ALTER SYSTEM LABEL SET SQL文を使用して設定できます。次に例を示します。

SQL> ALTER SYSTEM LABEL SET 'disk0' TO '/dev/disk0';
System altered.

SQL> SELECT UPPER(path) FROM V$ASM_DISK ORDER BY PATH;
UPPER(PATH)
--------------------------------------------------------------------------------
AFD:DISK0

文を実行する際、任意でRENAMEまたはMIGRATEオプションを使用できます。ディスクがOracle ASMFDに対して以前にプロビジョニングされている場合、RENAMEオプションを使用してラベルの名前を変更できます。コマンドの実行時、Oracle ASMFDによってデバイスを管理しないようにする必要があります。ディスクがOracle ASMディスク・グループに以前に使用されていて、このディスク・グループがディスマウントされた場合、MIGRATEオプションを使用してこのディスクにラベル付けできます。

ALTER SYSTEM LABEL CLEARを使用すると、デバイスからラベルを削除し、Oracle ASMFDによるデバイスの管理を停止できます。次に例を示します。

SQL> ALTER SYSTEM LABEL CLEAR 'disk0';
System altered.

ローカル・ノードでALTER SYSTEM LABEL SETコマンドを実行した後、リモート・ノードでALTER SYSTEM LABEL SCANを使用できます。

ALTER SYSTEM LABEL SET文は、ディスク・ヘッダー上のラベルを書き込み、そのディスクはノード間で共有されるため、同じ文はクラスタの他のノードで実行されません。

デバイス・パスが指定されていない場合、文ではAFD_DISKSTRINGパラメータ値が使用され、スキャン操作が実行されます。

SQL> ALTER SYSTEM LABEL SCAN

Oracle ASMフィルタ・ドライバの構成解除

Oracle ASMフィルタ・ドライバ(Oracle ASMFD)がシステム上で構成済の場合、これを構成解除できます。

この項では、次の項目について説明します。

Oracle ASMFDを管理するためのASMCMDコマンドの詳細は、ASMCMD Oracle ASMフィルタ・ドライバ管理コマンドを参照してください。

関連項目:

CRSCTLコマンドの使用方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle Grid Infrastructureのクラスタウェア環境でのOracle ASMフィルタ・ドライバの構成解除

Oracle Clusterware環境でOracle ASMフィルタ・ドライバを構成解除するには、次のステップを実行します。

  1. Oracle ASMFDの構成解除後、Oracle ASMがディスク・デバイスを検出できるように、Oracle ASMディスク検出文字列を更新します。

  2. Oracle Grid Infrastructure所有者として、任意のノードで次のコマンドを実行し、クラスタ内のノードおよびノード・ロールをリストします。

    $ $ORACLE_HOME/bin/olsnodes -a
    
  3. 各ハブ・ノードおよびリーフ・ノードで、ローリング・モードまたは非ローリング・モードのいずれかで次を実行します。

    1. rootユーザーとしてログインし、Oracle Grid Infrastructureを停止します。

      # $ORACLE_HOME/bin/crsctl stop crs
      

      コマンドでエラーが戻された場合、次のようにOracle Grid Infrastructureを強制的に停止します。

      # $ORACLE_HOME/bin/crsctl stop crs -f
      
    2. rootとして、Oracle ACFSカーネル・モジュールを停止し、信頼性が最も高い停止を確実に実行します。

      # $ORACLE_HOME/bin/acfsload stop
      
    3. rootとして、Oracle ASMFDを構成解除します。

      # $ORACLE_HOME/bin/asmcmd afd_deconfigure
      
    4. rootとして、Oracle ACFSカーネル・モジュールを開始します。

      # $ORACLE_HOME/bin/acfsload start
      
    5. rootとして、ノードのOracle Clusterwareスタックを開始します。

      # $ORACLE_HOME/bin/crsctl start crs
      
    6. Oracle Grid Infrastructure所有者として、Oracle ASMFDのステータスを確認します。

      $ $ORACLE_HOME/bin/asmcmd afd_state
      
  4. Oracle Grid Infrastructure所有者として、Oracle ASMFDパスを削除するようにOracle ASM検出文字列を更新します。

    $ $ORACLE_HOME/bin/asmcmd dsget
    
    $ $ORACLE_HOME/bin/asmcmd dsset old_diskstring
    

    Oracle ASMディスク検出文字列の現在の値を確認してから、値を更新します。old_diskstringの値は、AFD: (Oracle ASMFD)パスで更新する前の古いディスク検出文字列値です。

関連項目:

Oracle Grid Infrastructureのスタンドアロン(Oracle Restart)環境でのOracle ASMフィルタ・ドライバの構成解除

Oracle Grid Infrastructureのスタンドアロン環境でOracle ASMフィルタ・ドライバを構成解除するには、次のステップを実行します。

  1. Oracle ASMFDの構成解除後、Oracle ASMがディスク・デバイスを検出できるように、Oracle ASMディスク検出文字列を更新します。

  2. rootユーザーとしてログインし、次のコマンドを使用して、スタンドアロン・サーバー用のOracle Grid Infrastructureインストールを停止します。

    # $ORACLE_HOME/bin/crsctl stop has
    

    前述のコマンドでエラーが戻された場合、次のコマンドを使用してください。

    # $ORACLE_HOME/bin/crsctl stop has -f
    
  3. rootとして、Oracle ACFSカーネル・モジュールを停止し、信頼性が最も高い停止を確実に実行します。

    # $ORACLE_HOME/bin/acfsload stop
    
  4. rootとして、Oracle ASMFDを構成解除します。

    # $ORACLE_HOME/bin/asmcmd afd_deconfigure
    
  5. rootとして、Oracle ACFSカーネル・モジュールを開始します。

    # $ORACLE_HOME/bin/acfsload start
    
  6. rootとして、スタンドアロン・サーバー用のOracle Grid Infrastructureを開始します。

    # $ORACLE_HOME/bin/crsctl start has
    
  7. Oracle Grid Infrastructureスタンドアロン・サーバーの所有者として、Oracle ASMFDのステータスを確認します。

    $ $ORACLE_HOME/bin/asmcmd afd_state
    
  8. Oracle Grid Infrastructureのスタンドアロン・サーバー所有者として、Oracle ASMFDパスを削除するようにOracle ASMディスク検出文字列を更新します。

$ $ORACLE_HOME/bin/asmcmd dsget

$ $ORACLE_HOME/bin/asmcmd dsset old_diskstring

Oracle ASMディスク検出文字列の現在の値を確認してから、値を更新します。old_diskstringの値は、AFD: (Oracle ASMFD)パスで更新する前の古いディスク検出文字列値です。

関連項目:

Oracle ASMフィルタ・ドライバのコマンド

この項では、Oracle ASMフィルタ・ドライバを管理するためにインストール時に使用されるOracle ASMフィルタ・ドライバ(ASMFD)コマンドについて説明します。これらのコマンドは、Oracle Grid Infrastructureホームの/binディレクトリにあります。

afdload

目的

afdloadは、Oracle ASMフィルタ・ドライバをロードまたはアンロードします。

構文

afdload { start | stop  } [ -s ]

表21-1に、afdloadコマンドで使用可能なオプションを示します。

表21-1 afdloadコマンドのオプション

オプション 説明

start

Oracle ASMフィルタ・ドライバをロードします。

stop

Oracle ASMフィルタ・ドライバをアンロードします。

-s

サイレント・モードで動作します。

説明

afdloadを使用してOracle ASMフィルタ・ドライバを手動でロードまたはアンロードできます。

stopオプションでドライバをアンロードする前に、ディスク・グループをディスマウントし、Oracle ASMを停止する必要があります。

afdloadを実行するには、rootまたは管理者の権限が必要です。

次に、Oracle ASMフィルタ・ドライバを停止(アンロード)するafdloadの使用例を示します。

# afdload stop

afddriverstate

目的

afddriverstateは、Oracle ASMフィルタ・ドライバの現在の状態に関する情報を示します。

構文

afddriverstate [-orahome ORACLE_HOME ] 
    { installed | loaded | version | supported } [-s]

表21-2に、afddriverstateコマンドで使用可能なオプションを示します。

表21-2 afddriverstateコマンドのオプション

オプション 説明

-orahome ORACLE_HOME

ユーザーがafddriverstateコマンドを実行する権限を持つOracle Grid Infrastructureホームを指定します。

installed

Oracle ASMフィルタ・ドライバがシステムにインストールされているかどうかを判別します。

loaded

Oracle ASMフィルタ・ドライバがメモリーにロードされているかどうかを判別します。

version

現在インストールされているOracle ASMフィルタ・ドライバ・システム・ソフトウェアのバージョンをレポートします。

supported

システムがOracle ASMフィルタ・ドライバでサポートされているカーネルであるかどうかをレポートします。

-s

コマンドの実行時、サイレント・モードを指定します。

説明

afddriverstateを使用して、Oracle ASMフィルタ・ドライバの現在の状態に関する詳細情報を表示できます。

次に、afddriverstateの使用例を示します。

$ afddriverstate version
AFD-9325:     Driver operating system kernel version = 2.6.39-400.3.0.el6uek.x86_64(x86_64).
AFD-9326:     Driver Oracle version = 150728.
AFD-9212:     Driver build version = MAIN.