Oracle Database Oracle ClusterwareおよびOracle Real Application Clustersインストレーション・ガイド 10g リリース2(10.2) for AIX Based Systems B25017-03 |
|
この章では、Oracle Universal Installerを起動する前に完了する必要がある、システムの構成作業について説明します。この章で説明する作業は、次のとおりです。
クラスタ検証ユーティリティ(CVU)は、システムの検証を実行するツールです。このマニュアルでは、ご使用のシステムがOracle ClusterwareおよびOracle Real Application Clustersをインストールするために適切に構成されているかを確認するのに役に立つCVUコマンドについて説明します。
この項の内容は次のとおりです。
データベースをインストールする前にCVUコマンドを入力するには、ディレクトリを変更して、次の構文を使用してCVUを起動します。
$ /mountpoint/crs/Disk1/cluvfy/ $ ./runcluvfy.sh options
前述の構文例のmountpoint変数はインストール・メディアのマウント・ポイント・パスで、options
変数はユーザーが選択するCVUコマンド・オプションです。次に例を示します。
$ /dev/dvdrom/crs/Disk1/cluvfy/ $ ./runcluvfy.sh comp nodereach -n node1,node2 -verbose
デフォルトでは、CVUコマンドを入力すると、テストのサマリーが出力されます。インストール前の手順では、CVUコマンドに-verbose
引数を使用して詳細を出力することをお薦めします。-verbose
引数を使用すると、個々の検証結果の詳細が出力されます。可能な場合は、各ノードの結果が表形式で表示されます。
CVUを使用すると、インストールのためのシステム前提条件で、すでに完了しているものを確認できます。既存のOracleソフトウェアがインストールされているシステムにOracle 10g リリース2(10.2)をインストールする場合は、このオプションを使用します。このオプションを使用する場合は、次の点に注意してください。
次の構文を使用して、完了しているインストール前の手順と、実行する必要があるインストール前の手順を確認します。
/$ runcluvfy.sh stage -pre crsinst -n node_list
前述の構文例のmountpoint
変数はインストール・メディアのマウント・ポイント、node_list
変数はクラスタ内のノード名(カンマで区切る)です。
たとえば、クラスタが、マウント・ポイント/dev/dvdrom/と、node1、node2およびnode3で構成されている場合は、次のコマンドを入力します。
$ cd /dev/dvdrom/crs/Disk1/cluvfy/ $ ./runcluvfy.sh stage -pre crsinst -n node1,node2,node3
CVUレポートを確認し、必要に応じて、インストール前の追加の手順を実行します。
cluvfy
コマンドのヘルプは状況依存のヘルプで、入力したコマンドラインの引数に応じて正しい構文の使用方法を示します。
無効なCVUコマンドを入力すると、CVUによって、コマンドの正しい使用方法が表示されます。たとえば、runcluvfy.sh stage -pre dbinst
と入力すると、dbinst
ステージ・オプションを使用して、データベースのインストール前検証を実行するための正しい構文が表示されます。状況依存ヘルプのコマンドは、次のとおりです。
cluvfy
: ステージ・コマンドおよびコンポーネント・コマンドの構文についての全般的な使用方法の概要が表示されます。
cluvfy -help
: CVUコマンドの詳細な説明が表示されます。
cluvfy comp -list
: 検証対象のコンポーネントのリストとそのコンポーネントの検証方法に関する簡単な説明が表示されます。
cluvfy comp -help
: 有効な各コンポーネント検証の詳細な構文が表示されます。
cluvfy stage -list
: 有効なステージのリストが表示されます。
cluvfy stage -help
: 有効な各ステージ検証の詳細な構文が表示されます。
Oracle 10g リリース2(10.2)インストール・メディアのCVUを使用して、Oracle 10g リリース1(10.1)のインストールに必要なシステム要件を検証します。CVUを使用してリリース1(10.1)のインストールを検証するには、コマンド・フラグ-r 10gR1をCVUの標準のシステム検証コマンドに追加します。
たとえば、メディア・マウント・ポイントが/dev/dvdrom/、クラスタ・ノードがnode1、node2およびnode 3で構成されたシステムで、Cluster Ready Servicesのリリース1(10.1)のインストールに対する検証を実行するには、次のコマンドを実行します。
$ ./runcluvfy.sh stage -pre crsinst -n node1,node2,node3 -r 10gR1
-verbose
引数を使用してCVUを実行し、特定のノードに対するCVUコマンドの結果がUNKNOWN
になる場合、その原因は、検証時に問題が検出されたかどうかをCVUで判断できないことにあります。結果が「不明」になる場合の、考えられる原因を次に示します。
/bin
またはOracleホーム・ディレクトリで欠落している。
Oracleソフトウェアをインストールする前に、root
ユーザーとして複数の作業を実行する必要があります。root
ユーザーでログインするには、次の手順のいずれかを実行します。
xterm
)などのローカル端末セッションを開始します。
$ xhost + hostname
hostnameは、ローカル・ホストの名前です。
ssh
、rlogin
またはtelnet
コマンドを使用してソフトウェアをインストールするシステムに接続します。
$ telnet remote_host
root
ユーザーでログインしていない場合は、次のコマンドを入力してユーザーをroot
に切り替えます。
$ su - root password: #
システムにOracleソフトウェアを初めてインストールする場合や、インストールする製品によっては、いくつかのオペレーティング・システム・グループと1つのオペレーティング・システム・ユーザー・アカウントを作成する必要があります。
Oracleデータベースをインストールするには、次のオペレーティング・システム・グループおよびユーザーが必要です。
dba
)システムに初めてOracleデータベース・ソフトウェアをインストールする場合は、このグループを作成する必要があります。このグループのオペレーティング・システム・ユーザー・アカウントには、データベースの管理権限(SYSDBA権限)があります。このグループのデフォルト名はdba
です。
デフォルト(dba
)以外のグループ名を指定する場合は、カスタム・インストール・タイプを選択してソフトウェアをインストールするか、またはこのグループのメンバーではないユーザーとしてOracle Universal Installerを起動する必要があります。この場合、Oracle Universal Installerによって、グループ名の指定を求めるプロンプトが表示されます。
oper
)これは、オプションのグループです。制限付きのデータベース管理権限(SYSOPER権限)を別のグループのオペレーティング・システム・ユーザーに付与する場合に、このグループを作成します。OSDBAグループのメンバーには、デフォルトでSYSOPER権限もあります。
デフォルト(dba
)以外のOSOPERグループを指定する場合は、カスタム・インストール・タイプを選択してソフトウェアをインストールするか、またはdba
グループのメンバーではないユーザーとしてOracle Universal Installerを起動する必要があります。この場合、Oracle Universal Installerによって、グループ名の指定を求めるプロンプトが表示されます。このグループの標準的な名前はoper
です。
権限を付与されていないユーザー(nobody
)がシステムに存在することを確認する必要があります。nobody
ユーザーには、インストール後、外部ジョブ(extjob)実行可能ファイルを所有させる必要があります。
すべてのインストールに必要なオペレーティング・システム・グループおよびユーザーは、次のとおりです。
oinstall
)システムに初めてOracleソフトウェアをインストールする場合は、このグループを作成する必要があります。このグループの標準的な名前はoinstall
です。このグループは、システムにインストールされたすべてのOracleソフトウェアのカタログであるOracle Inventoryを所有します。
oracle
)システムに初めてOracleソフトウェアをインストールする場合は、このユーザーを作成する必要があります。このユーザーは、インストール中にインストールされるすべてのソフトウェアの所有者です。このユーザーの標準的な名前はoracle
です。このユーザーのプライマリ・グループは、Oracle Inventoryである必要があります。また、セカンダリ・グループは、OSDBAおよびOSOPERグループである必要があります。Oracleドキュメントでは、このユーザー・アカウントをoracle
ユーザーと呼んでいます。
システムへのOracleソフトウェアのすべてのインストールには、単一のOracle Inventoryグループが必要です。システムへの2回目以降のOracleソフトウェアのインストールでは、Oracleソフトウェアを初めてインストールしたときと同じOracle Inventoryグループを使用する必要があります。ただし、個々の環境に対してそれぞれにOracleソフトウェア所有者ユーザー、OSDBAグループおよびOSOPERグループ(oracle
、dba
およびoper
以外)を作成できます。環境ごとに異なるグループを使用すると、それぞれのグループのメンバーは、システムのすべてのデータベースではなく、関連するデータベースに対してのみDBA権限を持ちます。
次の項では、必要なオペレーティング・システム・ユーザーおよびグループを作成する方法について説明します。
Oracle Universal Installer(OUI)を使用すると、Oracle Inventoryグループとして使用するグループの選択が簡単になります。既存のOracle Inventoryグループがある場合は、グループ名とパスを指定するように求められたときに、そのグループのものを指定します。
次の項では、Oracle Inventoryグループが存在する場合に、そのグループ名を確認する方法について説明します。また、必要に応じて、Oracle Inventoryグループを作成する方法についても説明します。
システムに初めてOracleソフトウェアをインストールする場合は、Oracle Universal InstallerによってoraInst.loc
ファイルが作成されます。このファイルに、Oracle Inventoryグループのグループ名(通常、oinstall
)およびOracle Inventoryディレクトリのパスが示されます。
既存のOracle Inventoryがある場合は、必ずすべてのOracleソフトウェア・インストールで同じOracle Inventoryインベントリを使用します。
既存のOracle Inventoryがない場合は、Oracle Inventoryグループを作成する必要があります。
システムにOracle Inventoryがあるかどうかを確認するには、次のコマンドを入力します。
# more /etc/oraInst.loc
oraInst.loc
ファイルが存在する場合、このコマンドの出力結果は、次のようになります。
inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall
前述の出力例の意味は次のとおりです。
inventory_loc
グループは、Oracle Inventoryの場所を示します。
inst_group
パラメータは、Oracle Inventoryグループの名前(この例では、oinstall
)を示します。
oraInst.loc
ファイルが存在しない場合は、次のコマンドを入力して、Oracle Inventoryグループを作成します。
# /bin/mkgroup oinstall
次の場合は、OSDBAグループを作成する必要があります。
OSDBAグループが存在しない場合または新しいOSDBAグループが必要な場合は、次の手順で作成します。次の手順では、既存のグループですでに使用されていないかぎり、グループ名にはdba
を使用します。
# /bin/mkgroup dba
OSOPERグループを作成する必要があるのは、制限付きのデータベース管理権限(SYSOPERオペレータ権限)を持つオペレーティング・システム・ユーザーのグループを指定する場合のみです。ほとんどの環境では、OSDBAグループを作成するのみで十分です。次の場合にOSOPERグループを使用するには、このグループを作成する必要があります。
新しいOSOPERグループが必要な場合は、次の手順で作成します。次の手順では、既存のグループですでに使用されていないかぎり、グループ名にはoper
を使用します。
# /bin/mkgroup oper
システムでHigh Availability Cluster Multiprocessing(HACMP)クラスタウェアを使用している場合は、hagsuser
グループを作成するか、またはその存在を確認します。oracle
ユーザーおよびroot
ユーザーがこのグループのメンバーであることを確認します。
新しいHAGSUSERグループが必要な場合は、次の手順で作成します。
# /bin/mkgroup hagsuser
次の場合は、Oracleソフトウェア所有者ユーザーを作成する必要があります。
oracle
というOracleソフトウェア所有者ユーザーが存在するかどうかを確認するには、次のコマンドを入力します。
# id oracle
oracle
ユーザーが存在する場合、このコマンドの出力結果は、次のようになります。
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
ユーザーが存在する場合は、既存ユーザーを使用するか、別のoracle
ユーザーを作成するかを決定します。既存ユーザーを使用する場合は、ユーザーのプライマリ・グループがOracle Inventoryグループであり、そのグループが適切なOSDBAおよびOSOPERグループのメンバーであることを確認します。詳細は、次のいずれかの項を参照してください。
Oracleソフトウェア所有者ユーザーが存在しない、または新しいOracleソフトウェア所有者ユーザーが必要な場合は、次の手順で作成します。次の手順では、既存のユーザーですでに使用されていないかぎり、ユーザー名にはoracle
を使用します。
# smit security
oracle
ユーザーを作成します。
oracle
ユーザーのパスワードを設定します。
# passwd oracle
oracle
ユーザーは存在するが、プライマリ・グループがoinstall
ではない場合、またはユーザーが適切なOSDBAまたはOSOPERグループのメンバーではない場合は、次の手順を実行して、oracleユーザーを変更し、グループに追加します。
# smit security
oracle
ユーザーを変更します。
oinstall
です。
dba
とoper
です。
ソフトウェアをインストールする前に、次の手順に従って、nobodyユーザーがシステムに存在することを確認します。
# id nobody
このコマンドの出力結果にnobody
ユーザーの情報が表示された場合、このユーザーを作成する必要はありません。
nobody
ユーザーが存在しない場合は、次のコマンドを入力して作成します。
# smit security
適切なオプションを指定して、権限を付与されていないnobody
ユーザーを作成し、[F10]を押して終了します。
# /usr/sbin/useradd nobody
Oracleソフトウェア所有者ユーザー、Oracle Inventory、OSDBAグループおよびOSOPERグループは、すべてのクラスタ・ノードに存在し、また同一である必要があります。同一のユーザーおよびグループを作成するには、ユーザーおよびグループを作成したノードで割り当てられたユーザーIDおよびグループIDを確認してから、他のクラスタ・ノードで同じ名前とIDを持つユーザーおよびグループを作成する必要があります。
Oracleソフトウェア所有者ユーザーのユーザーID(UID)と、Oracle Inventoryグループ、OSDBAグループおよびOSOPERグループのグループID(GID)を確認するには、次の手順を実行します。
# id oracle
このコマンドの出力結果は、次のようになります。
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
oracle
ユーザーのユーザーID(UID)および所属するグループのグループID(GID)を特定します。
他のクラスタ・ノードでユーザーおよびグループを作成するには、各ノードで次の手順を繰り返します。
root
でログインします。
# smit security
oinstall
とdba
グループ、および必要に応じてoper
グループを作成または変更します。「Group NAME」および「Group ID」フィールドに、以前に指定したグループ名およびGIDを指定します。
oracle
ユーザーを作成または変更します。
oracle
ユーザーのパスワードを設定します。
# passwd oracle
Oracle Real Application Clustersをインストールして使用する前に、すべてのクラスタ・ノードでoracle
ユーザー用のセキュア・シェル(SSH)を構成する必要があります。Oracle Universal Installerは、インストール中にssh
およびscp
コマンドを使用して、他のクラスタ・ノードに対してリモート・コマンドを実行し、そのクラスタ・ノードにファイルをコピーします。これらのコマンドを使用する際にパスワードを求めるプロンプトが表示されないように、SSHを構成する必要があります。
SSHを構成するには、最初に各クラスタ・ノードにRSA鍵およびDSA鍵を作成してから、それらの鍵をすべてのクラスタ・ノード・メンバーから各ノードの認証鍵ファイルにコピーする必要があります。この作業の手順は、次のとおりです。
各ノードに対し、次の手順を実行します。
oracle
ユーザーでログインします。
oracle
ユーザーのホーム・ディレクトリに.ssh
ディレクトリを作成して適切な権限を設定します。
$ mkdir ~/.ssh $ chmod 700 ~/.ssh $ chmod 700
$ /usr/bin/ssh-keygen -t rsa
プロンプトで、次の手順を実行します。
このコマンドによって、公開鍵が~/.ssh/id_rsa.pub
ファイルに、秘密鍵が~/.ssh/id_rsa
ファイルに書き込まれます。秘密鍵は、他のユーザーには配布しないでください。
$ /usr/bin/ssh-keygen -t dsa
プロンプトで、次の手順を実行します。
このコマンドによって、公開鍵が~/.ssh/id_dsa.pub
ファイルに、秘密鍵が~/.ssh/id_dsa
ファイルに書き込まれます。秘密鍵は、他のユーザーには配布しないでください。
次の手順を実行します。
~/.ssh/authorized_keys
)が存在するかどうかを確認します。認証鍵ファイルがすでに存在する場合は、手順2に進みます。存在しない場合は、次のコマンドを入力します。
$ touch ~/.ssh/authorized_keys $ cd ~/.ssh $ ls
作成されたid_dsa.pub
鍵およびid_rsa.pub
鍵が表示されます。
~/.ssh/id_rsa.pub
および~/.ssh/id_dsa.pub
ファイルの内容を~/.ssh/authorized_keys
ファイルにコピーし、Oracleユーザー・パスワードを指定するように求められたら指定します。次の構文例に示すこの手順では、node1およびnode2の2ノードのクラスタを使用し、Oracleユーザーのパスは/home/oracle
です。
[oracle@node1 .ssh]$ ssh node1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys oracle@node1's password: [oracle@node1 .ssh]$ ssh node1 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys [oracle@node1 .ssh$ ssh node2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys oracle@node2's password: [oracle@node1 .ssh$ ssh node2 cat /home/oracle/.ssh/id_dsa.pub >>authorized_keys oracle@node2's password:
authorized_keys
ファイルをリモート・ノードのOracleユーザーの.sshディレクトリにコピーします。次の例では、node2と呼ばれるノードに対してSCPを使用します。Oracleユーザーのパスは/home/oracle
です。
[oracle@node1 .ssh]scp authorized_keys node2:/home/oracle/.ssh/
/.ssh/authorized_keys
ファイルに対する権限を変更します。
$ chmod 600 ~/.ssh/authorized_keys
この時点では、ssh
を使用して、他のノードにログインまたは他のノードでコマンドを実行する場合、DSA鍵の作成時に指定したパス・フレーズの入力を求めるプロンプトが表示されます。
パス・フレーズを求めるプロンプトが表示されることなくssh
およびscp
コマンドをOracle Universal Installerで使用できるようにするには、次の手順を実行します。
oracle
ユーザーとしてログインします。
$ exec /usr/bin/ssh-agent $SHELL $ /usr/bin/ssh-add
SSHが適切に構成されていれば、パスワードまたはパス・フレーズを求めるプロンプトは表示されることなくssh
やscp
コマンドを使用できます。
Bourne、KornおよびBashシェル:
$ export DISPLAY=hostname:0
Cシェル:
$ setenv DISPLAY 0
たとえば、Bashシェルを使用していて、ホスト名がnode1の場合は、次のコマンドを入力します。
$ export DISPLAY=node1:0
nodename1
、nodename2
などは、クラスタ内のノード名です。
$ ssh nodename1 date $ ssh nodename2 date . . .
これらのコマンドによって、各ノードに設定された日付が表示されます。
パスワードまたはパス・フレーズを求めるノードがある場合、そのノードの~/.ssh/authorized_keys
ファイルに適切な公開鍵が含まれているかを確認します。
リモート・クライアントを使用してローカル・ノードに接続しているときに、xauthデータがなく、X11転送に偽の認証データを使用することを示す警告メッセージが表示された場合は、認証鍵ファイルは適切に構成されているが、ssh構成でX11転送が有効になっていることを示しています。これを解決するには、手順6に進みます。
Oracle Clusterwareのインストール中、Oracle Universal Installerは、SSH(使用可能な場合)を使用してコマンドを実行したり、他のノードにファイルをコピーします。システム上の隠しファイル(.bashrcや.cshrcなど)にsttyコマンドが含まれていると、インストール中にエラーが発生します。
この問題を防止するには、すべてのSTDERR出力が停止されるようにこれらのファイルを変更する必要があります。次に例を示します。
if [ -t 0 ]; then stty intr ^C fi
test -t 0 if ($status == 0) then stty intr ^C endif
AIX Systemsでは、カーネル・パラメータを構成する必要はありません。ただし、この項で説明するように、シェル制限、システム構成パラメータおよびネットワーク・チューニング・パラメータを設定することをお薦めします。この構成作業は、すべてのクラスタ・ノードで実行します。
次の表に示すシェル制限が、表に示されている値に設定されていることを確認します。表の後に、値を確認して設定する手順を示します。
シェル制限(smitで示される) | 推奨値 |
---|---|
ソフト・ファイル・サイズ |
-1(制限なし) |
ソフトCPUタイム |
注意: これは、デフォルト値です。 |
ソフト・データ・セグメント |
-1(制限なし) |
ソフト・スタック・サイズ |
-1(制限なし) |
これらのシェル制限に指定されている現行の値を表示し、必要に応じて変更するには、次の手順を実行します。
# smit chuser
oracle
などです。
必要に応じて、既存の値を編集します。
各ユーザーに許可されているプロセスの最大数が2048以上であることを確認します。
# smit chgsys
必要に応じて、既存の値を編集します。
次の表に示すネットワーク・チューニング・パラメータが、表に示されている値以上に設定されていることを確認します。表の後に、値を確認して設定する手順を示します。
これらのパラメータに指定されている現行の値を表示し、必要に応じて変更するには、次の手順を実行します。
# /usr/sbin/no -a | more
# /usr/sbin/lsattr -E -l sys0 -a pre520tune
システムが互換性モードで実行されている場合、出力は次のようになり、pre520tune属性の値がenableであることが示されます。
pre520tune enable Pre-520 tuning compatibility mode True
# /usr/sbin/no -o parameter_name=value
次に例を示します。
# /usr/sbin/no -o udp_recvspace=655360
/etc/rc.net
ファイルに、次のエントリを追加します。
if [ -f /usr/sbin/no ] ; then /usr/sbin/no -o udp_sendspace=65536 /usr/sbin/no -o udp_recvspace=655360 /usr/sbin/no -o tcp_sendspace=65536 /usr/sbin/no -o tcp_recvspace=65536 /usr/sbin/no -o rfc1323=1 /usr/sbin/no -o sb_max=2*655360 /usr/sbin/no -o ipqmaxlen=512 fi
これらの行を/etc/rc.net
ファイルに追加すると、システムの再起動時に値が保持されます。
/usr/sbin/no -r -o ipqmaxlen=512
/usr/sbin/no -p -o parameter=value
これらのコマンドによって/etc/tunables/nextboot
ファイルが変更され、システムの再起動時に属性の値が保持されるようになります。
Oracle Universal Installerは、oracle
アカウントから実行します。ただし、Oracle Universal Installerを起動する前に、oracle
ユーザーの環境を構成する必要があります。
環境を構成するには、次の設定を行う必要があります。
DISPLAY
、ORACLE_BASE
およびORACLE_HOME
を設定します。
また、PATH変数には、/usr/X11R6/bin
の前に$ORACLE_HOME/bin
が含まれていることを確認する必要もあります。
oracle
ユーザーの環境を設定するには、次の手順を実行します。
xterm
)などの端末セッションを新規に開始します。
$ xhost + hostname
hostnameは、ローカル・ホストの名前です。
oracle
ユーザーでそのシステムにログインします。
oracle
ユーザーでログインしていない場合は、ユーザーをoracle
に切り替えます。
$ su - oracle
oracle
ユーザーのデフォルトのシェルを確認します。
$ echo $SHELL
oracle
ユーザーのシェル起動ファイルを開きます。
umask 022
ORACLE_SID
、ORACLE_HOME
またはORACLE_BASE
がファイルに設定されている場合は、そのファイルから該当する行を削除します。
$ DISPLAY=local_host
:0.0 ; export DISPLAY
% setenv DISPLAY local_host
:0.0
この例で、local_host
は、Oracle Universal Installerを表示するために使用するシステム(ご使用のワークステーションまたはPC)のホスト名またはIPアドレスです。
/tmp
ディレクトリの空きディスク領域が400MB未満である場合は、空き領域が400MB以上のファイル・システムを選択し、環境変数TEMP
およびTMPDIR
を設定してこのファイル・システムの一時ディレクトリを指定します。
各システムは、次の最小ハードウェア要件を満たしている必要があります。
使用可能なRAM | 必要なスワップ領域 |
---|---|
1GB〜2GB |
RAMサイズの1.5倍 |
1GB以上のメモリーのあるAIX Systemsでスワップ領域を増加する場合は、2GB以下にしてください。スワップ領域の構成の詳細は、『Oracle Database管理者リファレンスfor AIX』を参照してください。
/tmp
ディレクトリに400MBのディスク領域
自動バックアップを構成する場合は、フラッシュ・リカバリ領域用に追加のディスク領域(ファイル・システムまたは自動ストレージ管理ディスク・グループ)が必要です。
システムが各要件を満たしていることを確認するには、次の手順を実行します。
# /usr/sbin/lsattr -E -l sys0 -a realmem
システムに搭載されている物理RAMのサイズが要件のサイズより少ない場合、次の手順に進む前にメモリーを増設する必要があります。
# /usr/sbin/lsps -a
追加のスワップ領域を構成する(必要な場合)方法については、ご使用のオペレーティング・システムのマニュアルを参照してください。
/tmp
ディレクトリで使用できるディスク領域の大きさを確認します。
# df -k /tmp
/tmp
ディレクトリで使用できるディスク領域が400MB未満の場合、次のいずれかの手順を完了します。
# df -k
次の表に、各インストール・タイプのソフトウェア・ファイルの概算のディスク領域要件を示します。
インストール・タイプ | ソフトウェア・ファイルの要件(GB) |
---|---|
Enterprise Edition |
4GB |
Standard Edition |
4GB |
カスタム(最大) |
4GB |
# /usr/bin/getconf HARDWARE_BITMODE
Oracle Real Application Clusters環境に必要なネットワーク・ハードウェアおよびインターネット・プロトコル(IP)・アドレスがあるかを確認します。
クラスタ内の各ノードは、次の要件を満たしている必要があります。
たとえば、2ノードのクラスタのネットワーク・アダプタの場合、パブリック・インタフェースとしてノード1ではen0
、ノード2ではen1
というようには構成できません。パブリック・インタフェース名は同じである必要があります。このため、両方のノードでパブリックとしてen0を構成する必要があります。同じネットワークのアダプタでは、プライベート・インタフェースも同様に構成する必要があります。en1
がノード1のプライベート・インタフェースであれば、ノード2のプライベート・インタフェースもen1
である必要があります。
ping
コマンドを使用して、インターコネクト・インタフェースが接続可能であるかどうかをテストできます。
インストールを開始する前に、各ノードで使用可能な次のIPアドレスを準備しておく必要があります。
/etc/hosts
)のネットワーク名とIPアドレスを記録します。
/etc/hosts
)のネットワーク名とVIPアドレスを記録します。次の要件を満たすVIPのアドレスを選択します。
インストールする前に、ping
コマンドを実行し、デフォルトのゲートウェイにアクセスできることを確認します。インストール中、OUIではping
コマンドを使用してVIPが到達可能であることを確認します。デフォルトのゲートウェイを検出するには、route
コマンドを使用します(オペレーティング・システムのヘルプを参照)。インストール後に、VIPアドレス、またはVIPに関連付けたネットワーク名のいずれかを使用するようにクライアントを構成します。ノードに障害がある場合、そのノードの仮想IPアドレスは他のノードにフェイルオーバーされます。
これらのインタフェースでは、プライベート・ネットワークIPアドレス(10.*.*.*、192.168.*.*など)の使用をお薦めします。各ノードで/etc/hosts
ファイルを使用して、プライベート・ネットワーク名とプライベートIPアドレスを関連付けます。
たとえば、各ノードに1つのパブリック・インタフェースと1つのプライベート・インタフェースがある2ノードのクラスタの場合、ネットワーク・インタフェースとして、次の表に示す構成が考えられます。ここでは、ホスト・ファイルは/etc/hosts
です。
VIPのフェイルオーバーを有効にするために、前述の表に示す構成では、同じサブネット(143.46.43)で両方のノードのパブリックおよびVIPアドレスを定義しています。ノードまたはインターコネクトに障害が発生すると、関連付けられているVIPが動作可能なインスタンスに割り当てられ、そのVIPを介して接続しているクライアントに、障害が迅速に通知されます。アプリケーションおよびクライアントが透過的アプリケーション・フェイルオーバー・オプションを使用して構成されている場合、そのクライアントは動作可能なインスタンスに再接続されます。
インストールを開始する前に、クラスタ内の各メンバー・ノードが、できるかぎり同じ日時に設定されていることを確認します。このためには、すべてのノードで同一Network Time Protocolサーバーを参照して、オペレーティング・システムのNetwork Time Protocol機能を使用することをお薦めします。
各ノードが要件を満たしていることを確認するには、次の手順を実行します。
/etc/hosts
ファイルに、すべてのノードの各プライベート・インタフェースについて、次のような行を追加します。ここには、プライベートIPアドレスおよび対応するプライベート・ホスト名を指定します。
10.0.0.1 rac1-priv1
# /sbin/ifconfig
出力結果から、パブリックまたはプライベート・ネットワーク・インタフェースとして指定する、すべてのネットワーク・アダプタのインタフェース名およびIPアドレスを確認します。
Oracleユーザーで次の構文を使用してコマンドを入力して、クラスタが構成されているすべてのノード間のノードの接続性を検証します。
/mountpoint/crs/Disk1/cluvfy/runcluvfy.sh comp nodecon -n node_list [-verbose]
前述の構文例のnode_list
変数は、クラスタ内のノードのカンマ区切りリストです。このコマンドによって、各クラスタ・ノードで使用可能なすべてのネットワーク・インタフェースが検出され、検出されたネットワーク・インタフェースを介したすべてのノード間の接続性が検証されます。
-verbose
オプションは、CVUによるシステム検証の進捗状況および検証結果の詳細を表示する場合に選択します。
たとえば、node1およびnode2で構成され、マウント・ポイントが/dev/dvdromの2ノードのクラスタでノードの接続性を検証して、CVUによる検証の進捗状況とサマリーを表示するには、次のコマンドを入力します。
/dev/dvdrom/crs/Disk1/cluvfy/runcluvfy.sh comp nodecon -n node1,node2 -verbose
インストールする製品に応じて、次のソフトウェアがシステムにインストールされていることを確認してください。表の後に、これらの要件に対応しているかどうかを確認する手順を示します。
システムがこれらの要件を満たしていることを確認するには、次の手順を実行します。
# oslevel -r
オペレーティング・システムのバージョンがAIX 5.3未満の場合は、オペレーティング・システムをこのメンテナンス・レベル以上にアップグレードします。AIX 5Lバージョン5.3のメンテナンス・パッケージは、次のWebサイトから入手できます。
http://www-912.ibm.com/eserver/support/fixes/
# lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat \ bos.perf.libperfstat bos.perf.proctools rsct.basic.rte
ファイル・セットがインストールおよびコミットされていない場合は、インストールします。ファイル・セットのインストールについては、ご使用のオペレーティング・システムまたはソフトウェアのマニュアルを参照してください。
次のパッチがシステムにインストールされていることを確認します。表の後に、これらの要件を確認する手順を示します。
システムがこれらの要件を満たしていることを確認するには、次の手順を実行します。
# /usr/sbin/instfix -i -k "IY43980 IY44810 IY45462 IY45707 IY46214 IY46605 \ IY48525 IY51801 IY56024"
APARがインストールされていない場合は、次のWebサイトからダウンロードして、インストールします。
http://www-03.ibm.com/servers/eserver/support/pseries/aixfixes.html
# lslpp -l -B U489726 U485561 ...
PTFがインストールされていない場合は、次のWebサイトからダウンロードして、インストールします。
http://www-03.ibm.com/servers/eserver/support/pseries/aixfixes.html
http://www-306.ibm.com/software/
rootpre.sh
スクリプトは、次の手順で実行します。
$ su - root
インストール・ファイルがディスクにある場合は、次のコマンドを入力します。directory_pathは、ディスク・マウント・ポイント・ディレクトリまたはDVDのデータベース・ディレクトリのパスです。
# /directory_path/rootpre.sh
インストール・ファイルがハード・ディスクにある場合は、ディレクトリをDisk1ディレクトリに変更し、次のコマンドを入力します。
# ./rootpre.sh
# exit
oracle
ユーザーで次のコマンド構文を使用して、ハードウェアおよびオペレーティング・システム設定を確認するためのクラスタ検証ユーティリティ(CVU)のステージ検証を開始します。
/mountpoint/crs/Disk1/cluvfy/runcluvfy.sh stage -post hwos -n node_list [-verbose]
前述の構文例のnode_list
変数は、クラスタ内のノードのカンマ区切りリストです。たとえば、node1およびnode2で構成され、マウント・ポイントが/dev/dvdrom/
の2ノードのクラスタのハードウェアおよびオペレーティング・システムを、検証結果のみを出力するオプションを指定して検証するには、次のコマンドを入力します。
/dev/dvdrom/crs/Disk1/cluvfy/runcluvfy.sh stage -post hwos -n node1,node2
-verbose
オプションは、クラスタ検証ユーティリティによるシステム検証の進捗状況および検証結果の詳細を表示する場合に選択します。
oracle
ユーザーで次のコマンド構文を使用し、インストール前の作業を行うためのオペレーティング・システム要件をシステムが満たしているかどうかを検証します。
/mountpoint/crs/Disk1/cluvfy/runcluvfy.sh comp sys -n node_list -p {crs|database} -osdba osdba_group -orainv orainv_group -verbose
前述の構文例の意味は次のとおりです。
node_list
変数は、クラスタ内のノードのカンマ区切りリストです。
-p
フラグにはcrs
またはdatabase
のいずれかを指定し、実行される検証対象がOracle ClusterwareまたはOracleデータベース・システム要件のいずれであるかを示します。
osdba_group
変数は、OSDBAグループの名前(通常、dba
)です。
orainv_group
変数は、Oracle Inventoryグループの名前(通常、oinstall
)です。
-verbose
オプションを選択すると、CVUによるシステム検証の進捗状況および検証結果の詳細を表示できます。
たとえば、node1およびnode2で構成され、OSDBAがdba
、Oracle Inventoryグループがoinstall
、メディア・マウント・ポイントが/dev/dvdrom/
の2ノードのクラスタで、Oracle Clusterwareインストールに対してシステム検証を実行するには、次のコマンドを入力します。
/dev/dvdrom/crs/Disk1/cluvfy/runcluvfy.sh comp sys -n node1,node2 -p crs -osdba crs -orainv oinstall
Oracleソフトウェアに対して、次のディレクトリを選択または作成する必要があります。
次の項では、これらのディレクトリの要件について説明します。
Oracleベース・ディレクトリは、Oracleソフトウェア環境における最上位ディレクトリとして機能します。Optimal Flexible Architecture(OFA)のガイドラインに従って、Oracleベース・ディレクトリに次のようなパスを使用します。
/mount_point/app/oracle_sw_owner
この例の意味は、次のとおりです。
mount_point
は、Oracleソフトウェアを格納するファイル・システムのマウント・ポイント・ディレクトリです。このマニュアルの例では、マウント・ポイント・ディレクトリに/u01
を使用しています。ただし、/oracle
や/opt/oracle
など、別のマウント・ポイント・ディレクトリを選択することもできます。
oracle_sw_owner
は、oracle
などのOracleソフトウェア所有者のオペレーティング・システム・ユーザー名です。
同じOracleベース・ディレクトリを複数の環境に使用したり、環境ごとに別のOracleベース・ディレクトリを作成することができます。複数のオペレーティング・システム・ユーザーが同じシステムにOracleソフトウェアをインストールする場合、各ユーザーは別々のOracleベース・ディレクトリを作成する必要があります。次の例のOracleベース・ディレクトリは、すべて同じシステムに作成できます。
/u01/app/oracle /u01/app/orauser /opt/oracle/app/oracle
次の項では、インストールに適切な既存のOracleベース・ディレクトリを選択する方法について説明します。また、必要に応じて、Oracleベース・ディレクトリを作成する方法についても説明します。
Oracleベース・ディレクトリを作成するか、既存のOracleベース・ディレクトリを使用するかにかかわらず、環境変数ORACLE_BASEに、Oracleベース・ディレクトリのフル・パスを指定する必要があります。
Oracle Inventoryディレクトリ(oraInventory
)は、システムにインストールされているすべてのソフトウェアのインベントリを格納します。このディレクトリは、単一システムのすべてのOracleソフトウェア環境に必要で、共有されます。システムに初めてOracleソフトウェアをインストールする場合は、Oracle Universal Installerによって、このディレクトリのパスの指定を求めるプロンプトが表示されます。ローカル・ファイル・システムにソフトウェアをインストールしている場合、次のパスを選択することをお薦めします。
oracle_base/oraInventory
Oracleベース・ディレクトリがクラスタ・ファイル・システムまたはNASデバイス上の共有NFSファイル・システムに存在する場合は、ローカル・ファイル・システムにOracle Central Inventoryディレクトリ(各ノードに非公式にマウントされるため、各ノードには中央インベントリの別のコピーがあります)を指定する必要があります。
Oracle Central Inventoryに共有の位置を指定すると、各ノードは同じ中央インベントリに書き込もうとします。これは、サポートされていません。
Oracle Universal Installerによって、指定したディレクトリが作成され、そのディレクトリに適切な所有者、グループおよび権限が設定されます。自分でこのディレクトリを作成する必要はありません。
Oracle Clusterwareホーム・ディレクトリは、Oracle Clusterwareのソフトウェアをインストールするディレクトリです。Oracle Clusterwareは個別のホーム・ディレクトリにインストールする必要があります。Oracle Universal Installerを起動すると、このディレクトリのパスと識別名の指定を求めるプロンプトが表示されます。Oracle Clusterwareホーム・ディレクトリには、次のようなパスを指定することをお薦めします。
/u01/app/oracle/product/crs
Oracleホーム・ディレクトリは、特定のOracle製品のソフトウェアをインストールするディレクトリです。個々のOracle製品、または同じOracle製品でもリリースが異なる場合は、別々のOracleホーム・ディレクトリにインストールする必要があります。Oracle Universal Installerを起動すると、このディレクトリのパスと識別名の指定を求めるプロンプトが表示されます。ここで指定するディレクトリは、Oracleベース・ディレクトリのサブディレクトリである必要があります。Oracleホーム・ディレクトリには、次のようなパスを指定することをお薦めします。
oracle_base/product/10.2.0/db_1
Oracle Universal Installerによって、Oracleベース・ディレクトリの下に、指定したディレクトリ・パスが作成されます。さらに、そのディレクトリに適切な所有者、グループおよび権限が設定されます。自分でこのディレクトリを作成する必要はありません。
インストールを開始する前に、既存のOracleベース・ディレクトリを選択するか、または必要に応じてOracleベース・ディレクトリを作成します。この項の内容は次のとおりです。
既存のOracleベース・ディレクトリが、OFAのガイドラインに準拠したパスを持たない場合があります。ただし、既存のOracle InventoryディレクトリやOracleホーム・ディレクトリを選択する場合に、通常、次の方法でOracleベース・ディレクトリを選択できます。
すべてのクラスタ・ノードで次のコマンドを入力して、oraInst.loc
ファイルの内容を表示します。
# more /etc/oraInst.loc
oraInst.loc
ファイルが存在する場合、このコマンドの出力結果は、次のようになります。
inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall
inventory_loc
パラメータが、そのシステムのOracle Inventoryディレクトリ(oraInventory
)を示しています。通常、oraInventory
ディレクトリの親ディレクトリが、Oracleベース・ディレクトリです。前述の例では、/u01/app/oracle
がOracleベース・ディレクトリです。
クラスタ内のすべてのノードで次のコマンドを入力して、oratab
ファイルの内容を表示します。
# more /etc/oratab
oratab
ファイルが存在する場合は、次のような行が含まれます。
*:/u03/app/oracle/product/10.2.0/db_1:N *:/opt/orauser/infra_904:N *:/oracle/9.2.0:N
各行で指定されたディレクトリ・パスが、Oracleホーム・ディレクトリを示しています。使用するOracleソフトウェア所有者のユーザー名が末尾に付くディレクトリ・パスが、Oracleベース・ディレクトリに有効なパスです。oracle
ユーザーを使用してソフトウェアをインストールする場合は、前述の例で示した次のディレクトリのいずれかを選択できます。
/u03/app/oracle /oracle
インストールに既存のOracleベース・ディレクトリを使用する前に、そのディレクトリが次の条件を満たしていることを確認します。
Oracleベース・ディレクトリが存在するファイル・システムの空きディスク領域を確認するには、次のコマンドを使用します。
# df -k
oracle_base_path
「Oracle Clusterwareホーム・ディレクトリの作成」でoracle
ユーザーの環境を構成する際に、環境変数ORACLE_BASEを設定してここで選択したディレクトリを指定します。
Oracleベース・ディレクトリがシステムに存在しない場合またはOracleベース・ディレクトリを作成する場合は、次の項を参照してください。
Oracleベース・ディレクトリを作成する前に、適切なファイル・システムを選択する必要があります。Oracleベース・ディレクトリには、1.5GBの空きディスク領域が必要です。
適切なファイル・システムを選択するには、次の手順を実行します。
df -k
コマンドを使用して、マウントされた各ファイル・システムの空きディスク領域を確認します。
Oracleベース・ディレクトリのパスは、すべてのノードで同一である必要があります。
Oracleベース・ディレクトリを作成し、そのディレクトリに適切な所有者、グループおよび権限を指定するには、次の手順を実行します。
# mkdir -p /mount_point/app/oracle_sw_owner # chown -R oracle:oinstall /mount_point/app/oracle_sw_owner # chmod -R 775 /mount_point/app/oracle_sw_owner
たとえば、選択したマウント・ポイントが/u01
で、Oracleソフトウェア所有者のユーザー名がoracle
である場合、Oracleベース・ディレクトリの推奨パスは次のようになります。
/u01/app/oracle
oracle
ユーザーの環境を構成する際に、この作業で作成したOracleベース・ディレクトリが指定されるように環境変数ORACLE_BASEを設定します。
Oracle Universal Installer(OUI)によって、Oracle Clusterwareホーム・ディレクトリが作成されます。インストールを開始する前に、Oracle Clusterwareディレクトリ用に十分なディスク領域がファイル・システムにあること、およびOracle Clusterwareディレクトリ領域の親ディレクトリがOracleユーザーによって書込み可能であることを確認します。
適切なファイル・システムを選択するには、次の手順を実行します。
df
-k
コマンドを使用して、マウントされた各ファイル・システムの空きディスク領域を確認します。
Oracleベース・ディレクトリに同じファイル・システムを使用している場合は、以前に特定した空きディスク領域要件にこの1.4GBのディスク領域を追加する必要があります。
Oracle Clusterwareホーム・ディレクトリへのパスは、すべてのノードで同一である必要があります。
Oracle Clusterwareホーム・ディレクトリを作成し、そのディレクトリに適切な所有者、グループおよび権限を指定するには、次の手順を実行します。
# mkdir -p /mount_point/crs/oracle_sw_owner/product/10/app # chown -R root:oinstall /mount_point/crs # chmod -R 775 /mount_point/crs/oracle_sw_owner
選択したマウント・ポイントが/u01
である場合、Oracle Clusterwareホーム・ディレクトリには、次のようなパスを指定することをお薦めします。
/u01/crs/oracle/product/10/crs
$ umask $ env | more
umask
コマンドによって22
、022
または0022
の値が表示され、この項で設定する環境変数の値が正しいことを確認します。
表2-1に、Oracle Database 10g リリース2(10.2)をインストールするシステムに既存のOracleデータベースがある場合に実行する必要がある作業の概要を示します。この表を確認して、必要に応じて作業を実行します。
インストール例 | 必要な作業 |
---|---|
Oracle Database 10g リリース1(10.1)から10g リリース2(10.2)へのアップグレード |
追加の作業はありません。「Oracle 10g リリース1(10.1)がインストールされているシステムへのOracle 10g リリース2(10.2)のインストール」を参照してください。 |
Oracle Database 10g リリース1(10.1)と共存させるためのシステムへのOracle Database 10g リリース2(10.2)のインストール |
追加の作業はありません。「Oracle 10g リリース1(10.1)がインストールされているシステムへのOracle 10g リリース2(10.2)のインストール」を参照してください。 |
Oracle9i リリース2(9.2)からOracle Database 10g リリース2(10.2)へのアップグレード |
グローバル・サービス・デーモンを停止し、ポート1521のデフォルトのリスナーが存在する場合はこれも停止します。「Oracle9i リリース2(9.2)がインストールされているシステムへのOracle 10g リリース2(10.2)のインストール」を参照してください。 |
Oracle9i リリース2(9.2)と共存させるためのシステムへのOracle Database 10g リリース2(10.2)のインストール |
ポート1521のデフォルトのリスナーが存在する場合は停止し、グローバル・サービス・デーモンを停止します。「Oracle9i リリース2(9.2)がインストールされているシステムへのOracle 10g リリース2(10.2)のインストール」を参照してください。 |
システムにOracle Database Release 10g リリース1(10. 1)がインストールされている場合に、共存またはリリース1(10.1)をアップグレードするためにOracle Database 10g リリース2(10.2)をインストールすると、ほぼすべてのインストール・タイプで、TCP/IPポート1521およびIPCキー値EXTPROCを使用したデフォルトのOracle Net Listenerの構成および起動が行われます。次のいずれかが発生します。
第3章 に進みます。
この項では、準備のための手順について説明します。
Oracle9i リリース2(9.2)の既存のデータベースがインストールされているシステムにOracle Database 10g リリース2(10.2)をインストールし、Oracle Net ListenerプロセスがOracle 10g リリース2(10.2)のインストールで使用されるデフォルトと同じポート(ポート1521)またはキー値を使用している場合、Oracle Universal Installerは新しいリスナーを構成することのみが可能で、それを起動することはできません。新しいリスナー・プロセスがインストール時に起動されるようにするには、Oracle Universal Installerを起動する前に既存のリスナーを停止する必要があります。これを実行するには、「リスナーの停止」を参照してください。
グローバル・サービス・デーモン(GSD)を停止する必要があります。これは、停止しておかないと、10g リリース2(10.2)のインストール時に、Oracle9i リリース2(9.2)のSRVM共有データが、リリース2(9.2)のGSDでは使用できないOracle Cluster Registryにアップグレードされるためです。リリース2(10.2)のOracle Clusterwareのインストールでは、10g リリース2(10.2)のGSDが起動され、Oracle9i リリース2(9.2)のクライアントに対しサービスが提供されます。これを実行するには、「グローバル・サービス・デーモンの停止」を参照してください。
Oracle9i の既存のリスナー・プロセスが実行されているかどうかを確認し、必要に応じて停止するには、次の手順を実行します。
oracle
に切り替えます。
# su - oracle
$ ps -ef | grep tnslsnr
このコマンドの出力結果に、システムで実行されているOracle Net Listenerの情報が表示されます。
... oracle_home1/bin/tnslsnr LISTENER -inherit
この例では、oracle_home1
が、リスナーが組み込まれているOracleホーム・ディレクトリで、LISTENER
がリスナー名です。
$ $ORACLE_HOME/bin/lsnrctl status listenername
$ $ORACLE_HOME/bin/lsnrctl stop listenername
クラスタ内の各ノードで、Oracleユーザーとして次の構文を使用し、GSDを停止します。
$ cd 92_Oracle_home $ bin/gsdctl stop
前述の構文例で、変数92_Oracle_homeはOracle9i リリース2(9.2)のデータベース・ホームです。
|
Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|