この章では、Oracle DatabaseまたはOracle DatabaseとOracle Real Application Clusters(Oracle RAC)をインストールする場合にシステム管理者が行う一般的なシステム構成作業について説明します。このような作業には、データベースおよび自動ストレージ管理(ASM)のために追加のグループおよびユーザーを作成する作業があります。
Oracle Universal Installerを起動してOracle RACをインストールする前に、これらの作業を完了しておく必要があります。このクラスタにOracle Databaseをインストールしない場合は、この章を読む必要はありません。
この章の内容は次のとおりです。
|
注意: Oracle Databaseに必要な作業は、特に記述がないかぎり、Oracle RACにも必要です。 |
標準構成とは、Oracle Databaseのインストール時にOracle Universal Installer(OUI)によってデフォルトで表示されるデフォルトのグループとユーザーを持つ構成です。これらのグループとユーザーは、Oracle Clusterwareインストール用にはまだ作成されていません。
次の項では、Oracle DatabaseまたはOracle DatabaseとOracle RAC、およびASMのインストールに必要なオペレーティング・システム・ユーザーおよびグループを作成する方法について説明します。
様々な管理者ユーザーに別々のオペレーティング・システム・ユーザー権限を割り当てるには、「役割に応じたカスタム・グループおよびユーザーの作成」を参照してください。
Oracle Databaseをインストールするには、次のオペレーティング・システム・グループおよびユーザーが必要です。
システムに初めてOracle Databaseソフトウェアをインストールする場合は、このグループを作成する必要があります。標準的なインストールでは、次の権限をグループのメンバーに付与するように求められます。
データベース管理者(OSDBA)
データベース・オペレータ(OSOPER)
ASM管理者(OSASM)
また、このグループのメンバーには、ASMに対するデータベース書込み権限(ASMのOSDBA)が付与されます。
権限を付与されていないユーザー(nobody)がシステムに存在することを確認する必要があります。 nobodyユーザーは、インストール後、外部ジョブ(extjob)実行可能ファイルを所有する必要があります。
次の項では、必須および任意のオペレーティング・システム・ユーザーおよびグループを作成する方法について説明します。
Oracle DatabaseまたはOracle RACをインストールする場合は、次の手順に従って、nobodyユーザーがシステムに存在することを確認します。
次のコマンドを入力して、nobodyユーザーが存在するかどうかを確認します。
# id nobody
このコマンドの出力結果にnobodyユーザーの情報が表示された場合、このユーザーを作成する必要はありません。
nobodyユーザーを作成する必要がある場合は、次のコマンドを入力します。
# smit security
「Users」→「Add a User」を選択します。
「Add a User」フォームで、必要なオプションを指定して非特権ユーザーnobodyを作成し、ユーザーIDをメモしておきます。
[F10]を押して終了します。
クラスタの各ノードでこの処理を繰り返し、各nobodyユーザーのユーザーIDがすべてのクラスタ・ノードで同じになるようにします。
カスタム構成とは、別のオペレーティング・システム・グループおよびユーザーのメンバーシップによって付与されたアクセス権限を分割するグループとユーザーを持つ構成です。
|
注意: この構成はオプションで、Oracleソフトウェアに対するユーザー・アクセスを、様々な管理者ユーザーの役割に応じて制限するための構成です。 |
最小限のグループおよびユーザーにオペレーティング・システム・ユーザー権限を割り当てるには、「標準構成のオペレーティング・システム・グループおよびユーザーの作成」を参照してください。
この項では、ユーザーおよびグループを作成し、役割によってアクセス権限を分割する方法の概要を説明します。これらのグループおよびユーザーを作成するには、rootでログインします。
個別のソフトウェア・インストール所有者を作成するすべてのインストールで、次のオペレーティング・システム・グループとユーザーを作成することをお薦めします。
各Oracleソフトウェア製品を所有する1つのソフトウェア所有者(通常、データベース・ソフトウェア所有者ユーザーはoracle、Oracle Clusterwareの所有者ユーザーはcrs、Oracle ASMの所有者ユーザーはasm)。
システムに初めてOracleソフトウェアをインストールするときは、少なくとも1つのソフトウェア所有者を作成する必要があります。このユーザーがOracle ClusterwareソフトウェアのOracleバイナリを所有します。このユーザーを、自動ストレージ管理と、Oracle DatabaseまたはOracle RACのバイナリ所有者にすることもできます。
Oracleソフトウェア所有者には、プライマリ・グループとしてOracle Inventoryグループが必要です。これによって、それぞれのOracleソフトウェア・インストールの所有者が中央インベントリに書込みできるようになり、OCRとOracle Clusterwareリソース権限が適切に設定されます。データベース・ソフトウェア所有者には、セカンダリ・グループ(作成する場合)としてOSDBAグループとOSOPERグループが必要です。Oracleドキュメントでは、Oracleソフトウェア所有者ユーザーをoracleユーザーとします。
ソフトウェア所有者ユーザーを個別に作成し、各Oracleソフトウェア・インストールの所有者にすることをお薦めします。特に、システムに複数のデータベースをインストールする場合にお薦めします。
Oracleドキュメントでは、Oracle Clusterwareバイナリを所有するために作成されたユーザーをcrsユーザーとします。
自動ストレージ管理(ASM)を使用する場合は、ASMファイルを所有するためのユーザーを個別に作成することをお薦めします。Oracleドキュメントでは、このユーザーをasmとします。
|
参照: OSDBAグループ、OSASMグループおよびOSOPERグループと、SYSDBA権限、SYSASM権限およびSYSOPER権限の詳細は、『Oracle Database管理者リファレンスfor UNIX Systems』および『Oracle Database管理者ガイド』を参照してください。 |
権限を付与されていないユーザー(nobody)がシステムに存在することを確認する必要があります。nobodyユーザーは、インストール後、外部ジョブ(extjob)実行可能ファイルを所有する必要があります。
Oracle Databaseをインストールするには、次のオペレーティング・システム・グループおよびユーザーが必要です。
システムに初めてOracle Databaseソフトウェアをインストールする場合は、このグループを作成する必要があります。このグループのオペレーティング・システム・ユーザー・アカウントには、データベースの管理権限(SYSDBA権限)があります。ASMインスタンスに個別のOSDBA、OSOPERおよびOSASMグループを作成しない場合は、SYSOPERおよびSYSASM権限を持つオペレーティング・システム・ユーザー・アカウントが、このグループのメンバーである必要があります。Oracleのコード例では、このグループにdbaという名前を使用します。OSASMグループとして個別のグループを指定しない場合は、定義するOSDBAグループもデフォルトでOSASMとなります。
デフォルト(dba)以外のグループ名を指定する場合は、カスタム・インストール・タイプを選択してソフトウェアをインストールするか、またはこのグループのメンバーではないユーザーとしてOracle Universal Installer(OUI)を起動する必要があります。この場合、OUIによって、グループ名の指定を求めるプロンプトが表示されます。
自動ストレージ管理(ASM)インスタンスでは、ディスク・グループのマウントおよびマウント解除を含む、SYSASM権限に付与されているすべての管理権限を実行する権限がOSDBAグループのメンバーに付与されます。ただし、この権限の付与は非推奨であり、将来のリリースでは廃止されます。
Oracle DatabaseのOSOPERグループ(通常、oper)
これは、オプションのグループです。制限付きのデータベース管理権限(SYSOPER権限)を別のグループのオペレーティング・システム・ユーザーに付与する場合に、このグループを作成します。OSDBAグループのメンバーには、デフォルトで、SYSOPER権限によって付与されるすべての権限もあります。
OSOPERグループを使用してデフォルトのdbaグループより少ない権限でデータベース管理者グループを作成するには、カスタム・インストール・タイプを選択してソフトウェアをインストールするか、またはdbaグループのメンバーでないユーザーとしてOUIを起動する必要があります。この場合、OUIによって、グループ名の指定を求めるプロンプトが表示されます。このグループの標準的な名前はoperです。
SYSASMは、ASMストレージ管理権限をSYSDBAから切り離すことができる新しいシステム権限です。データベース・グループOSDBAのメンバーには、SYSASM権限が付与されていますが、この権限は非推奨であり、将来のリリースでは廃止されます。
カスタム・インストール・オプションを使用し、ASMに対する権限のオペレーティング・システム認証グループとして、別のオペレーティング・システム・グループを指定します。OUIを起動する前に、ASM用に次のグループとユーザーを作成します。
Oracle自動ストレージ管理グループ(通常、asm)
ASMファイルに対するSYSASM権限には、ファイル記憶域に対して、データベースに対するSYSDBA権限と同等の管理者権限があります。Oracleドキュメントでは、メンバーにSYSASM権限が付与されたオペレーティング・システム・グループをOSASMグループと呼び、コマンドラインではasmと記述します。
システムに複数のデータベースがある場合は、個別のOSASMグループ、および個別のASMユーザーを作成する必要があります。ASMでは、複数のデータベースがサポートされます。
OSASMグループのメンバーは、SQLを使用して、SYSASMとしてASMインスタンスに接続できます。このとき、オペレーティング・システム認証が使用されます。SYSASM権限では、ディスク・グループのマウント、マウント解除およびその他の記憶域管理作業が許可されます。SYSASM権限には、RDBMSインスタンスに対するアクセス権限はありません。今回のリリースのOracle ClusterwareおよびOracle Databaseでは、SYSASM権限とSYSDBA権限は同等ですが、ASMインスタンスでSYSDBA権限を使用してASM管理作業を行うことは非推奨となっています。ASMインスタンスでのSYSDBA権限は、将来のリリースでは制限される可能性があります。
ASM用のOSDBAグループのメンバーには、ASMによって管理されるファイルへの読取りおよび書込みアクセス権限が付与されます。Oracle Databaseソフトウェア所有者(通常、oracle)は、このグループのメンバーである必要があります。また、ASMによって管理されるファイルへのアクセス権を付与する必要のある、データベースでのOSDBAメンバーシップを持つすべてのユーザーが、ASM用のOSDBAグループのメンバーである必要があります。
次の項では、必要なオペレーティング・システム・ユーザーおよびグループを作成する方法について説明します。
次の場合は、OSDBAグループを作成する必要があります。
OSDBAグループが存在しない場合(たとえば、システムへOracle Databaseソフトウェアを初めてインストールする場合)。
OSDBAグループが存在するが、新しいOracle Database環境では、データベースの管理権限を別のグループのオペレーティング・システム・ユーザーに付与する場合。
OSDBAグループが存在しない場合または新しいOSDBAグループが必要な場合は、次の手順で作成します。次の手順では、既存のグループですでに使用されていないかぎり、グループ名にはdbaを使用します。
次のコマンドを入力します。
# smit security
「Groups」→「Add a Group」を選択します。
「Add a Group」フォームで、必要なオプションを指定して、クラスタ内のすべてのノードに同じグループIDを使用してOSDBAグループを作成します。グループIDはメモしておきます。
[F10]を押して終了します。
クラスタの各ノードでこの処理を繰り返し、OSDBAのグループIDがすべてのクラスタ・ノードで同じになるようにします。
OSOPERグループを作成する必要があるのは、制限付きのデータベース管理権限(SYSOPER オペレータ権限)を持つオペレーティング・システム・ユーザーのグループを指定する場合のみです。ほとんどの環境では、OSDBAグループを作成するのみで十分です。次の場合にOSOPERグループを使用するには、このグループを作成する必要があります。
OSOPERグループが存在しない場合(たとえば、システムへOracle Databaseソフトウェアを初めてインストールする場合)
OSOPERグループが存在するが、新しいOracle環境で、データベースのオペレータ権限を別のグループのオペレーティング・システム・ユーザーに付与する場合
新しいOSOPERグループが必要な場合は、次の手順で作成します。次の手順では、既存のグループですでに使用されていないかぎり、グループ名にはoperを使用します。
次のコマンドを入力します。
# smit security
「Groups」→「Add a Group」を選択します。
「Add a Group」フォームで、必要なオプションを指定して、クラスタ内のすべてのノードに同じグループIDを使用してOSOPERグループを作成します。グループIDはメモしておきます。
[F10]を押して終了します。
クラスタの各ノードでこの処理を繰り返し、OSOPERのグループIDがすべてのクラスタ・ノードで同じになるようにします。
OSASMグループが存在しない場合または新しいOSASMグループが必要な場合は、次の手順で作成します。次の手順では、既存のグループですでに使用されていないかぎり、グループ名にはasmを使用します。
次のコマンドを入力します。
# smit security
「Groups」→「Add a Group」を選択します。
「Add a Group」フォームで、必要なオプションを指定して、クラスタ内のすべてのノードに同じグループIDを使用してOSASMグループを作成します。グループIDはメモしておきます。
[F10]を押して終了します。
クラスタの各ノードでこの処理を繰り返し、OSASMのグループIDがすべてのクラスタ・ノードで同じになるようにします。
ASMインスタンスへのアクセスを可能にするには、ASMのためのOSDBAグループを作成する必要があります。これは、OSASMとOSDBAが異なるグループでる場合に必要です。
ASMのためのOSDBAグループが存在しない場合、またはASMに新しいOSDBAグループが必要な場合は、次の手順で作成します。次の手順では、既存のグループですでに使用されていないかぎり、グループ名にはasmdbaを使用します。
次のコマンドを入力します。
# smit security
「Groups」→「Add a Group」を選択します。
「Add a Group」フォームで、必要なオプションを指定して、クラスタ内のすべてのノードに同じグループIDを使用してASMDBAグループを作成します。グループIDはメモしておきます。
[F10]を押して終了します。
クラスタの各ノードでこの処理を繰り返し、ASMDBAのグループIDがすべてのクラスタ・ノードで同じになるようにします。
次の場合は、Oracleソフトウェア所有者ユーザーを作成する必要があります。
Oracleソフトウェア所有者ユーザーが存在するが、新しいOracle Database環境では、別のオペレーティング・システム・ユーザー(異なるグループ・メンバーシップを持つ)を使用して、このグループにデータベースの管理権限を付与する場合。
Oracle Clusterwareに対してcrsなどのOracleソフトウェア所有者が作成されており、Oracle Databaseソフトウェアに対してdbaなどの別のOracleソフトウェア所有者を作成する場合。
oracleやcrsというOracleソフトウェア所有者ユーザーが存在するかどうかを確認するには、次のようなコマンドを入力します(この場合、oracleの存在を確認します)。
# id oracle
ユーザーが存在する場合、このコマンドの出力結果は、次のようになります。
uid=501(oracle) gid=501(oinstall) groups=502(dba),503(oper)
既存ユーザーを使用するか、別のユーザーを作成するかを決定します。既存ユーザーを使用する場合は、ユーザーのプライマリ・グループがOracle Inventoryグループであり、そのグループが適切なOSDBAおよびOSOPERグループのメンバーであることを確認します。詳細は、次のいずれかの項を参照してください。
|
注意: 既存ユーザーを使用および変更する前に、必要に応じてシステム管理者に連絡してください。 |
既存のユーザーを変更するには、「既存のOracleソフトウェア所有者ユーザーの変更」を参照してください。
ユーザーを作成するには、次の項を参照してください。
Oracleソフトウェア所有者ユーザーが存在しない、または新しいOracleソフトウェア所有者ユーザーが必要な場合は、次の手順で作成します。次の手順では、既存のユーザーですでに使用されていないかぎり、ユーザー名にはoracleを使用します。
次のコマンドを入力します。
# smit security
「Users」→「Add a User」を選択します。
「Add a User」のフォームで、必要なオプションを指定して、oracleユーザーを作成します。次のオプションを指定します。
User NAME: oracleユーザーのアカウント名。たとえば、oracleです。
User ID: oracleアカウントのユーザーID。
PRIMARY Group: oracleユーザーのプライマリ・グループID。たとえば、oinstallです。
Group SET: oracleユーザーのプライマリ・グループおよびセカンダリ・グループ。たとえば、oinstall,dba,oper,hagsuserです。
[F10]を押して終了します。
他のすべてのクラスタ・ノードでこの手順を繰り返します。
oracleユーザーは存在しても、そのプライマリ・グループがoinstallではないか、または適切なOSDBAまたはOSOPERグループのメンバーでない場合は、次のコマンドでユーザーのグループ構成を変更します。
次のコマンドを入力します。
# smit security
「Security and Users」メニューで、「Users」→「Change/Show Characteristics of a User」を選択します。
oracleユーザーの名前を入力して、[Enter]を押します。
必要に応じて、「Change/Show Characteristics of a User」メニューでエントリ・フィールドを更新します。完了したら、[Enter]キーを押して変更を保存し、終了します。
次のコマンドを入力します。
# smit security
「Users」→「Add a User」を選択します。
「Create User」フォームで、必要なオプションを指定して、asmユーザーを作成します。次のオプションを指定します。
User NAME: oracleユーザーのアカウント名。たとえば、asmです。
User ID: asmアカウントのユーザーID。
PRIMARY Group: asmユーザーのプライマリ・グループID。たとえば、oinstallです。
Group SET: asmユーザーのプライマリ・グループおよびセカンダリ・グループ。たとえば、oinstall,asmdbaです。
[F10]を押して終了します。
他のすべてのクラスタ・ノードでこの手順を繰り返します。
|
注意: 次の手順は、ローカル・ユーザーおよびグループを使用している場合にのみ実行する必要があります。NISなどのディレクトリ・サービスで定義されたユーザーおよびグループを使用している場合、各クラスタ・ノードのユーザーおよびグループはすでに同一です。 |
Oracleソフトウェア所有者ユーザー、Oracle Inventory、OSDBAグループおよびOSOPERグループは、すべてのクラスタ・ノードに存在し、また同一である必要があります。同一のユーザーおよびグループを作成するには、ユーザーおよびグループを作成したノードで割り当てられたユーザーIDおよびグループIDを確認してから、他のクラスタ・ノードで同じ名前とIDを持つユーザーおよびグループを作成する必要があります。
crs、oracleまたはasmユーザーのユーザーID(UID)と、Oracle Inventory、OSDBAおよびOSOPERグループのグループID(GID)を確認するには、次の手順を実行します。
次のコマンドを入力します(ここでは、oracleユーザーのユーザーIDを確認します)。
# id oracle
このコマンドの出力結果は、次のようになります。
uid=502(oracle) gid=501(oinstall) groups=502(dba),503(oper),506(asmdba)
表示された情報から、ユーザーのユーザーID(UID)および所属するグループのグループID(GID)を特定します。これらのID番号がクラスタの各ノードで同じであることを確認します。
他のクラスタ・ノードでユーザーおよびグループを作成するには、各ノードで次の手順を繰り返します。
次のクラスタ・ノードへrootでログインします。
smitを使用するか、または次のコマンドを入力して、oinstallグループとdbaグループを作成します。また、必要に応じて、operグループとasmグループを作成します。-gオプションを使用して、各グループに正しいGIDを指定します。
# mkgroup id=501 oinstall # mkgroup id=502 crs # mkgroup id=503 dba # mkgroup id=505 oper # mkgroup id=504 asm # mkgroup id=506 asmdba # mkuser id=502 pgrp=oinstall groups=dba,oracle gecos="RDBMS owner" oracle passwd db2inst1
|
注意: グループがすでに存在している場合は、必要に応じてgroupmodコマンドを使用してそのグループを変更します。このノードのグループに、同じグループIDを使用できない場合、すべてのノードの/etc/groupファイルを表示し、どのノードでも使用できるグループIDを特定します。 すべてのノードのグループIDが同じになるように、グループIDを変更する必要があります。 |
oracleユーザーまたはasmユーザーを作成するには、次のコマンドを入力します(この例では、oracleユーザーを作成します)。
# mkuser id='502' pgrp='oinstall' groups='dba','oper' oracle
前述のコマンドの意味は、次のとおりです。
idオプションは、ユーザーIDを指定します。ユーザーIDは、前の項で特定したユーザーIDである必要があります。
pgrpオプションは、プライマリ・グループを指定します。プライマリ・グループは、oinstallなどのOracle Inventoryグループである必要があります。
groupsオプションは、セカンダリ・グループを指定します。セカンダリ・グループには、OSDBAグループと、必要に応じてOSOPERグループを含める必要があります。たとえば、dbaまたはdba,operです。
|
注意: すべてのノードで使用可能なユーザーIDを指定する必要があります。すべてのノードのユーザーにそのIDを指定する必要があります。 |
# passwd oracle
「すべてのクラスタ・ノードでのSSHの構成」で説明するとおり、各ユーザーに対してSSH構成を行います。
「ソフトウェア所有者ユーザー環境の構成」で説明するとおり、各ユーザーに対してユーザー環境の構成を行います。
この項では、Oracleベース・ディレクトリの準備について説明します。
インストール時に、Oracleベースの場所を指定するように求められます。Oracleベースは、インストールを実行するユーザーが所有します。既存のOracleホームが含まれるディレクトリを選択するか、またはOracleベース・ディレクトリの構造を持っていない別のディレクトリを選択できます。ただしOracleベース・ディレクトリの設定は、将来のリリースでは必須になる可能性があります。
Oracleベース・ディレクトリ・パスを使用すると、Oracleインストールの構造が簡略化され、複数のデータベース・インストールでOptimal Flexible Architecture(OFA)構成を保持しやすくなります。
Oracleソフトウェアのパスとして、Oracle Optimal Flexible Architecture(OFA)ガイドラインに準拠したOracle Clusterwareホームのパスを作成した場合は、Oracleベース・ディレクトリを作成する必要はありません。OUIでOFA準拠のパスが検出されると、そのパスにOracleベース・ディレクトリが作成されます。
OUIがパスをOracleソフトウェアのパスとして認識するには、u0[1-9]/appという形式にし、oinstallグループのすべてのメンバーによる書込みを可能にする必要があります。
Oracleベースのパスは、手動で作成することをお薦めします。OracleベースのOptimal Flexible Architectureパスは、/u01/app/userです。userは、Oracle Databaseソフトウェアを所有するユーザー・アカウントの名前です。smitを使用するか、またはシェル・コマンドを入力します。次に例を示します。
# mkdir /u01/app/oracle # chown oracle:oinstall /u01/app/oracle # chmod -R 775 /u01/app/oracle
データベースまたはASMに対して個別にOracleインストール所有者アカウントを作成する場合は、Oracle Databaseソフトウェア所有者(oracle)およびOracle ASMソフトウェア所有者(asm)に対して、次の作業を行います。
(前述の項で説明した)Oracleベースのパスを作成する場合は、Oracle Database所有者の環境変数として、パスにOracleベース・ディレクトリを設定します。次に例を示します。
# ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
シェル起動ファイルで、インストール・ソフトウェア所有者ユーザー(asm、oracle)のデフォルトのファイル・モード作成マスク(umask)を022に設定します。 マスクを022に設定すると、ソフトウェア・インストールを実行するユーザーが作成するファイルの権限は常に644になります。
インストール・ソフトウェア所有者(asm、oracle)のファイル記述子およびプロセスに対して、ulimitを設定します。
ASMまたはOracle Databaseをインストールする準備として、ソフトウェア所有者の環境変数にDISPLAY環境変数を設定します。