DBサーバ構築、Oracle 26ai(7)RACノード追加 2

DBサーバ・Oracle RAC

Oracle RAC DBインスタンスの追加 (1)

新DBのDBインスタンス追加は「Real Application Clusters管理およびデプロイメント・ガイド 26ai」に記載されているDBCAを使った方法(公式)と現行DB同様スクリプトを使った方法(非公式)の2パターンをやってみようと思います*1。

まずはデプロイメント・ガイド通りにDBCAを使ってDBインスタンスを追加、それを削除してからスクリプトを使ってDBインスタンスを追加します。なお、現行DBのスクリプトは2ノードRAC構築用のDB構築スクリプトをベースにした簡単なモノでしたが今回は処理内容をちゃんと整理して1から作成しなおします。

*1:DBCAでDBインスタンスを追加するとREDOログやUNDO表領域の構成がDBCAによって勝手に決められてしまうので後で手直しが必要です。現行DB(Oracle 21c)ではこの手直しが面倒だったのでついスクリプトでやってしいましたがこの方法にOracleさんの公的な裏付けは何もありません。本来であればこれはNG、もし私が業務でRAC(DB)にインスタンスを追加するのであれば面倒だろうと何だろうと公式の手順に則ってDBCAを使います。とはいえ現行DBと新DBでやり方をがたっと変えてしまうのもどうかと思うので結局両方のパターンでやることにいたしました。

準備作業

CRS起動

既存ノード及び追加ノードのCRSが停止している場合は起動します。

DBバックアップ

ノード追加に伴いDBに変更を加えるので念のためrmanでDBバックアップを取得しておきます。

DBCAによるDBインスタンスの追加

新DBサーバ#1のoracleユーザでVNC Serverを起動します。

VNC Viewerで新DBサーバ#1にログイン、ターミナルからDBCAを起動します。

DBCAを操作してRACにDBインスタンスを追加します。

【DBCA操作手順】

No.DBCA操作画面操作内容
1データベース操作の選択「Oracle RACデータベース・インスタンス管理(I)」を選択
2インスタンス操作の選択「インスタンスの追加(A)」を選択
3ソース・データベースの選択データベース:prdb(デフォルトで選択済み)
ユーザ名(U):sys
パスワード(P):<sysのパスワード>
4新規インスタンス詳細の指定インスタンス名(I):prdb3(デフォルトで設定済み)
ノード名(O):prsdb03(デフォルトで選択済み)
5サマリー内容に問題がなければ(そもそも修正の余地はありませんが)「終了(E)」をクリック
6進行状況ページエラーが出力されないことを確認(見守るだけ)
7終了正常終了メッセージ「インスタンス”prdb3″が正常にノード”prsdb03″に追加されました。」を確認して「閉じる(C)」

DBCAのインスタンス追加が完了したらあとはteratermで追加インスタンスの構成を既存のDBインスタンスに合わせて変更します。

追加インスタンス(prdb3)の構成変更

新DBサーバ#1のoracleユーザでsqlplusを起動、DBに接続して追加DBインスタンス(prdb3)のREDOログの構成及び状態を確認します。

prdb3のREDOログ・グループ番号は1から3、REDOログファイル名は”redo0<グループ番号>_<メンバ連番>.log”となっています。これを既存DBインスタンスに合わせて変更します。

prdb3のREDOログ構成を変更した後でついでにCDBのUNDO表領域がどうなっているかを確認しましたがこちらは既存のDBインスタンスのUNDO表領域と同じネーミング、サイズでprdb3のUNDO表領域が作成されているのでこのままでOKです。

REDOログの構成を変更したら次はPDBに移動してUNDO表領域関連の構成を確認します。

表領域UNDO_xx*1がDBCAによって追加されています。このUNDO_xxを削除して既存のDBインスタンスに合わせたネーミングとサイズでUNDO表領域を作成します。

また、SPファイルの確認結果ではSIDにあるのはprdb1とprdb2だけとなっています。prdb3にはUNDO表領域の明示的な割り当てが設定されていないので作成したUNDO表領域をprdb3に割り当てます。

とりあえずこれでDBCAを使ったDBインスタンスの追加は終了です。

*1:DBインスタンスの追加/削除を繰り返すたびにxxの数字はカウントアップします。私がこの手順を作成する前に何回もインスタンスの追加/削除をやっていますのでこの時点では11です。DBインスタンスの追加/削除を何もしていなければ最初は3からスタートだと思います(たぶん)。

DBインスタンスの削除

せっかく完成したDBインスタンスですがスクリプトでもう一度追加するので一旦削除します。

VNC Viewerの画面でdbcaを起動します。

DBCAを操作してRACからDBインスタンスを削除します。

【DBCA操作手順】

No.DBCA操作画面操作内容
1データベース操作の選択「Oracle RACデータベース・インスタンス管理(I)」を選択
2インスタンス操作の選択「インスタンスの削除(D)」を選択
3ソース・データベースの選択データベース:prdb(デフォルトで選択済み)
ユーザ名(U):sys
パスワード(P):<sysのパスワード>
4DeleteInstanceSelection「prdb3」を選択
※間違えて既存インスタンスを削除しないよう注意!!
5サマリーprdb3が削除対象となっていることを確認して「終了(E)」をクリック
–> 「[DBT-19203] Database Configuration Assistantは、…続行しますか。」という警告が表示されたら「はい(Y)」をクリック
6進行状況ページエラーが出力されないことを確認(見守るだけ)
7終了正常終了メッセージ「インスタンス”prdb3″が正常にノード”prsdb03″から削除されました。」を確認して「閉じる(C)」

DBCA(GUI)の使用はここまでなのでターミナルを閉じてViewer画面からログアウトします。

DBCAによるインスタンス削除はこれで完了です。ただしDBCAはユーザがPDBに作成したUNDO表領域の削除や割り当て解除はやってくれないので手動で削除(解除)します。

DBインスタンスの削除はこれで完了です。

スクリプトによるDBインスタンスまで書くと長くなるので一旦切ってこちらで継続します。

追加ノードのDBインスタンスを再作成せずにこのまま使用する場合はOracleユーザの環境変数設定を実行します。

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
DBサーバ構築、Oracle 26ai(5)DBインストール
DBサーバ構築、Oracle 26ai(6)2ノードRAC構築 1 (DB設計)
DBサーバ構築、Oracle 26ai(6)2ノードRAC構築 2 (DB構築)
DBサーバ構築、Oracle 26ai(6)2ノードRAC構築 3 (アーカイブログ、HugePages他)
DBサーバ構築、Oracle 26ai(7)RACノード追加 1(Gridノード追加、Oracleホーム拡張)
DBサーバ構築、Oracle 26ai(7)RACノード追加 2(DBインスタンス追加・DBCA版)
DBサーバ構築、Oracle 26ai(7)RACノード追加 3(DBインスタンス追加・スクリプト版)

メニュー

トップページ

3層Webシステム | バカメのとなり

投稿一覧

過去投稿一覧

自己紹介

タイトルの由来と自己紹介 | バカメのとなり

ぎゃらりい | バカメのとなり

問合せ(メール)

お問い合わせ | バカメのとなり

参考情報

Real Application Clusters管理およびデプロイメント・ガイド 26ai

コメント

タイトルとURLをコピーしました