Oracle Grid Infrastructure 21cインストール
avahi-daemon停止
これは事前準備(Gridインストール1)に入れておくべき作業だったのですが書き漏らしてしまったのでここに書きます。
mDNS(マルチキャストDNS)はローカル・ネットワーク内の機器同士で名前解決するときに使用するプロトコル、mDNSを使って名前解決をするのはLinuxだとavahi-daemonです。
ところがOracle(RAC)でもサーバ(ノード)の追加や削除の情報をmDNSでやり取りしますからOS側でavahi-daemonが動いているのはあまりよろしくありません。なのでGrid Infrastructureをインストールする前にすべての新DBサーバでavahi-daemon(& これのソケット)を停止してサービスを無効化しておきます。
【新DBサーバ・prsdb01、prsdb02、prsdb03 / rootユーザで実行】
-----------------------------------------------------------------------------
" avahi-daemon停止
systemctl stop avahi-daemon.service avahi-daemon.socket
# avahi-daemon自動起動無効化
systemctl disable avahi-daemon.service avahi-daemon.socket
# avahi-daemon起動設定無効化
systemctl mask avahi-daemon.service avahi-daemon.socket
イメージファイル展開
新DBサーバ#1でmdmountを実行して管理サーバのメディア用NFSディレクトリをマウントします。
【新DBサーバ・prsdb01 / rootユーザで実行】
-----------------------------------------------------------------------------
# メディア用NFSディレクトリをマウント
mdmount
# Oracle Grid Infrastructureのイメージ・ファイルを確認
ls -l /mnt/media/oracle/26ai/grid/
→ LINUX.X64_2326100_grid_home.zipが返されることを確認
gridユーザにスイッチしてインストール・ディレクトリにOracle Grid Infrastructure 26aiのイメージ・ファイルを展開します。
【新DBサーバ・prsdb01で実行】
-----------------------------------------------------------------------------
# gridユーザにスイッチ
su - grid
# インストール・ディレクトリにOracle Grid Infrastructureのイメージ・ファイルを展開
cd /opt/app/26.0.0/grid
unzip -q /mnt/media/oracle/26ai/grid/LINUX.X64_2326100_grid_home.zip
Oracle Grid Infrastructureインストール
新DBサーバ#1にてgridユーザでVNC Serverを起動します。
VNC Serverはユーザごとに設定情報を保持します。初回起動時は今後、gridユーザがVNC Serverに接続するためのパスワードを求められるのでパスワード(6文字以上の任意の文字列)を入力します。「Would you like to enter a view-only password (y/n)?」は”n”です。
【新DBサーバ・prsdb01 / gridユーザで実行】
-----------------------------------------------------------------------------
vncserver :1
-----------------------------------------------------------------------------
【実行例】
-----------------------------------------------------------------------------
[grid@prsdb01 grid]$ vncserver :1
WARNING: vncserver has been replaced by a systemd unit and is now considered deprecated and removed in upstream.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.
You will require a password to access your desktops.
Password:<VNC接続用パスワード(任意の文字列)>
Verify:<VNC接続用パスワード(任意の文字列)>
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
xauth: file /home/grid/.Xauthority does not exist
New 'prsdb01.exsample.lan:1 (grid)' desktop is prsdb01.exsample.lan:1
Creating default startup script /home/grid/.vnc/xstartup
Creating default config /home/grid/.vnc/config
Starting applications specified in /home/grid/.vnc/xstartup
Log file is /home/grid/.vnc/prsdb01.exsample.lan:1.log
[grid@prsdb01 grid]$
PCのVNC Viewer*1を立ち上げて新DBサーバ#1にログイン、ターミナルを立ち上げてGrid Infrastructureのインストーラを起動します。
【Oracle Grid Infrastructureのインストーラ起動】
【新DBサーバ・prsdb01 / VNC Viewer画面で実行】
-----------------------------------------------------------------------------
/opt/app/26.0.0/grid/gridSetup.sh
以下の手順でGrid Infrastructureのインストール*2を実行します。
【Grid Infrastructure インストール操作手順】
| No. | 画面 | 操作 |
| 1 | 構成オプションの選択 | 「新しいクラスタ用のOracle Grid Infrastructureの構成(C)」を選択 |
| 2 | クラスタ構成の選択 | 「Oracle RACデータベースを管理するためのクラスタの構成(R)」を選択 |
| 3 | Gridプラグ・安堵・プレイの情報 | 「ローカルSCANの作成」を選択 —————————————————– クラスタ名(C) :prsdb-cluster26 SCAN名(S) :prsscan.exsample.lan SCANポート(A):1521 |
| 4 | クラスタ・ノードの情報 | ①「追加(A)」をクリック → 「クラスタ・ノードの情報の追加」表示 ②「単一ノードを追加」を選択 —————————————————– パブリック・ホスト名:prsdb02.exsample.lan 仮想ホスト名(V) :prsdb02-vip.exsample.lan —————————————————– ③「OK」クリック → 「クラスタ・ノードの情報の追加」画面終了 ④「SSH接続(C)」クリック → SSH構成エリア表示 ⑤「OSパスワード(W)」にgridユーザのパスワード入力 ⑥「設定(P)」クリック → SSH構成開始 ⑦ SSH接続確立メッセージが表示されたら「OK」クリック |
| 5 | ネットワーク・インターフェースの 使用方法の指定 | ens192:「使用しない」を選択 ens224:「パブリック」を選択 ens256:「ASMおよびプライベート」を選択 |
| 6 | 記憶域オプションの情報 | 「Oracle Flex ASMを記憶域として使用(A)」を選択 |
| 7 | GIMRオプションの作成 | 「GIMRデータベースを使用しない(D)」を選択 |
| 8 | ASMディスク・グループの作成 | ① ディスク・グループ:DG01 ②「標準(R)」を選択 ③「検出パスの変更(P)」クリック 検出パスを”/dev/sd*” → ”/dev/mapper/asmd*”に変更 ④以下のディスクにチェック —————————————————– /dev/mapper/asmd001 /dev/mapper/asmd002 /dev/mapper/asmd003 |
| 9 | ASMパスワードの指定 | 「これらのアカウントごとに、同じパスワードを使用(S)」を選択 —————————————————– 「パスワードの指定(P)」:SYSアカウント・パスワード 「パスワードの確認(C)」 :SYSアカウント・パスワード |
| 10 | 自動自己訂正 | 「自動自己訂正の有効化(E)」チャックなし(デフォルト) |
| 11 | 障害の分離のサポート | 「Inteligent Platform…使用しない(D)」を選択 |
| 12 | 管理オプションの指定 | 「Enterprise Manager…への登録(T)」チェックなし |
| 13 | 権限つきオペレーティング・ システム・グループ | 「Oracle ASM管理者(OSASM)グループ(A)」:asmadmin 「Oracle ASM DBA(ASMのOSDBA)グループ(D)」:asmdba 「Oracle ASMオペレータ…(O)」:未指定 |
| 14 | インストール場所の指定 | 「Oracleベース(D)」:/opt/app/grid |
| 15 | インベントリの作成 | 「インベントリ・ディレクトリ」:/opy/app/oraInventory |
| 16 | rootスクリプトの実行構成 | 「構成スクリプトを自動的に実行(A)」:チェックなし |
| 17 | 前提条件チェックの実行 | 前提条件チェックの結果が”情報”のみなら「すべて無視」にチェックを入れて「次へ(N)」をクリック |
| 18 | サマリー | 設定内容に問題がないことを確認して「インストール」をクリック |
| 19 | 製品のインストール | 製品のインストール開始 「構成スクリプトの実行」が表示されたら ① DBサーバ#1(prsdb01)にてrootアカウントで以下のコマンドを実行 (入力要求にはそのままEnterキー押下) —————————————————– /opt/app/oraInventory/orainstRoot.sh /opt/app/26.0.0/grid/root.sh → 「CLSRSC-325: Configure … succeeded」メッセージの出力を確認 —————————————————– ② DBサーバ#2(prsdb02)にてrootアカウントで以下のコマンドを実行 —————————————————– /opt/app/oraInventory/orainstRoot.sh /opt/app/26.0.0/grid/root.sh → 「CLSRSC-325: Configure … succeeded」メッセージの出力を確認 —————————————————– ③「構成スクリプトの実行」右下の「OK(O)」をクリック ※Oracle 26aiから構成スクリプトは各ノード並列で実行できるようになった模様です。ただ、仕様変更の直後っていろいろ問題が出てきたりするので従来通りノード#1、ノード#2の順にシリアルに構成スクリプトを実行した方が無難かと思います。 |
| 20 | 終了 | インストール成功メッセージを確認して「閉じる(C)」クリック |
【Oracle 26aiにおける事前チェックの変更点】
Oracle 26aiのGrid InfrastructureインストールではASMディスクのグループがasmdbaでないと事前チェックでエラーとなります。こちらの環境では最初、ASMディスクのグループをasmadminに指定してudevルールを設定していましたが事前チェックではねられてしまったのでグループ指定をasmdbaに修正しています。以下、udevルールファイルの一括変換と新ルールの適用コマンド(実行対象はすべての新DBサーバ)です。
—————————————————–
sed -i ‘s/asmadmin/asmdba/g’ /etc/udev/rules.d/99-oracle-asmdevices.rules
udevadm control –reload-rules
udevadm trigger
No.17「前提条件チェックの実行」やNo.19「製品のインストール」の最終チェックでエラーが出力された場合は詳細を確認、問題が解消するまで対応と再チェックを繰り返します。
インストールが正常に終了したらターミナルを閉じ、VNC Veiwer画面右上の電源アイコン – 「grid」-「ログアウト」をクリックしてDBサーバ#1からいったんログアウトします。
*1:私の環境では64Bit版Ultra VNC Viewer 1.3.4.1を使用しています。
*2:新DBサーバは3台ですが1台はノード追加手順の確認に使用します。この手順では新DBサーバ#1、新DBサーバ#2を対象にGrid Infrastructureのインストールを実行します。
環境変数設定
gridユーザの.bash_profileに以下の環境変数設定を追加します。
【新DBサーバ・prsdb01、prsdb02 で実行】
-----------------------------------------------------------------------------
# 現在のユーザがgridでない場合はgridにスイッチ
su - grid
# .bash_profileを編集
vi /home/grid/.bash_profile
-----------------------------------------------------------------------------
【新DBサーバ・prsdb01 /home/grid/.bash_profile 環境変数追加】
-----------------------------------------------------------------------------
export ORACLE_BASE=/opt/app/grid
export ORACLE_HOME=/opt/app/26.0.0/grid
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
export ORACLE_SID=+ASM1
export PATH=${ORACLE_HOME}/bin:${PATH}
-----------------------------------------------------------------------------
【新DBサーバ・prsdb02 /home/grid/.bash_profile 環境変数追加】
-----------------------------------------------------------------------------
export ORACLE_BASE=/opt/app/grid
export ORACLE_HOME=/opt/app/26.0.0/grid
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
export ORACLE_SID=+ASM2
export PATH=${ORACLE_HOME}/bin:${PATH}
各ノードでsqlplusを起動してASMインスタンスに接続できることを確認します。
【新DBサーバ・prsdb01、prsdb02 / gridユーザで実行】
-----------------------------------------------------------------------------
# gridユーザからログアウト
exit
# gridユーザにスイッチ(環境変数読み込み)
su - grid
# 環境変数設定確認(ASMインスタンスに接続できることを確認)
sqlplus / as sysasm
-- 接続しているASMインスタンスを確認(DBサーバ#1:+ASM1、DBサーバ#2:+ASM2)
select instance_name from v$instance;
-- sqlplusからログアウト
exit
DB格納用ディスク・グループ作成
新DBサーバ#1でVNC Serverを起動します。
【新DBサーバ・prsdb01 / gridユーザで実行】
-----------------------------------------------------------------------------
# VNC Server起動
vncserver :1
VNC Viewerで新DBサーバ#1に接続、ターミナルを立ち上げてASMCAを起動します。
【新DBサーバ・prsdb01 / VNC Viewer画面で実行】
-----------------------------------------------------------------------------
# ASMCA起動
asmca
ASMCAを操作して以下のASMディスクを作成します。
【作成対象ディスク・グループ】
| ディスク・グループ | 冗長性 | ディスク・パス |
| DG02 | 外部(なし) | /dev/mapper/asmd011 /dev/mapper/asmd012 |
| DG11 | 外部(なし) | /dev/mapper/asmd101 /dev/mapper/asmd102 |
| DG21 | 外部(なし) | /dev/mapper/asmd201 /dev/mapper/asmd202 |
【ASMCA操作手順】
| No. | 画面 | 操作 |
| 1 | ASM構成アシスタント | 画面左ツリーの「ディスク・グループ」をクリック |
| 2 | ディスク・グループ | 「作成…(A)」をクリック |
| 3 | ディスク・グループの作成 | 1. 各ディスク・グループごとに以下を設定 ——————————————————— ディスク・グループ名(M):<ディスク・グループ名> 冗長性(D):外部(なし) ディスク・パス:作成対象ディスク・グループ」の通りに対象ディスクを選択(左端チェック・ボックスをチェック) ——————————————————— 2. 「OK(O)」をクリック |
| 4 | ディスク・グループ | 作成したディスク・グループが一覧に追加されたことを確認。他のディスク・グループを作成する場合は手順の2へ、すべてのディスク・グループの作成が完了したら「終了(X)」をクリック |
ディスク・グループの作成が完了したらターミナルを閉じ、VNC Veiwer画面右上の電源アイコン – 「grid」-「ログアウト」をクリックしてDBサーバ#1からログアウトします。
CRS自動起動無効化
Grid Infrastructureインストール直後のCRS(Cluster Ready Services)は自動起動に設定されています。
この設定はサーバ起動時に毎回手動でCRSを起動する必要がなく便利といえば便利ですが、運用や障害対応の観点から言えばサーバ起動のたびに勝手にCRSが起動してしまうのはあまりよろしくありません。
以下のコマンドを各DBサーバで実行、CRSの自動起動を無効化します。
【新DBサーバ・prsdb01、prsdb02 / rootユーザで実行】
-----------------------------------------------------------------------------
/opt/app/26.0.0/grid/bin/crsctl disable crs
CRSの自動起動を無効化したので今後DBサーバを起動した後は手動でCRSを起動する必要があります。
CRS起動、停止、クラスタ・リソース状態確認に使用するコマンドを以下に記載します。
【クラスタ制御コマンド】
-----------------------------------------------------------------------------
# CRS起動(全ノードで起動の場合はprsdb01→prsdb02の順に1台ずつCRSを起動)
/opt/app/26.0.0/grid/bin/crsctl start crs -wait
# CRS停止(全ノードで停止の場合はprsdb02→prsdb01の順に1台ずつCRSを停止)
/opt/app/26.0.0/grid/bin/crsctl stop crs
# CRS自動起動確認
/opt/app/26.0.0/grid/bin/crsctl config crs
# クラスタ・リソース状態確認
/opt/app/26.0.0/grid/bin/crsctl status res -t
Oracle 26aiのGrid Infrastructureの起動って以前のバージョンに比べてかなり早くなりましたね。リソース状態の一覧(/crsctl status res -tの結果)も随分すっきりしています。そういえばOracle 21cだとそのバージョンでサポートしていないくせになぜかデフォルトでリソースが有効化されていた「Oracle Database QoS Management」なんてのもありましたがこれも見当たりません。念のためgridユーザで”srvctl status qosmserver”を実行してQoSの状態を確認してみたら「PRKF-1546 : ‘qosmserver’のコマンドはサポートされなくなりました。」と返されました。今のところ26aiの印象はなかなかにグッドです。ま、あとでどうなるかはわかりませんけれども
Grid Infrastructureのインストールは以上です。次はOracle DBをインストールします。
DBサーバ構築(Oracle 26ai)・関連ページ
DBサーバ構築、Oracle 26ai(1)概要
DBサーバ構築、Oracle 26ai(2)OS、N/W、ストレージ
DBサーバ構築、Oracle 26ai(3)Gridインストール1
DBサーバ構築、Oracle 26ai(4)Gridインストール2
コメント