Oracle ASMインスタンスにアクセスするための認証
Oracle ASMインスタンスはデータ・ディクショナリを備えていないため、Oracle ASMインスタンスに接続するには3つのシステム権限(SYSASM
、SYSDBA
または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ファイル・アクセス制御の管理」
-
Oracle ASMインスタンスとデータベース・インスタンスにメンバー・ディスク・アクセス権があることを確認する方法の詳細は、オペレーティング・システム固有の『Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイド』
-
パスワードの割当てなど、データベース・セキュリティの維持の詳細は、『Oracle Databaseセキュリティ・ガイド』
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 ACFSの詳細は、「Oracle ACFSとファイル・アクセスおよび管理セキュリティ」
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グループ(dba1
、dba2
など)のメンバーである必要はありません。これは、Oracle Clusterwareデータベース・エージェントがデータベース所有者として動作し、SYSDBAを使用してデータベースに接続できるためです。
しかし、Oracle Restart構成では、Oracle ASMユーザー(grid
)は各データベースのOSDBAグループ(dba1
、dba2
など)のメンバーである必要があります。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コマンドライン・ユーティリティ(ASMCMD)を使用したユーザー作成の詳細は、「orapwusr」
-
CREATE
USER
およびGRANT
コマンドの詳細は、『Oracle Database SQL言語リファレンス』 -
パスワード・ファイルの作成と維持の詳細は、『Oracle Database管理者ガイド』
Oracle ASMのオペレーティング・システム認証
OSASMグループとして指定されたオペレーティング・システム・グループのメンバーシップにより、SYSASMシステム権限のオペレーティング・システム認証が提供されます。OSASMはOracle ASMに対して排他的に提供されます。その権限の個別のオペレーティング・システム・グループを使用する場合、最初はASMをインストールするユーザーのみがOSASMグループのメンバーになります。ただし、その他のユーザーを追加できます。OSASMグループのメンバーは、SYSASM権限を使用した接続が認可され、Oracle ASMへの完全なアクセス(Oracle ASMインスタンスによって管理されるすべてのディスク・グループへの管理アクセスなど)が可能です。
LinuxおよびUNIXシステムの場合、dba
がOSASM
、OSOPER
およびOracle ASM用のOSDBA
として指定されるデフォルトのオペレーティング・システム・グループです。
Windowsシステムでは、ORA_ASMADMIN
、ORA_ASMDBA
およびORA_ASMOPER
は、Oracle ASMのOSASM
、OSDBA
およびOSOPER
用にそれぞれ指定されたオペレーティング・システム・グループです。
SQL*Plusコマンド、ASMCMDコマンドおよびASMCAでは、オペレーティング・システム認証を使用します。
関連項目:
-
オペレーティング・システム認証の使用の詳細は、『Oracle Database管理者ガイド』
-
Oracle Grid Infrastructureのインストールの詳細は、『Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイド』
-
デフォルトのオペレーティング・システム・グループの詳細は、使用しているオペレーティング・システム固有の『Oracle Databaseインストレーション・ガイド』
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の権限の詳細は、「Oracle ASMの権限について」
-
パスワード・ファイルの作成と維持の詳細は、『Oracle Database管理者ガイド』
-
CREATE
USER
およびGRANT
コマンドの詳細は、『Oracle Database SQL言語リファレンス』 -
データベース・セキュリティの詳細は、『Oracle Databaseセキュリティ・ガイド』
-
V$PWFILE_USERS
ビューの詳細は『Oracle Databaseリファレンス』を参照してください。このビューは、パスワード・ファイルから導出されたものとしてSYSASM
、SYSDBA
およびSYSOPER
権限が付与されたユーザーをリストします。
ディスク・グループでの共有パスワード・ファイルの管理
ディスク・グループで共有パスワード・ファイルを管理することで、クラスタ・システム間での単一ファイルへのアクセスが可能になります。
この項の内容は次のとおりです。
ディスク・グループでOracle ASMまたはデータベース・インスタンスのパスワード・ファイルを管理するための、pwcopy
、pwcreate
およびpwmove
などのASMCMDコマンドの詳細は、「ASMCMDインスタンス管理コマンド」を参照してください。
関連項目:
-
パスワード・ファイルの維持の詳細は、『Oracle Database管理者ガイド』を参照してください。
-
REMOTE_LOGIN_PASSWORDFILE
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。 -
SRVCTLの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
ディスク・グループでの共有パスワード・ファイルについて
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.ASM
を12.1
以上に設定する必要があります。