
- Oracle Cloud
- Oracle Database
VMware HCXのMONで実現!クラウド移行後の通信経路最適化とパフォーマンス向上
仮想マシンのクラウド移行における課題のひとつ「移行後の通信経路の最適化」を実現するHCXの機能、Mobility Optimization Networking(以下、MON)に焦点を当て、その機能の概要から具体的な設定手順まで、豊富な画像とともに詳しく解説します。
|
Oracle Base Database Service(以降、BaseDB)上には、様々な領域が存在します。その中で、BaseDB自体の機能として拡張可能な領域はデータ領域とリカバリ領域のみです。その他の領域はOracle File Storage Service(以降、FSS)等の別サービスを利用して拡張する必要があります。(BaseDBの機能を使用して拡張可能な領域に関しては、後述する"BaseDBで拡張可能な領域"の"df -h"実行結果をご確認ください。)
今回は、BaseDBの機能で拡張できない領域を、FSSを使用して拡張する方法をご紹介します。
また、弊社サポートセンターに問い合わせが多い、/u01領域配下をFSSを使用して拡張する方法と、拡張した領域に対してOracle Data Pump(以降、Data Pump)のデータをエクスポート/インポートする方法も説明します。
Index
BaseDB自体の機能で拡張可能な領域は、データ領域とリカバリ領域のみです。
領域の拡張方法は以下のマニュアルをご確認ください。
Scale the DB System ※クリックするとオラクル社のサイトに移動します。
そのため、/u01等、ファイルシステム上のデータ領域およびリカバリ領域以外の領域を拡張したい場合は、FSS等を利用する必要があります。
以下で、BaseDBで拡張可能な領域がファイルシステム上、どの領域にあたるのか、現時点(2025年4月時点)で選択可能なBaseDBのストレージ管理ソフトウェアである、論理ボリューム・マネージャーとOracle Grid Infrastructureでそれぞれ確認していきます。
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 7.7G 732K 7.7G 1% /run
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/mapper/vg00-root 9.6G 3.6G 5.5G 40% /
tmpfs 7.7G 188K 7.7G 1% /tmp
/dev/mapper/vg00-opt 33G 2.9G 29G 10% /opt
/dev/sda2 974M 256M 652M 29% /boot
/dev/mapper/vg00-var 9.6G 150M 9.0G 2% /var
/dev/mapper/vg00-home 958M 132K 891M 1% /home
/dev/mapper/vg00-var_tmp 958M 20K 891M 1% /var/tmp
/dev/mapper/vg00-var_log 3.8G 82M 3.6G 3% /var/log
/dev/mapper/vg00-var_log_audit 1.9G 884K 1.8G 1% /var/log/audit
/dev/sda1 128M 5.1M 123M 4% /boot/efi
/dev/mapper/DATA_GRP-DATA 251G 23G 216G 10% /u02 >=★
/dev/mapper/RECO_GRP-RECO 251G 3.2G 235G 2% /u03 >=★
/dev/mapper/BITS_GRP-BITS 196G 14G 173G 8% /u01
tmpfs 1.6G 0 1.6G 0% /run/user/101
tmpfs 1.6G 0 1.6G 0% /run/user/1000
Oracle Grid Infrastructureを選択した場合は、ファイルシステム上にBaseDBで拡張可能な領域はありません。
これは、Oracle Automatic Storage Management(Oracle ASM)と呼ばれる別領域でデータ領域とリカバリ領域が管理されるためです。
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.7G 1.3G 6.5G 17% /dev/shm
tmpfs 7.7G 17M 7.7G 1% /run
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/mapper/vg00-root 9.6G 2.8G 6.3G 31% /
/dev/mapper/vg00-home 960M 2.7M 891M 1% /home
/dev/sda2 488M 74M 379M 17% /boot
/dev/mapper/vg00-opt 34G 3.6G 29G 11% /opt
/dev/mapper/vg00-var 9.6G 2.5G 6.7G 28% /var
/dev/sda1 128M 7.5M 121M 6% /boot/efi
/dev/mapper/vg00-var_log 3.8G 98M 3.5G 3% /var/log
/dev/mapper/vg00-var_log_audit 1.9G 45M 1.8G 3% /var/log/audit
tmpfs 7.7G 4.0K 7.7G 1% /var/tmp
tmpfs 7.7G 248K 7.7G 1% /tmp
/dev/sdg 196G 29G 158G 16% /u01
tmpfs 1.6G 0 1.6G 0% /run/user/102
/dev/asm/commonstore-262 5.0G 262M 4.8G 6% /opt/oracle/dcs/commonstore
tmpfs 1.6G 0 1.6G 0% /run/user/101
tmpfs 1.6G 0 1.6G 0% /run/user/1000
以下のコマンドを実行するとデータ領域(DATA/)とリカバリ領域(RECO/)を確認できます。
$ asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 262144 251964 0 251964 0 Y DATA/
MOUNTED EXTERN N 512 512 4096 4194304 262144 258832 0 258832 0 N RECO/
以下で、データ領域/リカバリ領域以外のファイルシステム領域を拡張する方法をご紹介します。
今回はLinux OSにて、BaseDBの/u01配下に新規作成したFSSをマウントする手順をご紹介します。
具体的な手順は下図のとおりです。
①FSSを作成する。
②ネットワーク設定(NSG)を行う。
③BaseDBにFSSをマウントする。
最終的には、/u01/DemoFssディレクトリ(★部分)にFSSをマウントします。
以下はマウント後の出力例です。
$ df -h
Filesystem Size Used Avail Use% Mounted on
・・・略・・・
/dev/mapper/BITS_GRP-BITS 196G 14G 173G 8% /u01
10.0.1.204:/DemoFss 8.0E 0 8.0E 0% /u01/DemoFss >=★
・・・略・・・
それでは、順に作成手順を見ていきましょう。
以下に、具体的な手順を示します。
1-1. OCIコンソールにログインし、"ナビゲーション・メニュー>>ストレージ>>ファイル・システム"をクリックします。
1-2. FSSを作成するリージョン/コンパートメントが選択されていることを確認し、”ファイル・システムの作成”をクリックします。
1-3. ファイル・システムの作成画面で任意の値を入力し、”作成”をクリックします。
以下に、設定例を記載します。
詳しい設定値に関しては、以下のオラクル社資料をご参照ください。
ファイル・システムの作成 ※クリックするとオラクル社のサイトに移動します。
●NFSのファイル・システムを選択
●ファイル・システムの情報
- 名前オプション●エクスポート情報
- エクスポート・パス(FSSのパス名)
任意のエクスポート・パス(今回は、/DemoFss)
- その他はデフォルト設定を使用
●マウント・ターゲット情報
- 新規マウント・ターゲット名 オプション
任意のマウント・ターゲット名(今回は、Demo Fss MountTarget)
- 仮想クラウド・ネットワーク
任意のVCNを選択(今回は、Demo_vcn)
- サブネット
任意のサブネットを記入(今回は、プライベート・サブネット-Demo_vcn)
記入後、”作成”をクリックします。
下記のようにFSSが作成されます。
1-4. 画面を下へスクロールし、エクスポートの項目で、マウント・ターゲット(赤枠部分)をクリックします。この時、エクスポート・パス(青枠:/DemoFss)を、別途メモしておきます。*BaseDBにFSSをマウントする際に使用します。
1-5. マウント・ターゲットの詳細画面に表示されたIPアドレス(青枠:10.0.1.204)を別途メモしておきます。*BaseDBにFSSをマウントする際に使用します。
作成したFSSはデフォルト状態では、ネットワーク通信が許可されていません。ネットワーク・セキュリティ・グループ(以降、NSG)やセキュリティ・リスト(以降、SL)を使用して、イングレスルールを設定する必要があります。
なお、“VCNウィザードの起動”より、VCNを作成した場合、エグレスルールはデフォルト状態でFSSのネットワーク通信が許可されているため、今回は設定しません。
今回は、オラクル社の推奨に準拠してNSGを設定します。
NSGとSLの使い分けに関しては、以下のオラクル社資料をご確認ください。
セキュリティ・リストとネットワーク・セキュリティ・グループの比較
※クリックすると、オラクル社のサイトに移動します。
2-1. ”ネットワーキング>>仮想クラウド・ネットワーク>>FSSを作成したVCN>>ネットワーク・セキュリティ・グループ”をクリックします。
2-2. ”ネットワーク・セキュリティ・グループの作成”をクリックします。
2-3. ネットワーク・セキュリティ・グループの作成画面にて任意の値を入力し、NSGを作成します。UDPはポート番号111,2048、TCPはポート番号111,2048~2050のイングレスルールを追加する必要があります。
●名前
任意のNSG名を入力(今回は、Demo fss nsg)
●コンパートメントに作成
任意のコンパートメントを選択
●ルール(UDP)
以下を入力し、”別のルール”をクリックします。
- 方向
イングレス
- ソース・タイプ
CIDR
- ソースCIDR
今回は10.0.0.17/32(接続先インスタンスのIP)を選択
- IPプロトコル
UDP
- ソース・ポート範囲
今回はデフォルト値を使用
- 宛先ポート範囲
111,2048
●ルール(TCP)
以下を入力し、”作成”をクリックします。
- 方向
イングレス
- ソース・タイプ
CIDR
- ソースCIDR
今回は10.0.0.17/32(接続先インスタンスのIP)を選択
- IPプロトコル
TCP
- ソース・ポート範囲
今回はデフォルト値を使用
- 宛先ポート範囲
111,2048~2050
2-4. ”ストレージ>>マウント・ターゲット>>今回作成したマウント・ターゲット>>ネットワーク・セキュリティ・グループ欄の右側の”編集”をクリックします。
2-5. 作成したNSG(今回は、Demo fss nsg)を選択し、”変更の保存”をクリックします。
ネットワーク・セキュリティ・グループにNSGが設定されたことを確認します。
BaseDBの/u01配下にFSSで作成した/DemoFssをマウントします。
3-1. nfs-utilsをインストールします。
[opc@demo ~]$ sudo yum -y install nfs-utils
Last metadata expiration check: 2:16:20 ago on Mon 21 Apr 2025 02:45:09 AM UT
Package nfs-utils-1:2.3.3-59.el8.x86_64 is already installed.
Dependencies resolved.
======================================================================
Package Architecture
======================================================================
Upgrading:
nfs-utils x86_64
・・・略・・・
Upgraded:
nfs-utils-1:2.3.3-59.0.1.el8.x86_64
Complete!
3-2. BaseDBに/u01/DemoFssディレクトリを作成します。
・/u01配下確認
[opc@demo ~]$ ls -l /u01
total 20
drwxr-xr-x. 5 oracle oinstall 4096 Nov 21 13:29 app
drwxr-xr-x 2 oracle oinstall 16384 Feb 7 22:56 lost+found
・/u01/DemoFssディレクトリの作成と権限の変更
[opc@demo ~]$ sudo mkdir -p /u01/Demofss
[opc@demo ~]$ sudo chown oracle:oinstall /u01/DemoFss
・/u01/DemoFssディレクトリが作成されたことと、権限が変更されたことを確認
[opc@demo ~]$ ls -l /u01/
total 20
drwxr-xr-x. 5 oracle oinstall 4096 Nov 21 13:29 app
drwxr-xr-x 2 oracle oinstall 0 Apr 21 04:34 DemoFss >=★
drwxr-xr-x 2 oracle oinstall 16384 Feb 7 22:56 lost+found
3-3. BaseDBの/u01/DemoFssディレクトリにFSSをマウントします。
・ファイルシステムの確認
[opc@demo ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 7.7G 748K 7.7G 1% /run
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/mapper/vg00-root 9.6G 3.6G 5.5G 40% /
tmpfs 7.7G 140K 7.7G 1% /tmp
/dev/mapper/vg00-home 958M 140K 891M 1% /home
/dev/mapper/vg00-var 9.6G 1.2G 8.1G 13% /var
/dev/mapper/vg00-opt 33G 3.0G 29G 10% /opt
/dev/mapper/vg00-var_log 3.8G 82M 3.6G 3% /var/log
/dev/mapper/vg00-var_tmp 958M 20K 891M 1% /var/tmp
/dev/sda2 974M 256M 652M 29% /boot
/dev/mapper/vg00-var_log_audit 1.9G 1.3M 1.8G 1% /var/log/audit
/dev/sda1 128M 5.1M 123M 4% /boot/efi
/dev/mapper/DATA_GRP-DATA 251G 23G 216G 10% /u02
/dev/mapper/RECO_GRP-RECO 251G 3.2G 235G 2% /u03
/dev/mapper/BITS_GRP-BITS 196G 14G 173G 8% /u01
tmpfs 1.6G 0 1.6G 0% /run/user/101
tmpfs 1.6G 0 1.6G 0% /run/user/1000
・マウント
$ sudo mount <マウント・ターゲットのIPアドレス>:<ファイル・システムのエクスポートパス> <マウントするディレクトリのパス>
例)
[opc@demo ~]$ sudo mount 10.0.1.204:/DemoFss /u01/DemoFss
・マウントされたことを確認(★部分)
[opc@demo ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
・・・略・・・
/dev/mapper/BITS_GRP-BITS 196G 14G 173G 8% /u01
10.0.1.204:/DemoFss 8.0E 0 8.0E 0% /u01/DemoFss =>★
3-4. 次回接続時もマウントを維持させる場合は、fstabに以下の内容を追記します。
$ sudo vi /etc/fstab
記載する内容)
<マウント・ターゲットのIPアドレス>:<ファイル・システムのエクスポートパス> <マウントするディレクトリのパス> nfs defaults,nofail,nosuid,resvport 0 0
記載例)
10.0.1.204:/DemoFss /u01/DemoFss nfs defaults,nofail,nosuid,resvport 0 0
3-5. アンマウントする場合は以下を実行します。
$ sudo umount <アンマウント対象のディレクトリパス>
例)
[opc@demo ~]$ sudo unmount /u01/DemoFss
FSSをマウントした/u01/DemoFssディレクトリに、Data Pumpのダンプファイルをエクスポート/インポートしてみます。
今回は、下図のように、CDB構成であるBaseDBのPDB(Demo_pdb1)に格納されている①demo_tableテーブルをエクスポート(expdb)しバックアップを取得した後に、②demo_tableテーブルを削除し、③demo_tableテーブルを再度PDB(Demo_pdb1)にインポート(impdp)します。
0-1. Demo_pdb1にsysユーザでログイン後、ディレクトリオブジェクトを”/u01/DemoFss”に作成します。今回は、DEMO_DIRという名前で作成します。
SQL> CREATE DIRECTORY DEMO_DIR AS '/u01/DemoFss';
※ディレクトリオブジェクトは全て大文字で認識されるため、大文字で作成してください。
0-2. 今回、systemユーザでData Pumpを使用するため、作成したディレクトリオブジェクト(DEMO_DIR)にread、write権限を付与し、それをsystemユーザに付与します。
SQL> Grant read, write on directory DEMO_DIR TO system;
Demo_pdb1に存在するdemoスキーマが所有するdemo_tableをdemo_table.dmpとして、エクスポートします。
・demo_tableテーブルの確認
SQL> select * from demo.demo_table;
ID NAME AGE
---------- -------------------------------------------------- ----------
1 Demo1 20
2 Demo2 30
3 Demo3 40
・エクスポート(expdp)を実行
tables:エクスポートするテーブル名を指定(今回は、demo.demo_table)
directory:ダンプファイルを出力するディレクトリオブジェクトを大文字で指定(今回はDEMO_DIR)
dumpfile:出力するダンプファイルの名前を指定(今回は、demo_table.dmp)
[oracle@demo ~]$ expdp system/<パスワード>@<DBのホスト名>:<リスナーのポート番号>/<PDBのサービス名> tables=demo.demo_table directory=DEMO_DIR dumpfile=demo_table.dmp
Export: Release 19.0.0.0.0 - Production on Mon Apr 21 07:05:08 2025
Version 19.26.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Starting "SYSTEM"."SYS_EXPORT_TABLE_01": system/********@****.sub***********.****vcn.******vcn.com:****/****_pdb1.sub***********.****vcn.******vcn.com tables=demo.demo_table directory=Demo_dir dumpfile=demo_table.dmp logfile=demo_table.log
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
. . exported "DEMO"."DEMO_TABLE" 5.929 KB 3 rows
Master table "SYSTEM"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TABLE_01 is:
/u01/DemoFss/demo_table.dmp
Job "SYSTEM"."SYS_EXPORT_TABLE_01" successfully completed at Mon Apr 21 07:05:24 2025 elapsed 0 00:00:15
・/u01/DemoFssにdmpファイルがエクスポートされたことを確認
[oracle@demo ~]$ ls -l /u01/DemoFss/
total 200
-rw-r----- 1 oracle oinstall 196608 Apr 21 07:05 demo_table.dmp >=★
-rw-r----- 1 oracle oinstall 1362 Apr 21 07:05 demo_table.log
DBにログインし、demo_tableテーブルを削除します。
・DBにログイン後、テーブルを削除
SQL> drop table demo.demo_table;
Table dropped.
SQL> select * from demo.demo_table;
select * from demo.demo_table
*
ERROR at line 1:
ORA-00942: table or view does not exist
PDB(demo_pdb1)へ、先ほど作成したdemo_table.dmpをインポートし、demo_tableテーブルをリストアします。
・インポート(impdp)を実行
tables:インポートするテーブル名を指定(今回は、demo.demo_tableを指定)
directory:ダンプファイルが存在するディレクトリオブジェクトを大文字で指定(今回は、DEMO_DIRを指定)
dumpfile:インポートするダンプファイルを指定(今回は、demo_table.dmpを指定)
[oracle@demo ~]$ impdp system/<パスワード>@<DBのホスト名>:<リスナーのポート番号>/<PDBのサービス名> tables=demo.demo_table directory=DEMO_DIR dumpfile=demo_table.dmp
Import: Release 19.0.0.0.0 - Production on Mon Apr 21 07:15:22 2025
Version 19.26.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Master table "SYSTEM"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_TABLE_01": system/********@****.sub***********.****vcn.******vcn.com:****/****_pdb1.sub***********.****vcn.******vcn.com tables=demo.demo_table directory=Demo_dir dumpfile=demo_table.dmp logfile=demo_table.log
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "DEMO"."DEMO_TABLE" 5.929 KB 3 rows
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Job "SYSTEM"."SYS_IMPORT_TABLE_01" successfully completed at Mon Apr 21 07:15:35 2025 elapsed 0 00:00:13
・DBにログイン後、demo_tableテーブルがインポートされリストアされていることを確認
SQL> select * from demo.demo_table;
ID NAME AGE
---------- -------------------------------------------------- ----------
1 Demo1 20
2 Demo2 30
3 Demo3 40
今回の記事では、BaseDB環境においてFSSを活用したファイルシステム領域の拡張方法と、実際にマウントした領域を用いたData Pumpによるデータエクスポート/インポート手順までを詳しく解説しました。
既存の領域不足に悩む場面や、これから大容量データの移行・バックアップを検討している方にとって、FSSの柔軟な拡張性は大きな助けとなります。
Data Pumpを使用したいが領域が不足している場合など、BaseDBに対してファイルシステムを拡張する際の参考にしていただけますと幸いです。
![]() |
---|
2021年アシスト入社。Oracle Databaseのフィールドエンジニア、サポートエンジニア業務を経験し、現在は、主にOracle Cloud Infrastructure(OCI)のサポート業務とOpenText Analytics Database(旧製品名 Vertica)のフィールド、サポート業務を担当。趣味は旅行。
■本記事の内容について
本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
仮想マシンのクラウド移行における課題のひとつ「移行後の通信経路の最適化」を実現するHCXの機能、Mobility Optimization Networking(以下、MON)に焦点を当て、その機能の概要から具体的な設定手順まで、豊富な画像とともに詳しく解説します。
サポートセンターに頻繁にお問い合わせをいただくOCI上で複数のコンピュート・インスタンスからストレージを共有利用する方法や、それぞれのストレージの特徴を解説します。複数インスタンスによるマウントに関する検討ポイントも紹介しています。
本記事ではExaDB-XSのスケーリングに焦点を当て、ストレージを含めた各ハードウェアリソースのオンラインスケーリング操作と検証結果をご紹介します。