Oracle Database 11g Release 2
Oracle RAC 11g Release 2 for HP-UX Itanium
の構成例
はじめに
日本ヒューレット・パッカード株式会社(代表取締役 社長執行役員:小出 伸一、本社:東京都千 代田区、以下日本HP)と日本オラクル株式会社(代表執行役社長 最高経営責任者:遠藤 隆雄、 本社:東京都港区、以下日本オラクル)は、日本オラクル社内のIT基盤検証施設「Oracle GRID Center」を活用して、ソリューションの開発、提案から保守、最新技術情報の市場への提供を行う など、協業を強化することに合意しています。「Oracle GRID Center」を活用した両社の協業強化 によって、「HP+Oracle」ならではの堅牢でハイパフォーマンスなITインフラストラクチャを提案 し、IT投資の効率化、コスト削減を実現することで、お客様のビジネスにも貢献してまいります。 すでにHPとオラクルは28年を超える製品開発から販売、保守に至る全方位での密接な協調関係を 通じ全世界で 14万社を超えるお客様に共同でシステム導入してきました。その結果として、 「Oracle Database」においても「Oracle Applications」の稼動プラットフォームとしてもHPサーバが もっとも多く利用され、HP自身が世界最大規模のオラクル導入ユーザーでもあります。これらの 強固な関係にもとづき、最新データベース Oracle Database 11g Release 2 においても引き続きHP-UXはオラクルの最重要プラットフォームとして位置づけられています。
国内においても、日本HPと日本オラクルは相互に最重要パートナーの一社として、20年にわたっ て強力なパートナーシップを構築してきました。特に、企業のIT基盤の構築について、HP-UX搭載 サーバーと「Oracle Database」や「Oracle Fusion Middleware」の組み合わせを中心としたプラット フォームの提案を行い、日本市場でのオープン・エンタープライズシステムの普及を加速してきま した。また、両社は、HP-UX搭載サーバー、オラクルのデータベース技術を中核に、次世代デー タセンターやプライベートクラウドのような最新エンタープライズシステムの在り方を追求し、お 客様の経営課題、情報システムの課題を解決する提案を行っています。
日本HPと日本オラクルは、Serviceguard/Serviceguard Extention for RAC(以下SGeRAC)と Oracle RAC 11g Release 2 の Grid Infrastructure(Oracle Clusterwareと自動ストレージ管理)を組み合わせ た RAC 構成の可用性検証を Oracle GRID Center で実施しました。本書を含む一連の手順書はそ の構築手法を説明し、その中で本書は Oracle RAC のインストール方法について説明しています。
設計... 4
インストール要件の確認 ... 5
ネットワーク・ハードウェアの要件... 5
SCAN VIPのDNSへの登録 ... 5
/etc/hosts ファイルの変更 ... 6
必要なパッチの入手 ... 6
パッチの適用... 14
カーネルパラメーターの設定値... 15
カーネルパラメータの変更(SMH での変更) ... 18
カーネルパラメータの変更(コマンドでの変更) ... 22
シンボリックリンクの作成... 24
ユーザーとグループの作成... 24
グループ属性の設定 ... 25
sshに対するユーザー等価関係の設定... 25
ユーザー環境の設定 ... 27
DVDのマウント... 27
ステージエリアへのメディアへのコピー(オプション)... 28
SGeRACクラスターの起動確認 ... 28
インストール先の事前設定... 29
デフォルト・ゲートウェイの設定確認 ... 31
Grid Infrastructureのインストール... 32
RACのインストール... 49
環境変数の設定 ... 58
root.shのバックアップ ... 59
Patch Set Release(PSR)の適用... 59
Critical Patch Update(CPU)の適用... 60
Oracle Recommended Patch(ORP)の適用 ... 60
パッチ適用時の注意 ... 60
Oracle RACの削除... 61
Grid Infrastructureの削除 ... 61
Grid Infrastructureの削除の一例を示します。 ... 61
root.shをまだ実行していない場合の削除方法 ... 61
root.shをすでに実行した場合の削除方法 ... 61
設計
以下の設計表の設計値を記入します。他はデフォルト値で構成可能です。
項目 設計値 設計例
Oracle Clusterwareのクラスター名 hp Oracle Inventoryグループ oinstall
OSDBAグループ dba
Oracle自動ストレージ管理グループ asmadmin
ASMデータベース管理者グループ asmdba
Oracle Grid Infrastructure所有者 ユーザー grid Oracleソフトウェア所有者ユーザー oracle インストール・ディレクトリ /u01/app 表1 設計表 •SGeRACクラスター及びRACパッケージ(RACの領域を含む)の構築がすでに終了している前提です。 •Oracle Clusterwareのクラスター名は、英数字及びハイフンを使用し15文字以下で構成します。 項目 設計値 設計例 名前 / IPアドレス 名前解決方法 プライベートIPアドレス (ノード1用) hp01-hb / 192.168.0.1 (事前に割当) hostsファイル プライベートIPアドレス (ノード2用) hp02-hb / 192.168.0.2 (事前に割当) hostsファイル パ ブ リ ッ ク IP ア ド レ ス (ノード1用) hp01 / 172.168.1.101 (事前に割当) DNS及びhostsファイル パ ブ リ ッ ク IP ア ド レ ス (ノード2用) hp02 / 172.168.1.102 (事前に割当) DNS及びhostsファイル VIPアドレス (ノード1用) hp01-vip / 172.168.1.1 DNS及びhostsファイル VIPアドレス (ノード2用) hp02-vip / 172.168.1.2 DNS及びhostsファイル SCAN hp-scan / 172.168.1.201 DNS SCAN hp-scan / 172.168.1.202 DNS
SCAN hp-scan / 172.168.1.203 DNS 表2 設計表 • 本 設計の 場 合 、 プ ラ イ ベ ー トLANのネットワークはServiceguardのハートビートのLANと兼用します。 • プ ラ イ ベ ー トLANの各IPは、ServiceguradのハートビートLANを構築する時にすでに設定している前提です。 • こ れ 以 外 の 設計( 例 え ば 、 ハ ー ト ビ ー トLANとプライベートLAN を分離した構成など)も可能です。 • プ ラ イ ベ ー トLANに必要なIPアドレスは、事前にNICに割り当て、実在させる必要があります。 •VIP及びSCAN VIPに必要なIPはアドレス、事前にNICに割り当て、存在させる必要はありません。ただし、 すでに割り当てられているパブリックIPアドレスと同じサブネットである必要があります。 •SCAN名は、英数字及びハイフンを使用し15文字以下で構成します。 •SCANは、DNSで3つのアドレスをラウンド・ロビン方式で解決する構成を推奨します。
•Oracle Clusterwareが管理する IPアドレスの指定には、Oracle Grid Naming Service(GNS)による動的IPアドレ
スの割り当てと静的IPアドレスの割り当ての2つの方法がありますが、本書では静的IPアドレスの割り当て による設計例を示しています。
インストール要件の確認
<全ノード(hp01、hp02)での作業> 以下の要件を満たしているか確認します。 □ 4GB以上のRAM □ 8GB以上のSwapスペース □ 8GB以上のRAMを持つシステムのSwapスペースはRAMサイズの1∼2倍 □ 1GB以上の/tmp(環境変数TEMPおよびTMPDIRで別ディレクトリを指定可能) □ インストール先に12GBの空き領域※ □ メディアのステージエリアに5GBの空き容量(オプション) ※ インストール先に必要な空き領域は、インストールのためだけの最低容量となります。ログの領域の考慮や インストール内容の変更により、必要な空き領域は異なりますのでご注意ください。ネットワーク・ハードウェアの要件
パブリック・ネットワークのインタフェース名(例えば lan0)及びプライベート・ネットワーク のインタフェース名(例えば lan1)は、各ノードで同じである必要があります。SCAN VIPのDNSへの登録
<全ノード(hp01、hp02)での作業> SCAN VIPをDNSに登録し、nslookupコマンドで確認します。 roor # nslookup hp-scan.hp.comUsing /etc/hosts on: hp01 looking up FILES
Trying DNS
Addresses: 172.168.1.201, 172.168.1.202, 172.168.1.203 root #
/etc/hosts ファイルの変更
<全ノード(hp01、hp02)での作業> /etc/hostsファイルを変更します。以下、変更例です。 root # vi /etc/hosts必要なパッチの入手
必要なパッチは、マニュアル『Oracle Grid Infrastructureインストレーション・ガイド 11g リリース 2(11.2)for HP-UX Itanium』と『Oracle Databaseインストレーション・ガイド 11g リリース2 (11.2)for HP-UX』を参考にします。
PHCO_40381 11.31 Disk Owner Patch
PHKL_38038 VM patch - hot patching/Core file creation directory PHKL_38938 11.31 SCSI cumulative I/O patch
PHKL_39351 Scheduler patch : post wait hang PHSS_36354 11.31 assembler patch PHSS_37042 11.31 hppac(packed decimal)
PHSS_37959 Libcl patch for alternate stack issue fix(QXCR1000818011) PHSS_39094 11.31 linker + fdp cumulative patch
PHSS_39100 11.31 Math Library Cumulative Patch PHSS_39102 11.31 Integrity Unwind Library PHSS_38141 11.31 aC++ Runtime
172.168.1.101 hp01.hp.com hp01 172.168.1.102 hp02.hp.com hp02
192.168.0.1 hp01-priv.hp.com hp01-priv hp01-hb1.hp.com hp01-hb1 hp01 192.168.0.2 hp02-priv.hp.com hp02-priv hp02-hb1.hp.com hp02-hb1 hp02 172.168.1.1 hp01-vip.hp.com hp01-vip
172.168.1.2 hp02-vip.hp.com hp02-vip 127.0.0.1 localhost loopback
パッチは ITリソースセンター(ITRC http://www.itrc.hp.com/)から入手します。ITリソースセンタ ーをご利用になると、上記パッチやそのリプレースパッチ(上位版)あるいは依存関係のあるパッ チが既にシステムにインストールされているかどうかを調べ、一括ダウンロードすることができま す。 ユーザー登録(無料)を行い、ログインし、「パッチデータベース」をクリックします。 図1 メインページ(ITRC)
「パッチ評価の実行」をクリックします。
図2 パッチデータベース(ITRC)
ステップ1の「新規システム情報をアップロードする」をクリックします。
ITRCからswainvスクリプトをダウンロード後、パッチを適用したいサーバーでswinvスクリプトを 実行し、inventory.xmlファイルを作成します。swinvスクリプト実行時は、以下のようにLANG=C をつけてrootユーザーで実行してください。LANG=C を付けないで実行すると、内部で日付が日 本語で取得され、後でブラウザー側での読み込みに失敗することがあります。また、各ノードでハ ードウェア、ソフトウェア構成が異なる場合は、それぞれのノードで行います。
root # LANG=C sh /tmp/swinv.sh root #
作成された inventory.xmlファイルをITRCのパッチ評価にアップロードします。
パッチ評価の実行画面に戻り、ステップ2の「新規評価プロファイルを作成する」をクリックし て、Oracle用の評価プロファイルを作成します。
Oracle用の評価プロファイルでは、「パッチオプションを」を全て外し、「特定パッチ、パッチチ ェーン、必須パッチを要求」の画面の3箇所の入力欄に、Oracleに必要なパッチを記入します (Oracleを含むHP-UX全体のパッチ評価を行いたい場合は、これらのパッチオプションは全てチェ ックします。ここでは既にシステムのパッチはインストール済であることが前提で、Oracle関連の パッチの状況のみを見るために全てのチェックを外しています)。 図6 評価プロファイル(ITRC)
「特定パッチ、パッチチェーン、必須パッチを要求」の画面の3箇所の入力欄に、Oracleに必要な パッチを記入し、「パッチセット」にチェックをつけずに、「保存」をクリックします。
図7 評価プロファイル(ITRC)
新規に作成した評価プロファイルを選択し、「候補パッチの表示」をクリックします。
パッチ評価の結果が表示されます。全ての指定パッチやそのリプレース版(新しいパッチ)が既に インストール済みの場合はこれ以上の作業は必要ありません。ITRCからログアウトします。 幾つか未インストールのパッチがあった場合は「すべて選択」をクリックし、「選択済みパッチリ ストに追加」をクリックし、ダウンロードの画面へ移ります。 図9 パッチ評価結果(ITRC) 「選択済みパッチのダウンロード」をクリックします。 図10 選択済みパッチリスト(ITRC)
サイズを確認します。アーカイブ形式「tarパッケージ」を選択し、「ダウンロード」をクリック します。ダウンロード後、「ログアウト」します。 図11 パッチのダウンロード ソフトウェア構成が各ノードで異なる場合は、ノード毎にITRCからパッチを入手します。
パッチの適用
<全ノード(hp01 、hp02)での作業> ダウンロードしたファイル(例:hpux__11.31_04120542.tar)を転送し、解凍します。 root # mkdir -p /tmp/hpux_patch/hpux_20100412_02(ここでは識別しやすいように、日付と連番などの入ったディレクトリ名にしています) root # cd /tmp/hpux_patch/hpux_20100412_02
root # tar xvf /tmp/hpux__11.31_04120542.tar root #
デポを作成します。
root # ./create_depot_hpux.11.31 –b 20100412_02_PATCHES ¥
-t “20100412_02 Patches for HP-UX” tee c.log
-bオプションの後には日付と連番の入った名前(任意:パッチセット名となります)を指定し、-t オプションの後にその説明文(任意)を指定しています。このようにすると、後で使用するswlist コマンドの出力がわかりやすくなります。また、標準出力の内容を後で確認できるようにteeコマ ンドを使用し、ファイルc.logに標準出力の内容を出力しています。
デポの内容を確認します。
root # swlist –s /tmp/hpux_patch/hpux_20100412_02/depot (途中省略)
20100412_02_PATCHES B.2010.0412 20100412_02 Patches for HP-UX
適用されるパッチによっては、パッチのインストール後にOS再起動をする場合があります。他の 作業中の方々への通知や動作中のアプリケーションの停止など、インストールを行う前にOS再起 動をしても問題ないことを確認し、swinstallコマンドでパッチをインストールします。
root # swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/hpux_patch/hpux_20100412_02/depot | tee i.log
標準出力を後で確認したい場合はteeコマンドで取得します。いくつかのファイルセットの解析時 にERRORが発生しても、その他のパッチは適用されますので中断せずに続行します。インストー ルには暫く時間がかかります。その後、autoreboot=trueが指定されているので自動的にOSが再起動 されます。OS再起動後、パッチがインストールされているかどうかを確認します
インストール作業の詳細は、/var/adm/sw/swagent.log ファイルに記録されます。 root # swlist | more
(途中省略)
20100412_02_PATCHES B.2010.0412 20100412_02 Patches for HP-UX 詳細を見る場合は以下のコマンドを実行します。
# swlist 20100412_02_PATCHES | more (表示省略)
カーネルパラメーターの設定値
Oracle RAC 11g Release 2 に必要なカーネルパラメーターの変更は、マニュアル『Oracle Grid Infrastructureインストレーション・ガイド 11g リリース2(11.2)for HP-UX Itanium』と『Oracle Databaseインストレーション・ガイド 11gリリース2(11.2) for HP-UX』を参考にします。以下に インストールに必要な最小値を示します。 設定項目 設定例 executable_stack 0 ksi_alloc_max 32768 maxfiles 1024 maxfiles_lim 63488 max_thread_proc 1024 maxdsiz 1073741824
maxdsiz_64bit 2147483648 maxssiz 134217728 maxssiz_64bit 1073741824 maxuprc 3686 msgmbs 4 msgmni 4096 msgtql 4096 ncsize 35840 nflocks 4096 ninode 34816 nkthread 7184 nproc 4096 semmni 4096 semmns 8192 semmnu 4092 semvmx 32767 shmmax 使用可能な物理メモリ shmmni 4096 shmseg 512 表3 カーネルパラメーター設定一覧
MSGMAP 、NFILE はHP-UX 11i v3 (11.31) では廃止されています。MSGSEG はMSGMBS で算 出されます。 HP-UX カーネル内のさまざまなキャッシュは動的管理がなされているため、状況によりそのキャ ッシュサイズは変化します。データベースを利用する場合は、それらの各キャッシュサイズを固定 化することで、より多くのメモリーをデータベースに使用させパフォーマンスを向上させることが 可能となるため、各キャッシュサイズの固定化も検討します。 バ ッ フ ァ ー キ ャ ッ シ ュ の サ イ ズ の 固 定 化 は 、 カ ー ネ ル パ ラ メ ー タ ー FILECACHE_MIN と FILECACHE_MAXに同じ値を設定することで実現します。 JFSメタデーターキャッシュのサイズの固定化は、カーネルパラメーバーVXFS_BC_BUFHWM に 比較的小さな上限値を設定することで実現します。
iノードキャッシュのサイズ の固定化は、カーネルパラメーター VX_NINODEでその サイズと VXFS_IFREE_TIMELAGを設定することで実現します。 以下に設定例を示します。 設定項目 設定例 デフォルトの値 filecache_min 4% 5% filecache_max 4% 50% vx_ninode 20000 0 vxfs_bc_bufhwn 83887 0 vxfs_ifree_timelag -1 0 表4 キャッシュ関連のカーネルパラメーター設定例 この設定例では、8GBのメモリーを搭載したマシンにおいて、搭載メモリーの4%をバッファーキ ャッシュに、搭載メモリーの1%(83887=8192*1024*0.01)をJFSのメタデーターキャッシュに設定 しています。また、vxfs_ifree_timelag=-1の設定によりiノードキャッシュを静的管理とし、vx_inode でその最大サイズを設定しています。詳細については、ホワイトペーバー「HP-UX リソース構成 ― 最適構成のためのヒント」を参照してください。 削除: 0
カーネルパラメータの変更(SMH での変更)
カーネルパラメータをコマンドで変更する場合は、こちらの手順は不要です。後述する「カーネル パラメータの変更(コマンドでの変更)」の手順に進んでください。 <全ノード(hp01、hp02)での作業> Web ブラウザーから http://ノード名 または http://IPアドレス:2301 にアクセスすると、SMH の サインイン画面が表示されます。ここで「User Name」と「Password」を入力してサインインを行 います。「Sign In」ボタンをクリックします。 図12 SMH サインインSMH のHome から、「System」の「Memory」をクリックし、物理メモリー量を確認します。
図13 SMH のhome
各Memory Slotのサイズの合計が物理メモリーサイズになります。確認後、「home」をクリックし ます。この例では、shmmax の値は、4*1024*1024*1024=4294967296 (4GB)になります。
カーネルパラメーターを変更する場合は以下の手順で行います。SMH のhome から、「System Configuration」の「Show All」をクリックします。
図15 SMH のhome
「Kernel Configuration」をクリックします。
変更したいパラメーター名(一部までで可)を記入し検索します。大文字・小文字は別の文字とし て判定するので注意します。
図17 Kernel Configuration (調整パラメータ)
変更したいパラメーターを選択し、「調整パラメータの変更」をクリックします。
新しい設定を記入し、「再計算した値」をクリックして確認します。動的(Dynamic)に変更可能 なパラメーターの場合は、「すぐに変更」を選択できます。必要であれば、「変更理由」も記入し ます。 「変更」をクリックし、操作の成功を確認して「OK」をクリックします。 図19 カーネル調整パラメータを変更 この作業を繰り返し、変更が必要な全てのパラメーターを変更していきます。数値を指定するもの で現在の値の方が大きいものは変更の必要はありません。 HP-UX を再起動して、変更値を反映させます。 root # shutdown –r 0 SHUTDOWN PROGRAM 04/13/10 16:49:42 JST
Do you want to send your own message? (You must respond with 'y' or 'n'.): n
カーネルパラメータの変更(コマンドでの変更)
SMHを用いてすでにカーネルパラメータを変更している場合は、こちらの手順は不要です。
<全ノード(hp01、hp02)での作業>
shmmax の値を検討するために、現状の物理メモリーサイズの確認をします。 root # dmesg | grep Physical (”Physical:” 部分にKbytes 表示) または
kctune (1M) コマンドを実行して、カーネルパラメーターを変更します。 root # cd /tmp root # vi kctune.sh
(サンプル・スクリプト)
現在の値より指定した値が大きい時にのみ値を変更するように、リダイレクト(>)記号を使用し ています。このリダイレクト(>)はPOSIX シェルの特殊表記ですので、バックスラッシュ(¥) を前につけています。root # chmod 744 kctune.sh root # ./kctune.sh
NOTE: The value of the tunable 'maxfiles' at next boot is not known. The >= operator will make no change to it.
NOTE: The value of the tunable 'nflocks' at next boot is not known. The >= operator will make no change to it.
==> Update the automatic 'backup' configuration first? yes
HP-UX を再起動して、変更値を反映させます。 root # shutdown –r 0
SHUTDOWN PROGRAM 04/13/10 16:49:42 JST
Do you want to send your own message? (You must respond with 'y' or 'n'.): n #!/bin/sh LANG=C kctune \ executable_stack\>=0 \ ksi_alloc_max\>=32768 \ maxfiles\>=1024 \ maxfiles_lim\>=63488 \ max_thread_proc\>=1024 \ maxdsiz\>=1073741824 \ maxdsiz_64bit\>=2147483648 \ maxssiz\>=134217728 \ maxssiz_64bit\>=1073741824 \ maxuprc\>=3686 \ msgmbs\>=4 \ msgmni\>=4096 \ msgtql\>=4096 \ ncsize\>=35840 \ nflocks\>=4096 \ ninode\>=34816 \ nkthread\>=7184 \ nproc\>=4096 \ semmni\>=4096 \ semmns\>=8192 \ semmnu\>=4092 \ semvmx\>=32767 \ shmmax\>=8589934592 \ shmmni\>=4096 \ shmseg\>=512 \ filecache_min=4% \ filecache_max=4% \ vx_ninode=20000 \ vxfs_bc_bufhwm=83887 \ vxfs_ifree_timelag=-1
シンボリックリンクの作成
<全ノード(hp01、hp02)での作業>
HP C/aC++に含まれるX11MotifDevKit.MOTIF21-PRGパッケージがインストールされているか確認 します。
root # swlist -l product | grep X11MotifDevKit
X11MotifDevKit B.11.31.01 HP-UX Developer's Toolkit - X11, Motif, and Imake #
X11MotifDevKit.MOTIF21-PRGパッケージがインストールされていない場合はすべてのノードで、 以下のシンボリックリンクを作成します。
root # cd /usr/lib
root # ln -s libX11.3 libX11.sl root # ln -s libXIE.2 libXIE.sl root # ln -s libXext.3 libXext.sl root # ln -s libXhp11.3 libXhp11.sl root # ln -s libXi.3 libXi.sl root # ln -s libXm.4 libXm.sl root # ln -s libXp.2 libXp.sl root # ln -s libXt.3 libXt.sl root # ln -s libXtst.2 libXtst.sl root #
ユーザーとグループの作成
<全ノード(hp01、hp02)での作業> グリッド・インストール所有者ユーザー(本書ではgrid)、Oracleソフトウェア所有者ユーザー (本書ではoracle)及び必要なグループを作成します。ユーザーID、グループIDはすべてのノード で同一である必要があります。また、グリッド・インストール所有者ユーザー、Oracleソフトウェ ア所有者ユーザーそれぞれのパスワードも、すべてのノードで同一にすると管理が容易になりま す。root # /usr/sbin/groupadd -g 501 oinstall root # /usr/sbin/groupadd -g 502 dba root # /usr/sbin/groupadd -g 503 asmadmin root # /usr/sbin/groupadd -g 504 asmdba
root # /usr/sbin/useradd -u 500 -g oinstall -G asmadmin,asmdba -m grid root # /usr/sbin/useradd -u 501 -g oinstall -G dba,asmdba -m oracle root # passwd grid
Changing password for grid New password:
Re-enter new password: Passwd successfully changed root # passwd oracle Changing password for oracle New password:
Re-enter new password: Passwd successfully changed root #
Oracle Schedulerを利用して外部プログラムを実行する際には、ユーザーを新規作成し、extjob実行 可能ファイルを所有させる必要があります。必要であれば、このユーザーも作成します。ユーザー
名には任意の名前を指定できます。外部プログラムを実行する運用をしない場合は、作成する必要 はありません。
グループ属性の設定
<全ノード(hp01、hp02)での作業> ファイル/etc/privgroupを新規に作成し、以下のエントリーを追加します。 root # vi /etc/privgrouproot # chmod 444 /etc/privgroup root # setprivgrp –f /etc/privgroup root # getprivgrp
global privileges: CHOWN oinstall: RTPRIO MLOCK RTSCHED root # MLOCK権限を与えないと、非同期IOを使用する場合にエラーが出力されます。また、RTSCHED 権限及びRTPRIO権限を付与し、データベースの初期化パラメーターhpux_sched_noageを使用する ことで、プロセスがSCHED_NOAGEポリシーで動作します。
sshに対するユーザー等価関係の設定
gridユーザー及びoracleユーザーにおいて、すべてのノード間でsshコマンド及びscpコマンドが実行 できるようにするため、以下の設定をgridユーザーおよびoracleユーザーに対して行います。 <全ノード(hp01、hp02)での作業> ディレクトリ.sshおよびRSA鍵を作成します。パスフレーズの入力を求めるプロンプトでは、[enter キー]を入力します。パスフレーズを持つSSHは、Oracle Clusterware 11gリリース2以上のリリース ではサポートされません。grid|oracle $ ssh-keygen -t rsa Generating public/private rsa key pair.
Please be patient.... Key generation may take a few minutes
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): [enter] Enter passphrase (empty for no passphrase): [enter]
Enter same passphrase again: [enter]
Your identification has been saved in /home/oracle/.ssh/id_rsa. Your public key has been saved in /home/oracle/.ssh/id_rsa.pub. The key fingerprint is:
<略> grid|oracle $
<ノードhp01での作業>
ファイルauthorized_keysを作成します。 grid|oracle@hp01 $ cd ~/.ssh
grid|oracle@hp01 $ cat id_rsa.pub >> authorized_keys すべてのノードのRSA鍵をファイルauthorized_keysに追加します。 grid|oracle@hp01 $ vi authorized_keys
grid|oracle@hp01 $ chmod 600 authorized_keys grid|oracle@hp01 $
<ノードhp02での作業>
ファイルauthorized_keysを作成します。 grid|oracle@hp02 $ cd ~/.ssh
grid|oracle@hp02 $ cat id_rsa.pub >> authorized_keys grid|oracle@hp02 $
すべてのノードのRSA鍵をファイルauthorized_keysに追加します。 grid|oracle@hp02 $ vi authorized_keys
grid|oracle@hp02 $ chmod 600 authorized_keys grid|oracle@hp02 $
<全ノード(hp01、hp02)での作業>
ローカルノードを含むすべてのノードに対してsshコマンドが実行できることを確認します。以 下、ノードhp01で実行例を示しますが、ノードhp02でも同様に確認します。なお、最初の1回目は Are you sure you want to continue connecting (yes/no)?
のメッセージが出力されますので「yes」を入力します。再度 ssh コマンドを実行すると、このメ ッセージは表示されません。
grid|oracle@hp01 $ ssh hp01 hostname
The authenticity of host 'hp01 (16.152.153.8)' can't be established. RSA key fingerprint is 00:94:fe:a4:31:a0:46:32:3f:ec:71:65:77:ab:65:be. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hp01,16.152.153.8' (RSA) to the list of known hosts. hp01
grid|oracle@hp01$ ssh hp01 hostname hp01
grid|oracle@hp01$ ssh hp02 hostname
The authenticity of host 'hp02 (16.152.153.9)' can't be established. RSA key fingerprint is fb:d1:3a:bd:b2:e9:e1:9a:10:b0:5c:9a:85:83:ba:13. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hp02,16.152.153.9' (RSA) to the list of known hosts. hp02
grid|oracle@hp01$ ssh hp02 hostname
hp02の ~/.ssh/id_rsa.pub の内容を追加
grid|oracle@hp01$
ユーザー環境の設定
<全ノード(hp01、hp02)での作業> gridユーザーとoracleユーザーに対してインストール時に必要な設定と環境変数を.profile等のファイ ルに記述し、ログインしなおします。以下、POSIXシェルを利用している場合の例で、網掛け部分 を追加しています。 grid|oracle $ cdgrid|oracle $ chmod u+w .profile grid|oracle $ vi .profile
grid|oracle $ chmod u-w .profile grid|oracle $ exit 再度ログインを実行 環境変数ORA_CRS_HOME、ORACLE_HOME、ORA_NLS10、TNS_ADMINは設定しないてくださ い。 環境変数LANGを設定しないと、インストーラー(OUI)の日本語表示はなされません。 ディレクトリ/tmpに領域が足りない場合は、環境変数TMP, TMPDIRに別のディレクトリを指定し て変更可能です。
DVDのマウント
<任意の1ノード(ここではhp01)での作業> if [ -t 0 ] ; thenstty erase "^H" kill "^U" intr "^C" eof "^D" stty hupcl ixon ixoff
fi <略>
# Oracle environmental variables LANG=ja_JP.SJIS export LANG DISPLAY=172.168.1.240:0.0 export DISPLAY umask 022 ulimit -n 63488
DVDメディアからインストールする場合は、インストーラー(OUI)を実行するノードで、DVD をマウントします。デバイスファイルはioscanコマンドで調べることができます。
root@hp01 # ioscan -fnuN -C disk
Class I H/W Path Driver S/W State H/W Type Description ========================================================== disk 0 0/0/2/0.0.0.0 sdisk CLAIMED DEVICE TEAC DV-28E-C
/dev/disk/disk7 /dev/rdisk/disk7 root@hp01 # mkdir /dvd
root@hp01 # mount –F cdfs /dev/disk/disk7 /dvd root@hp01 #
ステージエリアへのメディアへのコピー(オプション)
<任意の1ノード(ここではhp01)での作業> DVDから直接インストーラーを起動することも出来ますが、全てのメディアの内容をステージエ リア(ディスク)にコピーしておくと、インストール途中メディアの出し入れをしなくて済みま す。例えば、/stage/11.2というディレクトリを作成し、以下の手順でメディアをステージエリア (ディスク)にコピーします。root@hp01 # mount –F cdfs /dev/disk/disk7 /dvd root@hp01 # cp -pr /dvd/* /stage/11.2
root@hp01 # umount /cdrom root@hp01 #
SGeRACクラスターの起動確認
<任意の1ノード(ここではhp01)での作業>
Serviceguard Manager から、SGeRACクラスターを起動し、クラスターが起動していることを確認 します。
図20 クラスタプロパティ(メイン)
コマンドで確認する場合は、以下のように実行します。 root@hp01 # cmruncl
cmruncl: Validating network configuration... cmruncl: Network validation complete
cmruncl: Validating cluster lock disk .... Done Waiting for cluster to form .... done
Cluster successfully formed.
Check the syslog files on all nodes in the cluster to verify that no warnings occurred during startup.
root@hp01 # cmviewcl CLUSTER STATUS
HPCL01 up
NODE STATUS STATE
hp01 up running hp02 up running root@hp01 #
インストール先の事前設定
<hp01での作業> システム要件にある空き領域が存在することを確認します。本資料では、/u01の配下に十分な空容 量があることと、設計例に従ってUNIXユーザーが作成されていることを前提とし作成していま す。cmdoコマンドを利用すると、SGクラスター内のすべてのノードで指定されたコマンドが実行 されるため、コマンドを各ノードで実行する必要がなく、一度のコマンド実行で済みます。 root@hp01 # cmdo mkdir -p /u01/app/grid## Executing on node hp01: ## Executing on node hp02:
## Executing on node hp01: ## Executing on node hp02:
root@hp01 # cmdo chown -R grid:oinstall /u01 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo mkdir -p /u01/app/oracle ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chown oracle:oinstall /u01/app/oracle ## Executing on node hp01:
## Executing on node hp02: root@hp01 # cmdo chmod -R 775 /u01 ## Executing on node hp01: ## Executing on node hp02: root@hp01 #
パーミッション、オーナー、グループをcmdoコマンドで設定します。 root@hp01 # cmdo chmod ug+w /dev/vg_asm1/rlv01
## Executing on node hp01: ## Executing on node hp02:
root@hp01 # cmdo chmod ug+w /dev/vg_asm1/rlv02 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chmod ug+w /dev/vg_asm1/rlv03 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chmod ug+w /dev/vg_asm2/rlv01 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chmod ug+w /dev/vg_asm3/rlv01 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chown grid:asmadmin /dev/vg_asm1/rlv01 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chown grid:asmadmin /dev/vg_asm1/rlv02 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chown grid:asmadmin /dev/vg_asm1/rlv03 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chown grid:asmadmin /dev/vg_asm2/rlv01 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo chown grid:asmadmin /dev/vg_asm3/rlv01 root@hp01 #
デバイスファイルを1か所にまとめ管理を容易にするために、1つのディレクトリ内にリンクを作 成し、ボリュームグループを共有モードで活性化します。
root@hp01 # cmdo mkdir -p /dev/asm ## Executing on node hp01: ## Executing on node hp02:
root@hp01 # cmdo ln /dev/vg_asm1/rlv01 /dev/asm/asm1_rlv01 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo ln /dev/vg_asm1/rlv02 /dev/asm/asm1_rlv02 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo ln /dev/vg_asm1/rlv03 /dev/asm/asm1_rlv03 ## Executing on node hp01:
## Executing on node hp01: ## Executing on node hp02:
root@hp01 # cmdo ln /dev/vg_asm3/rlv01 /dev/asm/asm3_rlv01 ## Executing on node hp01:
## Executing on node hp02:
root@hp01 # cmdo vgchange -a n /dev/vg_asm1 ## Executing on node hp01:
Volume group "/dev/vg_asm1" has been successfully changed. ## Executing on node hp02:
Volume group "/dev/vg_asm1" has been successfully changed. root@hp01 # cmdo vgchange -a n /dev/vg_asm2
## Executing on node hp01:
Volume group "/dev/vg_asm2" has been successfully changed. ## Executing on node hp02:
Volume group "/dev/vg_asm2" has been successfully changed. root@hp01 # cmdo vgchange -a n /dev/vg_asm3
## Executing on node hp01:
Volume group "/dev/vg_asm3" has been successfully changed. ## Executing on node hp02:
Volume group "/dev/vg_asm3" has been successfully changed. root@hp01 # vgchange -c y -S y /dev/vg_asm1
Configuration change completed.
Volume group "/dev/vg_asm1" has been successfully changed. root@hp01 # vgchange -c y -S y /dev/vg_asm2
Configuration change completed.
Volume group "/dev/vg_asm2" has been successfully changed. root@hp01 # vgchange -c y -S y /dev/vg_asm3
Configuration change comp3eted.
Volume group "/dev/vg_asm1" has been successfully changed. root@hp01 # cmdo vgchange -a s /dev/vg_asm1
## Executing on node hp01:
Activated volume group in Shared Mode. This node is the Server.
Volume group "/dev/vg_asm1" has been successfully changed. ## Executing on node hp02:
Activated volume group in Shared Mode. This node is a Client.
Volume group "/dev/vg_asm1" has been successfully changed. root@hp01 # cmdo vgchange -a s /dev/vg_asm2
## Executing on node hp01:
Activated volume group in Shared Mode. This node is the Server.
Volume group "/dev/vg_asm2" has been successfully changed. ## Executing on node hp02:
Activated volume group in Shared Mode. This node is a Client.
Volume group "/dev/vg_asm2" has been successfully changed. root@hp01 # cmdo vgchange -a s /dev/vg_asm3
## Executing on node hp01:
Activated volume group in Shared Mode. This node is the Server.
Volume group "/dev/vg_asm3" has been successfully changed. ## Executing on node hp02:
Activated volume group in Shared Mode. This node is a Client.
Volume group "/dev/vg_asm3" has been successfully changed. root@hp01 #
デフォルト・ゲートウェイの設定確認
デフォルト・ゲートウェイが設定されている必要があります。インストールを開始前にnetstat コ マンドで確認します。
root # netstat -rn -f inet Routing tables
Destination Gateway Flags Refs Interface Pmtu
127.0.0.1 127.0.0.1 UH 0 lo0 32808 172.168.1.101 172.168.1.101 UH 0 lan0 32808 192.168.0.1 192.168.0.1 UH 0 lan1 32808 192.168.0.0 192.168.0.1 U 2 lan1 1500 172.168.1.0 172.168.1.101 U 2 lan0 1500 127.0.0.0 127.0.0.1 U 0 lo0 32808 default 172.168.1.1 UG 0 lan0 1500 #
Grid Infrastructureのインストール
Grid Infrastructureをインストールします。 <任意の1ノード(ここではhp01)での作業> gridユーザーで、runInstallerを実行します。 grid@hp01 $ /stage/11.2/grid/runInstaller 「クラスタ用のGrid Infrastructureのインストール構成」を選択し、「次へ」をクリックします。 図21 インストール・オプションの選択「拡張インストール」を選択し、「次へ」をクリックします。
図22 インストール・タイプの選択
選択された言語に日本語があることを確認し、「次へ」をクリックします。
クラスタ名、SCAN名を入力します。 図24 Gridプラグ・アンド・プレイの情報 クラスター名は任意に指定できますが、Grid Controlで管理されるターゲットの中ではユニークで ある必要があります。 このクラスター名はEnterprise Managerの設定・管理で利用されますので、 忘れないようにします。 クラスターに含まれるホスト名と仮想IP名が正しく表示されていることを確認し、「次へ」をクリ ックします。
ネットワーク・インタフェースの使用方法を指定します。VIPが登録されるインタフェースを「パ ブリック」、RACのノード間通信を行うインタフェースを「プライベート」、使用しないインタ フェースは「使用しない」にインタフェース・タイプを設定します。 なお、「プライベート」を複数指定しても帯域は拡張できますが冗長化はなされません。 図26 ネットワーク・インタフェースの使用方法の選択 自動ストレージ管理(ASM)を選択します。 図27 記憶域オプションの選択
「検出パスの変更」をクリックします。
図28 記憶域オプションの選択
ディスク抽出パスに「/dev/asm」を入力し、「OK」をクリックします。
ディスク・グループ名を入力し、Oracle Clusterwareで使用するディスクを選択します。「次へ」を クリックします。Oracle Clusterwareが使用する OCR及び投票ディスクを冗長化するためには、以 下の画面の冗長性で「通常」以上を指定します。「通常」を設定した場合、3個のディスクが必要 です。
ASMインスタンスのパスワードを入力します。ここではアカウントごとに同じパスワードを使用 するように設定しています。 図31 ASMパスワードの設定 OSのグループを設定します。オプションのASMインスンタンス管理オペレータグループは作成し ていませんので、デフォルトではASMインスンタンス管理オペレータグループを asmadmin に変 更し、「次へ」をクリックします。 図32 権限付きオペレーティング・システム・グループ
以下の警告がでますが、「はい」をクリックします。 図33 警告 Oracleベースやソフトウェアの場所を指定します。ここで入力した「ソフトウェアの場所」は Oracle Clusterwareのホームディレクトリとなります。また、データベースのホームディレクトリ (ORACLE_HOME)は後で別途必要になりますので、Oracle Clusterwareのホームディレクトリと データベースのホームディレクトリを区別しやすいパスにしておくと、後で管理が容易になりま す。なお「Oracleベース」には、Oracle Clusterwareのホームディレクトリを指定しないでくださ い。それぞれのパスを確認し、「次へ」をクリックします。 図34 インストール場所の指定
インベントリ・ディレクトリやオペレーティング・システム・グループ名を確認し、「次へ」をク リックします。
図35 インベントリの作成
内容を確認して「終了」をクリックします。
インストールが開始されます。 図37 進行状況 <全ノード(hp01、hp02)での作業> 以下の画面が表示されたら、別ターミナルからrootユーザーになります。 図38 構成スクリプトの実行 以下のコマンドを実行します。これにより、ターミナル・エミュレーターの文字コードと一致さ せ、文字化けを防ぎます。ここでは文字コードをSJISに設定しています。 root # cd /u01/app/11.2.0/grid/crs/install root # vi crsconfig_params <略> LANGUAGE_ID=JAPANESE_JAPAN.JA16SJIS <略>
<全ノード(hp01、hp02)での作業> すべてのノードでorainstRoot.shとroot.shを実行します。 最初にOUIを起動したノードで2つのスクリプトの実行した後に、他のノードで順番に実行しま す。この時、複数のノードで同時に実行しないように注意してください。 <ノードhp01での作業> root@hp01 # /u01/app/oraInventory/orainstRoot.sh 権限を変更中 /u01/app/oraInventory. グループの読取り/書込み権限を追加中。 全ユーザーの読取り/書込み/実行権限を削除中。 グループ名の変更 /u01/app/oraInventory 宛先 oinstall. スクリプトの実行が完了しました。 root@hp01 # /u01/app/11.2.0/grid/root.sh Running Oracle 11g root.sh script...
The following environment variables are set as: ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:[enter] Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script.
Now product-specific root actions will be performed. 2010-05-25 14:19:12: Parsing the host name
2010-05-25 14:19:12: Checking for super user privileges 2010-05-25 14:19:12: User has super user privileges Using configuration parameter file:
/u01/app/11.2.0/grid/crs/install/crsconfig_params Creating trace directory
stty: : Not a typewriter LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'sys'.. Operation successful.
root wallet root wallet cert root cert export peer wallet
profile reader wallet pa wallet
peer wallet keys pa wallet keys peer cert request pa cert request peer cert pa cert
peer root cert TP
profile reader root cert TP pa root cert TP
profile reader pa cert TP profile reader peer cert TP peer user cert
pa user cert
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started. ohasd is starting CRS-2672: 'ora.gipcd'('hp01')の起動を試行しています CRS-2672: 'ora.mdnsd'('hp01')の起動を試行しています CRS-2676: 'ora.gipcd'('hp01')の起動が成功しました CRS-2676: 'ora.mdnsd'('hp01')の起動が成功しました CRS-2672: 'ora.gpnpd'('hp01')の起動を試行しています CRS-2676: 'ora.gpnpd'('hp01')の起動が成功しました CRS-2672: 'ora.cssdmonitor'('hp01')の起動を試行しています CRS-2676: 'ora.cssdmonitor'('hp01')の起動が成功しました CRS-2672: 'ora.cssd'('hp01')の起動を試行しています CRS-2672: 'ora.diskmon'('hp01')の起動を試行しています CRS-2676: 'ora.diskmon'('hp01')の起動が成功しました CRS-2676: 'ora.cssd'('hp01')の起動が成功しました CRS-2672: 'ora.ctssd'('hp01')の起動を試行しています CRS-2676: 'ora.ctssd'('hp01')の起動が成功しました ASM created and started successfully.
DiskGroup DG01 created successfully. clscfg: -install mode specified
Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'sys'.. Operation successful.
CRS-2672: 'ora.crsd'('hp01')の起動を試行しています CRS-2676: 'ora.crsd'('hp01')の起動が成功しました CRS-4256: Updating the profile
Successful addition of voting disk 2ee6c0e1fd1c4fdabf93dd490d26fff4. Successful addition of voting disk 1153a45727cd4f43bfd3236841927d24. Successful addition of voting disk 484a6a5ac5674f21bf89a9184d597a87. Successfully replaced voting disk group with +DG01.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group -- --- ---
---1. ONLINE 2ee6c0e1fd1c4fdabf93dd490d26fff4 (/dev/asm/asm1_rlv01) [DG01] 2. ONLINE 1153a45727cd4f43bfd3236841927d24 (/dev/asm/asm1_rlv02) [DG01] 3. ONLINE 484a6a5ac5674f21bf89a9184d597a87 (/dev/asm/asm1_rlv03) [DG01] Located 3 voting disk(s).
CRS-2673: 'ora.crsd'('hp01')の停止を試行しています CRS-2677: 'ora.crsd'('hp01')の停止が成功しました CRS-2673: 'ora.asm'('hp01')の停止を試行しています CRS-2677: 'ora.asm'('hp01')の停止が成功しました CRS-2673: 'ora.ctssd'('hp01')の停止を試行しています CRS-2677: 'ora.ctssd'('hp01')の停止が成功しました CRS-2673: 'ora.cssdmonitor'('hp01')の停止を試行しています CRS-2677: 'ora.cssdmonitor'('hp01')の停止が成功しました CRS-2673: 'ora.cssd'('hp01')の停止を試行しています CRS-2677: 'ora.cssd'('hp01')の停止が成功しました CRS-2673: 'ora.gpnpd'('hp01')の停止を試行しています CRS-2677: 'ora.gpnpd'('hp01')の停止が成功しました CRS-2673: 'ora.gipcd'('hp01')の停止を試行しています CRS-2677: 'ora.gipcd'('hp01')の停止が成功しました CRS-2673: 'ora.mdnsd'('hp01')の停止を試行しています CRS-2677: 'ora.mdnsd'('hp01')の停止が成功しました
CRS-2672: 'ora.mdnsd'('hp01')の起動を試行しています CRS-2676: 'ora.mdnsd'('hp01')の起動が成功しました CRS-2672: 'ora.gipcd'('hp01')の起動を試行しています CRS-2676: 'ora.gipcd'('hp01')の起動が成功しました CRS-2672: 'ora.gpnpd'('hp01')の起動を試行しています CRS-2676: 'ora.gpnpd'('hp01')の起動が成功しました CRS-2672: 'ora.cssdmonitor'('hp01')の起動を試行しています CRS-2676: 'ora.cssdmonitor'('hp01')の起動が成功しました CRS-2672: 'ora.cssd'('hp01')の起動を試行しています CRS-2672: 'ora.diskmon'('hp01')の起動を試行しています CRS-2676: 'ora.diskmon'('hp01')の起動が成功しました CRS-2676: 'ora.cssd'('hp01')の起動が成功しました CRS-2672: 'ora.ctssd'('hp01')の起動を試行しています CRS-2676: 'ora.ctssd'('hp01')の起動が成功しました CRS-2672: 'ora.asm'('hp01')の起動を試行しています CRS-2676: 'ora.asm'('hp01')の起動が成功しました CRS-2672: 'ora.crsd'('hp01')の起動を試行しています CRS-2676: 'ora.crsd'('hp01')の起動が成功しました CRS-2672: 'ora.evmd'('hp01')の起動を試行しています CRS-2676: 'ora.evmd'('hp01')の起動が成功しました CRS-2672: 'ora.asm'('hp01')の起動を試行しています CRS-2676: 'ora.asm'('hp01')の起動が成功しました CRS-2672: 'ora.DG01.dg'('hp01')の起動を試行しています CRS-2676: 'ora.DG01.dg'('hp01')の起動が成功しました hp01 2010/05/25 14:26:11 /u01/app/11.2.0/grid/cdata/hp01/backup_20100525_142611.olr Configure Oracle Grid Infrastructure for a Cluster ... succeeded Updating inventory properties for clusterware
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 16384 MB Passed The inventory pointer is located at /var/opt/oracle/oraInst.loc
The inventory is located at /u01/app/oraInventory 'UpdateNodeList' was successful.
root@hp01 # <ノードhp02での作業> root@hp02 # /u01/app/oraInventory/orainstRoot.sh 権限を変更中 /u01/app/oraInventory. グループの読取り/書込み権限を追加中。 全ユーザーの読取り/書込み/実行権限を削除中。 グループ名の変更 /u01/app/oraInventory 宛先 oinstall. スクリプトの実行が完了しました。 root@hp02 # /u01/app/11.2.0/grid/root.sh Running Oracle 11g root.sh script...
The following environment variables are set as: ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script.
Now product-specific root actions will be performed. 2010-05-25 14:27:59: Parsing the host name
2010-05-25 14:27:59: Checking for super user privileges 2010-05-25 14:27:59: User has super user privileges Using configuration parameter file:
/u01/app/11.2.0/grid/crs/install/crsconfig_params Creating trace directory
stty: : Not a typewriter LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'sys'.. Operation successful.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started. ohasd is starting
CRS-4402: CSSデーモンが排他モードで開始されましたが、ノードhp01、番号1のアクティブCSSデーモン が検出されたため中断します
An active cluster was found during exclusive startup, restarting to join the cluster CRS-2672: 'ora.mdnsd'('hp02')の起動を試行しています CRS-2676: 'ora.mdnsd'('hp02')の起動が成功しました CRS-2672: 'ora.gipcd'('hp02')の起動を試行しています CRS-2676: 'ora.gipcd'('hp02')の起動が成功しました CRS-2672: 'ora.gpnpd'('hp02')の起動を試行しています CRS-2676: 'ora.gpnpd'('hp02')の起動が成功しました CRS-2672: 'ora.cssdmonitor'('hp02')の起動を試行しています CRS-2676: 'ora.cssdmonitor'('hp02')の起動が成功しました CRS-2672: 'ora.cssd'('hp02')の起動を試行しています CRS-2672: 'ora.diskmon'('hp02')の起動を試行しています CRS-2676: 'ora.diskmon'('hp02')の起動が成功しました CRS-2676: 'ora.cssd'('hp02')の起動が成功しました CRS-2672: 'ora.ctssd'('hp02')の起動を試行しています CRS-2676: 'ora.ctssd'('hp02')の起動が成功しました CRS-2672: 'ora.asm'('hp02')の起動を試行しています CRS-2676: 'ora.asm'('hp02')の起動が成功しました CRS-2672: 'ora.crsd'('hp02')の起動を試行しています CRS-2676: 'ora.crsd'('hp02')の起動が成功しました CRS-2672: 'ora.evmd'('hp02')の起動を試行しています CRS-2676: 'ora.evmd'('hp02')の起動が成功しました hp02 2010/05/25 14:31:52 /u01/app/11.2.0/grid/cdata/hp02/backup_20100525_143152.olr Configure Oracle Grid Infrastructure for a Cluster ... succeeded Updating inventory properties for clusterware
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 16384 MB Passed The inventory pointer is located at /var/opt/oracle/oraInst.loc
The inventory is located at /u01/app/oraInventory 'UpdateNodeList' was successful.
これらのスクリプトを実行後、「OK」をクリックすると、コンフィギュレーション・アシスタン トが動作します。 図39 構成スクリプトの実行 図40 設定 エラーがなければ次の画面がでます。もしコンフィギュレーション・アシスタントでエラーが発 生した場合は、エラー・ログを参照し、問題を解決します。
「閉じる」をクリックし、インストールを終了します。
図41 終了
<全ノード(hp01、hp02)での作業>
インストールが終了したら、Oracle Clusterwareが動作していることを確認します。リソースのgsd とoc4jは、デフォルトでは OFFLINE となります。
root # /u01/app/11.2.0/grid/bin/crsctl status resource -t
---NAME TARGET STATE SERVER STATE_DETAILS
---Local Resources ---ora.DG1.dg ONLINE ONLINE hp01 ONLINE ONLINE hp02 ora.LISTENER.lsnr ONLINE ONLINE hp01 ONLINE ONLINE hp02 ora.asm
ONLINE ONLINE hp01 Started
ONLINE ONLINE hp02 Started
ora.eons ONLINE ONLINE hp01 ONLINE ONLINE hp02 ora.gsd OFFLINE OFFLINE hp01 OFFLINE OFFLINE hp02 ora.net1.network ONLINE ONLINE hp01 ONLINE ONLINE hp02 ora.ons ONLINE ONLINE hp01 ONLINE ONLINE hp02 ---Cluster Resources ---ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE hp02 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE hp01 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE hp01 ora.hp01.vip 1 ONLINE ONLINE hp01 ora.hp02.vip 1 ONLINE ONLINE hp02 ora.oc4j 1 OFFLINE OFFLINE ora.scan1.vip 1 ONLINE ONLINE hp02 ora.scan2.vip 1 ONLINE ONLINE hp01 ora.scan3.vip 1 ONLINE ONLINE hp01
root # /u01/app/11.2.0/grid/bin/crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online
root # netstat -in -f inet
Name Mtu Network Address Ipkts Ierrs Opkts
Oerrs Coll lan1 1500 192.168.0.0 192.168.0.1 11818 0 12051 0 0 lan0 1500 172.168.1.0 172.168.1.101 1706583 0 4111003 0 0 lo0 32808 127.0.0.0 127.0.0.1 363875 0 363879 0 0
lan5* 1500 none none 0 0 0 0
0
lan4* 1500 none none 0 0 0 0
0 lan0:1 1500 172.168.1.0 172.168.1.201 9 0 87 0 0 lan0:3 1500 172.168.1.0 172.168.1.202 0 0 55 0 0 lan0:4 1500 172.168.1.0 172.168.1.203 0 0 45 0 0 root #
Oracle RAC 11g Release 2 では、VIPの管理は、Serviceguard のユーティリティを用いて行われるた め、OracleのVIP と Serviceguard のリロケータブルIPの論理インターフェース番号が競合すること はありません。 <hp01での作業> rootユーザーでsrvctlコマンドを実行し、スタンバイNICを追加します。スタンバイNICが存在する 場合と存在しない場合では、VIPの動作が異なる場合がありますので、できるだけスタンバイNIC を追加します。 現状の確認を行います。 root@hp01 # cd /u01/app/11.2.0/grid/bin root@hp01 # ./srvctl config nodeapps -a VIPが存在します。:hp01
VIPが存在します。:hp02
VIPが存在します。: /hp02-vip/172.168.1.2/255.255.255.0/lan0 root@hp01 # ./srvctl config scan
SCAN name: hp-scan, Network: 1/172.168.1.0/255.255.255.0/lan0 SCAN VIP name: scan1, IP: /hp-scan.hp.com/172.168.1.201 SCAN VIP name: scan2, IP: /hp-scan.hp.com/172.168.1.202 SCAN VIP name: scan3, IP: /hp-scan.hp.com/172.168.1.203 root@hp01 #
スタンバイNICの追加し、確認を行います。
root@hp01 # ./srvctl modify nodeapps -S 172.168.1.0/255.255.255.0/lan0¥|lan4 root@hp01 # ./srvctl config nodeapps -a
VIPが存在します。:hp01
VIPが存在します。: /hp01-vip/172.168.1.1/255.255.255.0/lan0:lan4 VIPが存在します。:hp02
VIPが存在します。: /hp02-vip/172.168.1.2/255.255.255.0/lan0:lan4 root@hp01 # ./srvctl config scan
SCAN name: hp-scan, Network: 1/172.168.1.0/255.255.255.0/lan0:lan4 SCAN VIP name: scan1, IP: /hp-scan.hp.com/172.168.1.201
SCAN VIP name: scan2, IP: /hp-scan.hp.com/172.168.1.202 SCAN VIP name: scan3, IP: /hp-scan.hp.com/172.168.1.203 root@hp01 #
RACのインストール
Grid Infrastructureのインストール終了後、RACのインストールを全ノードに配布形式で行います。 <任意の1ノード(ここではhp01)での作業> Oracleユーザーで、runInstallerを実行します。 oracle@hp01 $ /stage/11.2/database/runInstaller 図42 セキュリティ・アップデートの構成この例では、「セキュリティアップデートをMy Oracle Support経由で受け取ります」のチェックを はずしています。「次へ」をクリックします。 図43 セキュリティ・アップデートの構成 「電子メール」を入力しなかったため以下の警告がでます。問題がない場合は「はい」をクリック します。 図44 警告
今回はデータベースを作成しないでインストールのみを行うため、「データベース・ソフトウェア のみインストール」を選択し、「次へ」をクリックします。
図45 インストール・オプションの選択
「Real Application Clustersデータベースのインストール」が選択されていることとインストールす すべてのノードにチェックが入っていることを確認し、「次へ」をクリックします。
選択された言語に「日本語」が入っていることを確認し、「次へ」をクリックします。
図47 製品言語の選択
ここではインストール・タイプにEnterprise Editionを選択し、「次へ」をクリックします。
Grid Infrastructureのディレクトリとは別の場所のOracleベースのディレクトリを入力し、「次へ」 をクリックします。
図49 インストール場所の指定
指定されているUNIXグループを確認し、「次へ」をクリックします。
製品固有の前提条件がチェックされます。
図51 製品条件チェックの実行
エラーが発生した場合は、それを修正します。エラーがなければ以下の画面になりますので、「終 了」をクリックします。
インストールが開始します。 図53 インストール画面 次の画面が表示されたら、別ターミナルからrootユーザーになり、すべてのノードでroot.shを実行 します。root.shの実行は、各ノードで順番に実行し、同時に実行しないように注意します。 図54 構成スクリプトの実行 <ノードhp01での作業> root@hp01 # /u01/app/oracle/product/11.2.0/dbhome_1/root.sh Running Oracle 11g root.sh script...
The following environment variables are set as: ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: [enter] The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script.
Now product-specific root actions will be performed. Finished product-specific root actions.
root@hp01 #
<ノードhp02での作業>
root@hp02 # /u01/app/oracle/product/11.2.0/dbhome_1/root.sh Running Oracle 11g root.sh script...
The following environment variables are set as: ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: [enter] The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script.
Now product-specific root actions will be performed. Finished product-specific root actions.
root@hp02 #
スクリプトの実行が終了したら、「OK」をクリックします。
次の画面で、「終了」をクリックしてインストールを終了します。
図56 終了
インストーラのログは以下の場所にあるので、エラーがないことも確認します。 <oraInventory>/logs/installActions*.log $ORACLE_HOME/install/make.log
環境変数の設定
<全ノード(hp01、hp02)での作業> gridユーザーに必要な主な環境変数は以下のとおりです。これらを.profile等のファイルに設定し、 ログインしなおします。以下、POSIXシェルを利用している場合の例で、網掛け部分を追加してい ます。ここでは、各ノードごとに異なるASMインスタンスのSIDをORACLE_SIDに指定していま す。 root # su - gridgrid $ chmod u+w .profile grid $ vi .profile
grid $ chmod u-w .profile grid $ exit root # oracleユーザーに必要な主な環境変数は以下のとおりです。なお、各ノードでORACLE_SIDの値は 異なります。これらを.profile等のファイルに設定し、ログインしなおします。以下、POSIXシェル を利用している場合の例で、網掛け部分を追加しています。 root # su - oracle
oracle $ chmod u+w .profile oracle $ vi .profile
# Grid Infrastructure environmental variables LANG=ja_JP.SJIS export LANG ORACLE_BASE=/u01/app/grid export ORACLE_BASE ORACLE_HOME=/u01/app/11.2.0/grid export ORACLE_HOME ORACLE_SID=+ASM1 export ORACLE_SID ORA_NLS10=$ORACLE_HOME/nls/data export ORA_NLS10 NLS_LANG=Japanese_Japan.JA16SJIS export NLS_LANG PATH=$ORACLE_HOME/bin:$PATH export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH umask 022
oracle $ chmod u-w .profile oracle $ exit
root #
root.shのバックアップ
<全ノード(hp01、hp02)での作業>
gridユーザーの ORACLE_HOME にある root.shのバックアップを取得しておきます。 root # cd /u01/app/11.2.0/grid/
root # cp –p root.sh root.sh.backup root #
oracleユーザーの ORACLE_HOME にある root.shのバックアップを取得しておきます。 root # cd /u01/app/oracle/product/11.2.0/dbhome_1
root # cp –p root.sh root.sh.backup root #
Patch Set Release(PSR)の適用
Patch Set Release(PSR)が存在する場合は、最新のPSRも適用します。PSRの入手方法等は、サポ ート・サービス契約のご購入先にお問い合わせください。
# Oracle environmental variables LANG=ja_JP.SJIS export LANG ORACLE_BASE=/u01/app/oracle export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_HOME ORACLE_SID=orcl1 export ORACLE_SID ORA_NLS10=$ORACLE_HOME/nls/data export ORA_NLS10 NLS_LANG=Japanese_Japan.JA16SJIS export NLS_LANG PATH=$ORACLE_HOME/bin:$PATH export PATH SHLIB_PATH=$ORACLE_HOME/lib32 export SHLIB_PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_UNQNAME=orcl export ORACLE_UNQNAME umask 022
なお、PSRには適用時の注意事項なども添付されています。適用前に内容を必ず確認し、必要に応 じて注意事項に記載された作業を実施してください。
Critical Patch Update(CPU)の適用
オラクルが四半期ごとに提供する「Critical Patch Updates(CPU)」が存在すれば適用します。 Critical Patch Updates の FAQ は KROWN#121281 に記載されています。また入手方法等は、サポ ート・サービス契約のご購入先にお問い合わせください。
Oracle Recommended Patch(ORP)の適用
お客様が重篤な障害に対する修正を簡単に入手・適用できるように Recommended Patch も案内し ています。アップグレードをご検討中のお客様や、現在の環境の安定性を向上させたいとお考えの お 客 様は 、 Oracle Recommended Patch も適用し ます。 Oracle Recommended Patch の FAQ は KROWN#132779に記載されています。また入手方法等については、サポート・サービス契約のご 購入先にお問い合わせください。
パッチ適用時の注意
Patch Set Release、Critical Patch Update、Oracle Recommended Patchは、Grid Infrastructure と Oracle RACの両方にパッチが存在する場合と片方にのみパッチが存在する場合があります。どちらに適 用するパッチであるかは必ず事前に確認し、正しく適用します。
それぞれのパッチはzip形式で圧縮されているため、環境変数ORACLE_HOMEのbinディレクトリ配 下のunzipユーティリティ($ORACLE_HOME/bin/unzip)を使用して展開します。
Oracle RACの削除
Oracle RACの削除の一例を示します。 <ノード1(hp01)での作業> oracleユーザーで以下を実行します。 oracle@hp01 $ cd oracle@hp01 $ /u01/app/oracle/product/11.2.0/dbhome_1/deinstall/deinstall oracle@hp01 $Grid Infrastructureの削除
Grid Infrastructureの削除の一例を示します。root.shをまだ実行していない場合の削除方法
<全ノード(hp01、hp02)での作業> gridユーザーで以下を実行します。 grid $ cd grid $ /u01/app/11.2.0/grid/deinstall/deinstall grid $root.sh をすでに実行した場合の削除方法
<ノード2(hp02)での作業> rootユーザーで以下を実行します。 root@hp02 # cdroot@hp02 # /u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force root@hp02 #
<ノード1(hp01)での作業> rootユーザーで以下を実行します。 root@hp01 # cd
root@hp01 # /u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force
-lastnode root@hp01 # gridユーザーで以下を実行します。 grid@hp01 $ cd grid@hp01 $ /u01/app/11.2.0/grid/deinstall/deinstall grid@hp01 $