Oracle ASMインスタンスにアクセスするための認証

Oracle ASMインスタンスはデータ・ディクショナリを備えていないため、Oracle ASMインスタンスに接続するには3つのシステム権限(SYSASMSYSDBAまたはSYSOPER)のいずれかを使用するしか方法はありません。Oracle ASMインスタンスへの接続モードには、次の3つがあります。

  • オペレーティング・システム認証を使用したローカル接続

  • パスワード認証を使用したローカル接続

  • パスワード認証を使用したOracle Net Servicesによるリモート接続

この節では、以下のトピックについて説明します。

Oracle ASMインスタンスとデータベース・インスタンスは、ディスク・グループへの読取り/書込みオペレーティング・システム・アクセス権を持っている必要があります。たとえば、Oracle ASMインスタンスとデータベース・インスタンスは、関連するOracle ASMディスク・グループを構成しているディスクに対して、同じ読取り権限と書込み権限を持っている必要があります。LinuxおよびUNIXシステムの場合は通常、これは共有のLinuxおよびUNIXグループ・メンバーシップ(OSASMグループ)によって提供されます。Windowsシステムでは、Oracle ASMサービスは管理者として実行する必要があります。

関連項目:

Oracle ASMの権限について

Oracle ASMのインストール時に、1つのオペレーティング・システム・グループをすべてのユーザーに使用できます。あるいは、システム権限を分けて、データベース管理者、ストレージ管理者およびデータベース・オペレータが個別のオペレーティング・システム権限グループをそれぞれ持つようにすることができます。

個別のオペレーティング・システム権限グループを作成するか、1つのグループを使用してすべてのシステム権限にオペレーティング・システム認証を提供するかにかかわらず、Oracle ASMインスタンスを管理するにはSYSASMを使用する必要があります。SYSDBA権限は、Oracle ASMインスタンスの管理には使用できません。SYSDBA権限を使用してOracle ASMインスタンスに対して管理コマンドを実行すると、エラーが発生します。SYSDBA権限は、データベースでディスク・グループへのアクセスに使用するためのものです。

また、Oracle ASMインスタンスの監視には、SYSDBA権限を持つASMSNMP(インストール時に作成)など、より権限の低いユーザーの使用をお薦めします。

OSDBA、OSOPERおよびOSASMとして指定されるグループのメンバーシップを使用したオペレーティング・システム認証は、すべてのOracleプラットフォームで有効です。SYSASMとしてOracle ASMインスタンスに接続すると、使用可能なすべてのOracle ASMディスク・グループと管理機能に対する完全なアクセス権が付与されます。

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

Oracle ASMユーザーへの1つのオペレーティング・システム・グループの使用

システム権限のアクセスを個別のオペレーティング・システム・グループに分けない場合、メンバーにOSDBA、OSOPERおよびOracle ASM用のOSASM権限でアクセス権が付与されるグループとして1つのオペレーティング・システム・グループを指定できます。通常、これらすべてのデフォルトのオペレーティング・システム・グループ名はdbaで、そのグループはデフォルト構成用に選択されます。

表3-1に、Oracle ASMユーザーに権限を分けないLinuxデプロイの例を示します。

表3-1 すべてのOracle ASMユーザーに対する1つのオペレーティング・システム・グループおよび権限セット

ロール/ソフトウェア所有者 ユーザー グループ/権限

Oracle ASM管理者/Oracle Grid Infrastructureホーム

oracle

dba/SYSASM、SYSDBA、SYSOPER

データベース管理者1/データベース・ホーム1

oracle

dba/SYSASM、SYSDBA、SYSOPER

データベース管理者2/データベース・ホーム2

oracle

dba/SYSASM、SYSDBA、SYSOPER

オペレーティング・システム・ディスク・デバイス所有者

oracle

dba

Oracle ASMユーザーへの個別のオペレーティング・システム・グループの使用

Oracle ASMの権限用のオペレーティング・システム認証グループとして個別のオペレーティング・システム・グループを指定できます。Oracle ASM用の個別のオペレーティング・システム・グループと、そのメンバーに付与される権限を次に示します。

  • OSASMグループ(例: asmadmin)

    このグループにはSYSASM権限が付与されます。この権限は、Oracle ASMインスタンスに対する完全な管理権限を提供します。

  • Oracle ASM用のOSDBAグループ(例: asmdba)

    このグループにはOracle ASMインスタンスに対するSYSDBA権限が付与されます。この権限は、Oracle ASMに格納されているデータへのアクセス権を付与します。このグループには、OSASMグループの権限のサブセットがあります。

    管理者権限を分ける場合、Oracle ASMインスタンス用には、データベース・インスタンス用に選択するグループ(dba)とは異なるOSDBAグループを選択します。

  • Oracle ASM用のOSOPERグループ(例: asmoper)

    このグループにはOracle ASMインスタンスに対するSYSOPER権限が付与されます。この権限により、ディスク・グループの起動、停止、マウント、ディスマウント、チェックなどの操作が可能になります。このグループには、OSASMグループの権限のサブセットがあります。

Oracle ASM管理者とデータベース管理者の役割を分ける場合、この構成にはそれぞれ異なるグループおよびソフトウェア所有者が必要です。暗黙的にこれを実現するには、OSASMとOSDBAが異なるグループであることが必要です。この構成の場合、Oracle ASMインスタンスにアクセスするには、Oracle ASM用のOSDBAグループを作成し、データベース・インスタンスをそのグループのメンバーとする必要があります。

Oracle Grid Infrastructureとして構成されたインストールでは、Oracle ASMユーザー(gridなど)はOracle DatabaseのOSDBAグループ(dba1dba2など)のメンバーである必要はありません。これは、Oracle Clusterwareデータベース・エージェントがデータベース所有者として動作し、SYSDBAを使用してデータベースに接続できるためです。

しかし、Oracle Restart構成では、Oracle ASMユーザー(grid)は各データベースのOSDBAグループ(dba1dba2など)のメンバーである必要があります。Oracle RestartソフトウェアはOracle ASMユーザー(grid)として動作し、このユーザーはCONNECT / AS SYSDBA認証を使用してデータベースを起動および停止できる必要があるため、この要件は必須です。

さらに、オペレーティング・システム・ディスク・デバイスの所有者は、Oracle ASMソフトウェアの所有者と同じである必要があります。

表3-2に、Oracle ASMユーザーに個別のオペレーティング・システム権限グループを使用するLinuxデプロイの例を示します。

表3-2 Oracle ASMユーザーに対する個別のオペレーティング・システム・グループおよび権限

ロール/ソフトウェア所有者 ユーザー グループ/権限

Oracle ASM管理者/Oracle Grid Infrastructureホーム

grid

asmadmin (OSASM)/SYSASM

asmdba(ASM用のOSDBA)/SYSDBA

asmoper(ASM用のOSOPER)SYSOPER

dba1、dba2など(Oracle Restart構成の場合はデータべース用のOSDBA)

データベース管理者1/データベース・ホーム1

oracle1

asmdba(ASM用のOSDBA)/SYSDBA

oper1(データベース1用のOSOPER)/SYSOPER

dba1(データベース1用のOSDBA)/SYSDBA

データベース管理者2/データベース・ホーム2

oracle2

asmdba(ASM用のOSDBA)/SYSDBA

oper2(データベース2用のOSOPER)/SYSOPER

dba2(データベース2用のOSDBA)/SYSDBA

オペレーティング・システム・ディスク・デバイス所有者

grid

asmadmin (OSASM)

Oracle ASMを管理するためのSYSASM権限

SYSASMは、SYSDBAデータベース管理権限とOracle ASMストレージ管理権限を区別できるシステム権限です。SYSASM権限へのアクセスは、OSASMグループとして指定されるオペレーティング・システム・グループのメンバーシップによって付与されます。これはSYSDBA権限やSYSOPER権限と似ています。SYSDBA権限やSYSOPER権限は、OSDBAおよびOSOPERオペレーティング・システム・グループとして指定されるグループのメンバーシップによって付与されるシステム権限です。これらのシステム権限すべてに対して1つのグループを指定するか、オペレーティング・システム権限ごとに別のグループを指定することができます。

Oracle ASMのパスワード・ファイル認証で説明しているように、パスワード・ファイル認証とともにSYSASM権限を付与することもできます。

SQL*Plusによるパスワード認証を使用してSYSASMとしてローカル接続するには、次の文を使用します。

sqlplus SYS AS SYSASM
...
Enter password:

SQL*Plusによるパスワード認証を使用してSYSASMとしてリモート接続するには、次の文を使用します。

sqlplus sys@\"myhost.mydomain.com:1521/+ASM\" AS SYSASM
...
Enter password:

この例では、+ASMはOracle ASMインスタンスのサービス名です。

SQL*Plusによるオペレーティング・システム認証を使用してSYSASMとしてOracle ASMインスタンスにローカル接続するには、次の文を使用します。

sqlplus / AS SYSASM

Oracle ASMコンポーネントを管理するためのSYSDBA権限

SQL*PlusまたはASMCMDコマンドを使用してデータベースに関連するOracle ASMコンポーネントを管理するには、SYSDBAとして接続します。SQLまたはASMCMD操作をSYSDBA権限で実行する場合は、Oracle ASMインスタンスではなくデータベース・インスタンスに接続します。

SYSDBAとしてデータベース・インスタンスに接続すると、Oracle ASM権限セットが制限されます。たとえば、SYSDBA権限で接続している場合はディスク・グループを作成できません。

SYSDBAとしてデータベース・インスタンスに接続した場合、Oracle ASM操作は次のとおり制限されます。

  • ファイル、エイリアス、ディレクトリ、テンプレートの作成および削除

  • 各種Oracle ASMインスタンス・ビューの調査

  • このユーザーによって作成されたファイルに対する操作、または別のユーザーが明示的にアクセス権を付与したファイルへのアクセスのみ

  • 他のユーザーへのOracle ASMファイル・アクセス制御の付与

SYSASM権限によるユーザーの作成

SYSASMとしてOracle ASMインスタンスにログインすると、CREATE USERおよびGRANTのSQL文を組み合せて、SYSASM権限を持つユーザーを作成できます。

また、REVOKEコマンドを使用してユーザーのSYSASM権限を取り消したり、DROP USERコマンドを使用してパスワード・ファイルからユーザーを削除できます。

注意:

  • これらのコマンドでは、ローカルOracle ASMインスタンスのパスワード・ファイルのみが更新されます。

  • Oracle ASMは、外部ユーザーやグローバル・ユーザーの作成はサポートしていません。

次の例では、new_userとして識別されるユーザーについて、これらのSQL操作の実行方法を示します。

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;

Oracle ASMパスワード・ファイルでユーザーの最後の権限を取り消しても、ユーザーはOracle Databaseパスワード・ファイルでの実行のように自動的に削除されることはありません。DROP USERを実行して、Oracle ASMパスワード・ファイルで権限を持たないユーザーを削除する必要があります。

関連項目:

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

OSASMグループとして指定されたオペレーティング・システム・グループのメンバーシップにより、SYSASMシステム権限のオペレーティング・システム認証が提供されます。OSASMはOracle ASMに対して排他的に提供されます。その権限の個別のオペレーティング・システム・グループを使用する場合、最初はASMをインストールするユーザーのみがOSASMグループのメンバーになります。ただし、その他のユーザーを追加できます。OSASMグループのメンバーは、SYSASM権限を使用した接続が認可され、Oracle ASMへの完全なアクセス(Oracle ASMインスタンスによって管理されるすべてのディスク・グループへの管理アクセスなど)が可能です。

LinuxおよびUNIXシステムの場合、dbaOSASMOSOPERおよびOracle ASM用のOSDBAとして指定されるデフォルトのオペレーティング・システム・グループです。

Windowsシステムでは、ORA_ASMADMINORA_ASMDBAおよびORA_ASMOPERは、Oracle ASMのOSASMOSDBAおよびOSOPER用にそれぞれ指定されたオペレーティング・システム・グループです。

SQL*Plusコマンド、ASMCMDコマンドおよびASMCAでは、オペレーティング・システム認証を使用します。

関連項目:

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

Oracle ASMのパスワード・ファイル認証はローカルとリモートの両方で機能します。パスワード・ファイル認証を有効にするには、Oracle ASMのパスワード・ファイルを作成する必要があります。

Oracle ASMストレージ・オプションを選択した場合、ASMCAはOracle ASMディスク・グループの初期構成時に初期ユーザー(SYSおよびASMSNMP)を使用してOracle ASMのパスワード・ファイルを作成します。他のユーザーをパスワード・ファイルに追加するには、CREATE USERコマンドとGRANTコマンドを使用します。

ASMCAを使用せずにOracle ASMインスタンスを構成する場合は、手動でパスワード・ファイルを作成し、ユーザーSYSにSYSASM権限を付与する必要があります。

SQL*Plusコマンドは、パスワード・ファイル認証を使用します。

関連項目:

ディスク・グループでの共有パスワード・ファイルの管理

ディスク・グループで共有パスワード・ファイルを管理することで、クラスタ・システム間での単一ファイルへのアクセスが可能になります。

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

ディスク・グループでOracle ASMまたはデータベース・インスタンスのパスワード・ファイルを管理するための、pwcopypwcreateおよびpwmoveなどのASMCMDコマンドの詳細は、ASMCMDインスタンス管理コマンドを参照してください。

関連項目:

ディスク・グループでの共有パスワード・ファイルについて

Oracle DatabaseまたはOracle ASMの個別のパスワード・ファイルは、指定したOracle ASMディスク・グループに置くことができます。クラスタ全体にアクセス可能な単一の場所にパスワード・ファイルを置くと、メンテナンス・コストおよびパスワードが同期しなくなる状況を減らすことができます。

Oracle ASMインスタンスが実行中で、指定したディスク・グループがマウントされている場合のみ、認証のためにディスク・グループにあるパスワード・ファイルを使用できます。それ以外の場合、オペレーティング・システム認証を使用して、Oracle ASMインスタンスおよびスタックの起動をブートストラップする必要があります。

パスワードを配置するディスク・グループのCOMPATIBLE.ASMディスク・グループ属性を、最低でも12.1に設定する必要があります。Oracle ASMパスワード・ファイルを管理するには、SYSASM権限が必要です。データベース・パスワード・ファイルを管理するには、Oracle ASMでSYSDBA権限が必要です。

ディスク・グループ内の共有パスワード・ファイルは、ASMCMDコマンド、ORAPWDツールおよびSRVCTLコマンドによって管理されます。ORAPWDは、Oracle ASMディスク・グループでのパスワード・ファイルの作成をサポートします。他のすべてのパスワード・ファイル操作は、ASMCMDまたはSRVCTLコマンドを使用して実行されます。

ORAPWDなどのコマンドを実行する前にパスワード・ファイルを作成するには、ORACLE_SIDおよびORACLE_HOME環境変数が正しく設定されていることを確認してください。たとえば、Oracle ASMのパスワード・ファイルを設定する前に、ORACLE_SIDおよびORACLE_HOME環境変数を設定して、ローカルのOracle ASMインスタンスに接続できることを確認します。環境変数およびOracle ASMインスタンスへの接続の詳細は、Oracle ASMインスタンスへの接続およびOracle ASMインスタンスの起動を参照してください。

SRVCTLでは、ディスク・グループでパスワード・ファイルを管理するためのコマンドが提供されており、たとえば、パスワード・ファイルの場所を更新および表示するための次のコマンドがあります。

$ srvctl modify asm -pwfile location
$ srvctl modify database -db dbname -pwfile location
$ srvctl config asm

ディスク・グループでのパスワードの作成

注意:

Oracle ASMをクラスタで構成している場合は、Oracle ASMパスワード・ファイルの作成にorapwdを使用しないでください。クラスタ構成でOracle ASMパスワード・ファイルにアクセスできない場合は、新しいファイルを作成するのではなく、使用可能なバックアップを使用してパスワード・ファイルをリストアしてください。クラスタで共有Oracle ASMパスワード・ファイルを再作成する方法の詳細、たとえばドキュメント1929673.1などを閲覧するには、My Oracle Support (https://support.oracle.com)の記事を参照してください。

orapwdを使用してディスク・グループ内にデータベース・パスワード・ファイルを作成する際には、ディスク・グループの場所およびデータベースの一意の名前を指定する必要があります。

次に例を示します。

$ orapwd file='+data/ORCL/orapwdb' dbuniquename='orcl'

Enter password for SYS:

asmスイッチは、orapwdが、データベース・パスワード・ファイルではなくOracle ASMパスワード・ファイルを作成することを指定します。

次に例を示します。

$ orapwd file='+data/ASM/orapwasm' asm=y

Enter password for SYS:

以前のリリースのパスワード・ファイルを使用して、ディスク・グループに新しいパスワード・ファイルを作成できます。

次に例を示します。

$ orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ASM/orapwasm' asm=y

Enter password for SYS:

ディスク・グループ内のOracle ASMパスワード・ファイルのバックアップおよびリストア

Oracle ASMパスワード・ファイルのバックアップを作成でき、Oracle ASMパスワード・ファイルが失われた場合、またはディスク・グループにアクセスできなくなった場合にバックアップ・パスワード・ファイルをリストアできます。

この項では、Oracle ASMパスワード・ファイルをディスク・グループにバックアップする手順、およびOracle ASMパスワード・ファイルをリストアする手順について説明します。

ソースとターゲットのディスク・グループには、ディスク・グループ属性COMPATIBLE.ASM12.1以上に設定する必要があります。

  1. ASMCMD pwgetコマンドを使用してパスワード・ファイルの場所を特定します。

    次に例を示します。

    ASMCMD [+] > pwget --asm
    +DATA/orapwasm
    
  2. pwcopyコマンドを使用して、パスワード・ファイルを別のディスク・グループにバックアップします。

    次に例を示します。

    ASMCMD [+] > pwcopy +DATA/orapwasm +FRA/my_pwfile_backup
    

    pwcopy--asmまたは--dbuniquenameオプションを指定せずに使用すると、パスワード・ファイルの現在の場所は変更されません。コピーを作成した後必要に応じて、pwsetコマンドで、現在のパスワード・ファイルの場所を設定できます。

  3. pwcopyコマンドでバックアップを作成した後、どのパスワード・ファイルが現在の場所にあるかを確認します。

    次に例を示します。

    ASMCMD [+] > pwget --asm
    +DATA/orapwasm
    
  4. バックアップ・パスワード・ファイルが作成されていることを確認します。

    次に例を示します。

    ASMCMD [+] > ls +fra/my_pwfile_backup
    my_pwfile_backup
    
  5. Oracle ASMパスワード・ファイルをリストアするには、pwsetまたはpwcopyを使用できます。

    バックアップからOracle ASMパスワード・ファイルをリストアし、既存の場所を使用するには、--asmオプションとともにpwsetコマンドを使用ます。

    次に例を示します。

    ASMCMD [+] > pwset --asm +FRA/my_pwfile_backup
    

    バックアップから別のディスク・グループにOracle ASMパスワード・ファイルをリストアするには、--asmオプションとともにpwcopyコマンドを使用ます。

    次に例を示します。

    ASMCMD [+] > pwcopy --asm +FRA/my_pwfile_backup +DATA2/my_orapwasm
    

    --asmオプションをpwsetおよびpwcopyコマンドとともに使用すると、Oracle ASMインスタンスのパスワードの場所が設定されます。

  6. 場所を変更した場合、pwgetコマンドを使用して、現在のパスワード・ファイルの場所を確認します。

    次に例を示します。

    ASMCMD [+] > pwget --asm
    +DATA2/my_orapwasm