Nutanix Database Service(NDB)で、Oracle Database のクローンを作成してみます。
今回の内容です。
構成のイメージです。
今回の環境
今回のソース DB(クローン元)にする Oracle Database は、下記の投稿でプロビジョニングしたものです。
クローンした DB への接続確認には、NDB とは関係ない Linux マシンを利用します。
[root@lab-linux-02 ~]# cat /etc/oracle-release Oracle Linux Server release 8.7
DB のクローン
NDB の Web UI で「タイムマシン」画面で、ソース DB(orandb2)に割り当てられているタイムマシン(orandb2_TM)を開きます。
1) 時間/スナップショット
「アクション」→「シングル インスタンス データベース クローンの作成」をクリックします。
この DB では、日時で NDB のスナップショットを取得する SLA である、「DEFAULT_OOB_BRASS_SLA」が割り当てられています。カレンダーで一番直近の 12月13日を選択して、下にスクロールします。
クローン元にする(12月13日に取得された)スナップショットを選択して、「次へ」をクリックします。
2) データベース サーバー VM
データベース サーバー 名を入力して、コンピュート プロファイル、ネットワーク プロファイルを選択して、「次へ」をクリックします。
今回は、パスワードと SSH 鍵は、クローン元のまま(空欄)にしておきます。
3) データベース
データベースの名前(NDB に登録する名前)、SID、SYS と SYSTEM のパスワード、データベース パラメータ プロファイルを選択して、「クローン」をクリックします。
ちなみに、今回は SYS と SYSTEM のパスワードで「nutanix/4u」を設定しています。
クローン処理が開始されたので、ステータスを確認します。
しばらく待つと、クローンが完了します。
「データベース」画面を開くと ORACLE の「クローン済み DB」が「1」に増えているので、そのあたりをクリックします。
クローン DB の名前をクリックします。
クローン DB のインストタンスと仮想マシンの情報が表示されるので、「接続」にある「説明をご覧ください」リンクをクリックします。
表示された DB への接続情報は、このあとの接続確認で利用します。ここでは「TNS 接続文字列の例」をコピー ボタンなどでどこかに控えておきます。
Prism Element でも、DB サーバの仮想マシンが作成されたことが確認できます。
クローン DB への接続確認
Oracle Linux 8 のマシンに、sqlplus をインストールして接続確認してみます。
まず、sqlplus の RPM がある Yum リポジトリをインストールします。
[root@lab-linux-02 ~]# dnf install -y oracle-instantclient-release-el8
sqlplus をインストールします。
[root@lab-linux-02 ~]# dnf install -y oracle-instantclient-sqlplus
sqlplus がインストールされました。DB より新しいバージョンのものですが接続は可能です。
[root@lab-linux-02 ~]# rpm -q oracle-instantclient-sqlplus oracle-instantclient-sqlplus-21.8.0.0.0-1.el8.x86_64 [root@lab-linux-02 ~]# sqlplus -v SQL*Plus: Release 21.0.0.0.0 - Production Version 21.8.0.0.0
それでは、NDB Web UI で確認した「TNS 接続文字列の例」を利用して接続してみます。今回は下記のように接続します。
- ユーザ:SYSTEM or SYS(SYS の場合は as sysdba 接続)
- パスワード: nutanix/4u(スラッシュがあるので、ダブルクオートで囲む)
- DB サーバ: 192.168.11.106
- ポート: 1521
- Oracle のサービス名(今回は Oracle SID と同名): orandb2
SYSTEM ユーザで接続する文字列です。
sqlplus 'SYSTEM/"nutanix/4u"'@"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.106)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orandb2)))"
SYS ユーザで接続する場合は、コマンドラインに「as sysdba」を追記します。
sqlplus 'SYS/"nutanix/4u"'@"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.106)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orandb2)))" as sysdba
下記のように DB インスタンスに接続できるはずです。
[root@lab-linux-02 ~]# sqlplus 'SYSTEM/"nutanix/4u"'@"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.106)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orandb2)))" SQL*Plus: Release 21.0.0.0.0 - Production on Tue Dec 13 07:01:30 2022 Version 21.8.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Last Successful login time: Tue Dec 13 2022 06:59:25 -05:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL>
もっとシンプルに、下記のように接続先を指定(簡易接続/EZCONNECT)できたりします。
[root@lab-linux-02 ~]# sqlplus 'SYSTEM/"nutanix/4u"'@192.168.11.106:1521/orandb2 SQL*Plus: Release 21.0.0.0.0 - Production on Tue Dec 13 08:35:00 2022 Version 21.8.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Last Successful login time: Tue Dec 13 2022 07:01:30 -05:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL>
以上。