2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Database@Azure:Azure FilesのNFS共有にあるdmpファイルをAutonomous Databaseにインポートしてみた

Posted at

はじめに

Oracle Database@AzureのAutonomous DatabaseにAzure FilesのNFS共有内にあるdmpファイルをインポートする手順を検証してみました。

注意
こちらの記事の内容はあくまで個人の実験メモ的な内容のため、こちらの内容を利用した場合のトラブルには一切責任を負いません。
また、こちらの記事の内容を元にしたOracleサポートへの問い合わせはご遠慮ください。

0. 事前準備

・高度なネットワーク機能(Advanced Network features)の有効化
こちらのマニュアルを参考にして、Azureの「高度なネットワーク機能(Advanced Network features)」を有効化します。

なお、マニュアルに記載のある以下のコマンドを実行するには、Cloud ShellをPowerShellモードにして実行します。

Register-AzProviderFeature -FeatureName "EnableRotterdamSdnApplianceForOracle" -ProviderNamespace "Microsoft.Baremetal"
Register-AzProviderFeature -FeatureName "EnableRotterdamSdnApplianceForOracle" -ProviderNamespace "Microsoft.Network" 

・VNetの作成
Azure PortalからVNetを作成します。
スクリーンショット 2025-09-12 11.12.05.png

ここでは、「VNet4ADB」という名前のVNetをJapan Eastリージョンに作成します。
スクリーンショット 2025-09-12 11.12.48.png

ここでは、セキュリティはデフォルトの設定のままにしました。
スクリーンショット 2025-09-12 11.13.02.png

IP addressesのタブで、Autonomous Databaseのプライベート・エンドポイントを配置するサブネットを追加します。
スクリーンショット 2025-09-12 11.13.25.png

「+Add a subnet」をクリックします。
スクリーンショット 2025-09-12 11.13.25のコピー.png

ここでは、サブネット名を「Subnet4ADB」とし、CIDRが10.0.1.0/24のサブネットを作成します。
スクリーンショット 2025-09-12 11.14.51.png

Subnet Delegation欄のDelegate subnet to a serviceに「Oracle.Database/networkAttachments」を設定し、「Add」をクリックします。
スクリーンショット 2025-09-12 11.15.27のコピー.png

Defaultサブネットを編集ボタン(鉛筆マーク)をクリックします。
スクリーンショット 2025-09-12 11.15.50のコピー.png

サブネットの名前を「Subnet4StorageEndpoint」に変更し、「Save」をクリックします。
スクリーンショット 2025-09-12 11.16.47.png

「Review + create」をクリックします。
スクリーンショット 2025-09-12 11.17.01.png

内容を確認して、「Create」をクリックします。
スクリーンショット 2025-09-12 11.17.38.png

Vnet「Vnet4ADB」が作成できました。
「Go to resource」をクリックします。
スクリーンショット 2025-09-12 11.18.11.png

作成したVNetの詳細を確認します。
スクリーンショット 2025-09-12 11.18.25.png

・Autonomous Databaseの作成
Autonomous Databaseを作成します。
スクリーンショット 2025-09-19 13.49.42.png

Autonomous Databaseを作成するサブスクリプション、リソース・グループを選択します。
Autonomous Databaseの名前を入力し、作成するリージョンを選択します。
今回はJapan East(東京)リージョンに作成します。
スクリーンショット 2025-09-19 13.51.35.png

任意の構成を入力します。
スクリーンショット 2025-09-19 13.52.16.png

ネットワークのアクセスタイプとして「管理対象プライベート仮想ネットワークIPのみ」を選択し、仮想ネットワークとして、作成したVNet(Vnet4ADB)および作成したDelegated Subnet(Subnet4ADB)を選択します。
スクリーンショット 2025-09-19 13.52.37.png

メンテナンス・パッチ・レベルを選択し、メンテナンス通知先のメールアドレスを入力します。
スクリーンショット 2025-09-19 13.53.27.png

サービス条件に同意します。
スクリーンショット 2025-09-19 13.53.43.png

必要に応じて、タグを設定します。
スクリーンショット 2025-09-19 13.53.52.png

設定内容を確認し、「作成」をクリックします。
スクリーンショット 2025-09-19 13.54.06.png

しばらく待つと、Autonomous Databaseが作成されます。
スクリーンショット 2025-09-19 13.56.40.png

1. ストレージ・アカウントの作成

ストレージ・アカウントを作成します。
「+作成」をクリックします。
スクリーンショット 2025-09-19 10.57.16.png

スクリーンショット 2025-09-19 13.51.35.png

Azure FilesのNFS共有が利用可能なストレージ・アカウントを作成します。
NFS共有が利用するためのストレージ・アカウントの条件は、こちらのマニュアルに記載があります。
スクリーンショット 2025-09-19 11.28.31.png

Autonomous Databaseのディレクトリ・オブジェクトにAzure FilesのNFS共有をアタッチするために、「REST API操作の安全な転送を必須にする」のチェックをオフにします。
スクリーンショット 2025-09-19 11.29.30.png

ネットワークの設定で、パブリック・ネットワーク・アクセスを無効にします。
スクリーンショット 2025-09-19 11.30.14.png

プライベート・エンドポイントを追加します。
スクリーンショット 2025-09-19 11.30.57.png

VNetに「VNet4ADB」、サブネットに「Subnet4StorageEndpoint」を指定し、OKをクリックします。
スクリーンショット 2025-09-19 11.32.06.png

「レビューと作成」をクリックします。
スクリーンショット 2025-09-19 11.32.22.png

設定内容を確認し、「作成」をクリックします。
スクリーンショット 2025-09-19 11.32.44.png

ストレージ・アカウントstorageaccount4filesが作成できました。
スクリーンショット 2025-09-19 12.00.16.png

「セキュリティとネットワーク」内の「ネットワーク」を選択し、「プライベート・エンドポイント」をクリックします。
表示されたストレージ・アカウントのプライベート・エンドポイント名をクリックします。
スクリーンショット 2025-09-19 12.50.50.png

「DNSの構成」をクリックします。
スクリーンショット 2025-09-19 12.53.43.png

カスタムDNSレコードに表示されたFQDNとIPアドレスをメモしておきます。
スクリーンショット 2025-09-19 12.36.23.png

2. ファイル共有の作成

ファイル共有を作成します。
スクリーンショット 2025-09-19 12.03.13.png

ここでは、「azurefilesshare」という名前のファイル共有を作成します。
プロトコルはNFSを選択し、「レビューと作成」をクリックします。
スクリーンショット 2025-09-19 12.04.47.png

設定内容を確認し、「作成」をクリックします。
スクリーンショット 2025-09-19 12.05.42.png

ファイル共有「azurefilesshare」が作成できました。
スクリーンショット 2025-09-19 12.08.32.png

3. dmpファイルをAzure FilesのNFS共有に格納

Azure VM等からファイル共有azurefilesshareをマウントし、dmpファイルを配置します。
今回はtest.dmpというdmpファイルを配置し、パーミッションを644に設定しました。

4. プライベートDNSの設定(OCI側)

Oracle Database@AzureのAutonomous Databaseは、アウトバウンド通信の際にOCI側のプライベートDNSを参照しますので、Azure Filesのプライベート・エンドポイントのDNS情報をOCI側のプライベートDNSに追加します。

OCIコンソールでAutonomous Databaseの詳細画面にアクセスします。
スクリーンショット 2025-09-19 12.14.21.png

ネットワーク・セクションの仮想クラウド・ネットワークのリンクをクリックします。
スクリーンショット 2025-09-19 12.15.48.png

DNSリゾルバのリンクをクリックします。
スクリーンショット 2025-09-19 12.17.31.png

デフォルト・プライベート・ビューのリンクをクリックします。
スクリーンショット 2025-09-19 12.19.29.png

「プライベート・ゾーン」をクリックします。
スクリーンショット 2025-09-19 12.20.18.png

「ゾーンの作成」をクリックします。
スクリーンショット 2025-09-19 12.23.29.png

ゾーン名に「file.core.windows.net」と入力し、作成をクリックします。
スクリーンショット 2025-09-19 12.26.45.png

作成したゾーンの名前「file.core.windows.net」をクリックします。
スクリーンショット 2025-09-19 12.28.17.png

「レコード」をクリックします。
スクリーンショット 2025-09-19 12.29.48.png

「レコードの管理」をクリックします。
スクリーンショット 2025-09-19 12.31.23.png

「レコードの追加」をクリックします。
スクリーンショット 2025-09-19 12.32.47.png

Azure Filesのストレージ・アカウント名(ここではstorageaccount4files)を名前に入力し、
レコード・タイプは「A - IPv4アドレス」を選択します。
Address(アドレス)にストレージ・アカウントのプライベート・エンドポイントのIPアドレス(ここでは10.0.0.6)を入力し、「変更の保存」をクリックします。
スクリーンショット 2025-09-19 12.37.53.png

内容を確認し、「変更の確認」をクリックします。
スクリーンショット 2025-09-19 12.38.18.png

「変更の公開」をクリックします。
スクリーンショット 2025-09-19 12.38.46.png

プライベート・ゾーンおよびストレージ・アカウントのエンドポイントのDNSレコードが追加できました。
スクリーンショット 2025-09-19 12.39.17.png

5. NFS共有のAutonomous Databaseへのアタッチ

SQL*Plusからadminユーザとして、Autonomous Databaseに接続します。

[opc@NewClient ~]$ sqlplus admin/Demo#1Demo#1@adbatazure

SQL*Plus: Release 23.0.0.0.0 - Production on Thu Sep 11 23:24:52 2025
Version 23.9.0.25.07

Copyright (c) 1982, 2025, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.28.0.1.0

SQL> 

ストレージ・アカウントのプライベート・エンドポイントstorageaccount4files.files.core.windows.netへのアクセスを許可するためのネットワークACLを設定します。

SQL> BEGIN
  2      DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(  
  3      host =>'storageaccount4files.file.core.windows.net',  
  4      ace => xs$ace_type(privilege_list => xs$name_list('connect', 'resolve'),  
  5      principal_name => 'ADMIN',  
  6      principal_type =>xs_acl.ptype_db));
  7  END;
  8  /

PL/SQL procedure successfully completed.

SQL> 

Azure FilesのNFS共有をアタッチするためのディレクトリ・オブジェクトを作成します。
ここではAZURE_FILES_DIRという名前のディレクトリ・オブジェクトを作成しました。

SQL> CREATE OR REPLACE DIRECTORY AZURE_FILES_DIR AS 'azurefiles';

Directory created.

SQL> 

DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMプロシージャを使用して、Azure FilesのNFS共有をディレクトリ・オブジェクトAZURE_FILES_DIRにアタッチします。

SQL> BEGIN
  2      DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(  
  3          file_system_name => 'AZUREFILES',  
  4          file_system_location =>'sstorageaccount4files.files.core.windows.net:/storageaccount4adb/container4adb',  
  5          directory_name => 'AZURE_FILES_DIR',  
  6          description => 'Attach Azure Files',  
  7          params => JSON_OBJECT('nfs_version' value 4)
  8      );
  9  END;
 10  /  

PL/SQL procedure successfully completed.

SQL> 

ディレクトリ・オブジェクト内(=Azure FilesのNFS共有内)のファイルが参照できるか確認します。

SQL> col object_name for a20
SQL> SELECT object_name, bytes FROM DBMS_CLOUD.LIST_FILES('AZURE_FILES_DIR');

OBJECT_NAME		          BYTES
-------------------- ----------
test.dmp		         446464

SQL> 

6. インポートの実行

impdpコマンドを実行して、ディレクトリ・オブジェクトAZURE_FILE_DIR(=ファイル共有azurefilesshare)内にあるdmpファイルtest.dmpをインポートします。

[opc@NewClient ~]$ impdp admin/Demo#1Demo#1@azureadb DIRECTORY=AZURE_FILES_DIR DUMPFILE=test.dmp LOGFILE=impdp.log exclude=cluster,indextype,db_link

Import: Release 23.0.0.0.0 - Production on Fri Sep 19 00:32:01 2025
Version 23.9.0.25.07

Copyright (c) 1982, 2025, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Master table "ADMIN"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "ADMIN"."SYS_IMPORT_FULL_01":  admin/********@azureadb DIRECTORY=AZURE_FILES_DIR DUMPFILE=test.dmp LOGFILE=impdp.log exclude=cluster,indextype,db_link 
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PASSWORD_HISTORY
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "SCOTT"."BONUS"                                 0 KB       0 rows
. . imported "SCOTT"."DEPT"                              6.023 KB       4 rows
. . imported "SCOTT"."EMP"                               8.773 KB      14 rows
. . imported "SCOTT"."SALGRADE"                          5.953 KB       5 rows
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
Job "ADMIN"."SYS_IMPORT_FULL_01" successfully completed at Fri Sep 19 04:33:13 2025 elapsed 0 00:01:10

[opc@NewClient ~]$

Azure FilesのNFS共有にあるdmpファイルをAutonomous Databaseにインポートできました。

参考情報

AzureでのAutonomous Databaseリソースの管理
Oracle Database@Azure のネットワーク計画
Azure クラシック ファイル共有を作成する
プライベートDNSゾーンの作成
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACEプロシージャ
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMプロシージャ

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?