Oracle Database@AzureでADB-Sのクローンを作成する

ODAAの検証などを行っているogaです。ここ最近ですがODAAのADB-SにOCIと同じようにクローン機能を用いてDBとそのデータを複製できる機能が追加されたので、検証しました。

#### ※この記事は個人の考えをまとめたものであり、所属組織の公式ドキュメントではありません。

# 目次
- Autonomous Databaseのクローン機能について
- クローンを作成する
- おわりに

# Autonomous Databaseのクローン機能について
まずOracle DatabaseでのAutonomous Databaseではクローン機能を利用することにより、テスト/検証/分析用途の環境を素早く簡単に作成することができます。
OCIではソース・データベースはオンライン、オフラインのどちらでも構わず、作成するクローンのタイプは次の3種類からの選択が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/12e6cd3a-6c44-47bf-8450-3ffd787d996f.png)
[参照:クローン機能を活用しよう](https://oracle-japan.github.io/ocitutorials/adb/adb211-clone/)

Oracle Database@AzureのADB-Sではこの３種類のうち上の2種類でクローンの作成が可能なことを確認できました。

今回の検証ではフル・クローンのタイプでADB-Sのクローンを作成します。

# クローンを作成する
さっそくクローンDBを作成していきます(なお、今回のキャプチャ画像は英語表記となっています。検証当時Azureが日本語だとエラーが出るバグがあったのですが、現在はこの検証を開発部門にエスカレーションし解消されているため日本語でクローンが可能です)。

OCIにログインしてクローンのソースとなるDBを確認します。
パブリックでアクセスできる場合はこちらの真中左にあるDatabase actionsを選択し[SQL]で確認します。プライベートのみの場合は踏み台経由でDBにアクセスします。
今回は踏み台経由でDatabase actionsを用いてアクセスしていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/1e785020-f746-44b8-a273-883c57e559b5.png)

今回のソースとなるDBの環境です。営業のサンプルデータを複数ロードさせている状態となっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/fe2afb75-34d8-4318-9212-4a5fe369738f.png)

データが確認できたのでAzure側でクローン作成にうつります。
データが反映されないバグを回避するため言語設定を英語に変更します。
右上の[歯車]→[言語と地域]→[English]→[適用]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/6eea5569-1fed-4860-b910-a2d5c2553f85.png)

その後真ん中上の検索バーから[Oracle Database@Azure]を検索しクリックし、[Oracle Autonomous Database Service]からソースDBをクリックして移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/f7624e01-3a9e-4c4d-8cb5-967495488cf2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/be642c6b-57a8-40a2-85be-9cbf5338fc0b.png)

[Create clone]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/c73395a1-7124-4522-a06d-3b9c5f0d6dab.png)

Basicsタブで下記を入力し[Next]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/9c06f871-a24d-4e87-8cb4-3dfa84b935b7.png)

### 補足:Clone Sourceについて
フル・クローンまたはメタデータ・クローンの場合、クローンのソースを選択するオプションがあります。

データベースインスタンスからのクローニング : 実行中のデータベースのクローンが作成されます。
バックアップからのクローニング : バックアップリストからバックアップを指定してクローン、もしくは、過去の特定時点を指定してクローンします。
今回はデータベース・インスタンスからのクローニングを選択し、実行中のデータベースのクローンを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/55787a8b-fc2f-4af0-a97b-b2803873de02.png)
[参照:クローン機能を活用しよう](https://oracle-japan.github.io/ocitutorials/adb/adb211-clone/)

Configurationタブで下記を入力し[Next]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/e33dab91-4b4c-47a7-93a9-abb1e4b7637b.png)

### 補足:Workload Typeについて
Azureで作成する場合においてもOCIと同様に下記の4対応が選択できるようになりました。それぞれのタイプには以下の特徴があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/d2c1a0a6-4a72-4bf9-b65a-c2ebada13705.png)

Networkingタブで下記を入力し[Next]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/9198b59f-9ae9-4d3a-84d1-30ee92c70ef3.png)

### 補足:ネットワーク・アクセス・タイプについて
ADBでは次の３つのネットワーク・アクセス・タイプを選択できます：

1:すべての場所からのセキュア・アクセス
2:許可されたIPおよびVCN限定のセキュア・アクセス
3:プライベート・エンドポイント・アクセスのみ

ADBに接続する際に利用可能な認証方法は相互TLS接続とTLS接続の２種類があり、選択したアクセス・タイプにより利用可能な認証方法が次のように異なります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/44d5a359-2f24-4b43-8f9e-738b64cb0a2c.png)
ご自身の環境に合わせた適切なアクセスタイプをご選択ください。
[参照:ADBインスタンスを作成してみよう](https://oracle-japan.github.io/ocitutorials/adb/adb101-provisioning/)

Maintenanceタブで下記のように入力して[Next]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/78f685ed-57ea-4dc0-a71b-64553599ad5c.png)

Consentタブではそのまま[Next]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/6d467d0c-4a94-41a8-8b0d-883ea60069ae.png)

Tagのタブでは作成したい場合はTagをつけてください。[Review＋create]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/6d7f5542-3bb8-4f12-9651-db532c09b077.png)

問題がなければCreateを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/8806306f-252e-415e-b27e-35da42993207.png)

デプロイ完了後Go to Resourceに移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/032b059d-1417-457f-b5e1-8ee96237808c.png)

クローンで作成されたDBの[GO to OCI]を選択して移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/f642accc-b17d-4192-a1cb-f8cc314584d7.png)

[Database actions]→[SQL]の順で選択してDBにパブリックアクセスします。
(Private Accessで作成している場合はURLをコピーし踏み台経由で接続してください)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/108159b5-6583-4708-b5bc-87cb88cf3c3a.png)

左側のナビゲータでSALES_CHANNELS表が表示され、メタデータがクローンされていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/fe251186-4f43-476d-9522-694bf93eca95.png)

次にデータがクローンされているかを確認します。SALES_CHANNELS表をワークシートにドラッグアンドドロップをすると挿入のタイプが選択できます。
選択を選んで適用をクリックすると、SQLが入力されます。そのまま実行してSALES_CHANNELS表を検索します。

データが検索されてメタデータとデータが正しくクローンされていることが確認できたら完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/55c20d19-da65-42a2-93b6-9508ff9181e0.png)


# おわりに
今回は既存のAutonomous Databaseからクローンを作成しました。今回はフル・クローンでしたが、クローンのタイプにメタデータ・クローンを選択すると同様の手順でメタデータ・クローンの作成が可能です。また、バックアップからのクローンも作成可能なため用途に応じてクローン時の設定を変更してご利用ください。

# 構築手順
[101:Oracle Database@AzureをPAYGで作成してみた](https://qiita.com/ogacloud/items/1731b99448965c1b5aa4)
[102:Oracle Database@Azureに接続する](https://qiita.com/ogacloud/items/6b668fccf9f20b9610e4)
[103:Oracle Database@AzureでAutonomous Data Guardを構成して切り替えテストを実施する](https://qiita.com/ogacloud/items/7d8257d85b5a92f2c4f0)
[104:Oracle Database@Azureにデータをロードする](https://qiita.com/ogacloud/items/d0a53db5f094bd36117e)
# 運用時の手順
[201:Oracle Database@Azureのサブスクリプションとアカウントの仕組みについて](https://qiita.com/ogacloud/items/b0cd63d8746f2d3ca285)
[202:Oracle Database@Azureでポータル別設定項目をまとめてみた](https://qiita.com/ogacloud/items/ff16a43ee63f34b5c8d4)
[203:Oracle Database@Azureでこまったときにサポートリクエストを上げて自己解決する方法](https://qiita.com/ogacloud/items/2e791875d322eb484e78)