LoginSignup
0
0

More than 1 year has passed since last update.

Oracle Autonomous Databaseのクローニングを試す

Last updated at Posted at 2022-03-20

Autonomous Database には手軽にデータベースのコピーを行うクローニング機能があります。
ここではクローニングの操作を行い、どのようなコピーが行われるかを確認します。
 データベースのホームページの「More Actipons」メニューから「Create Clone」を選択することでクローニング画面に遷移します。クローニングには以下の設定を変更することができます。

設定 説明 デフォルト
Clone type クローニングのタイプ(Full Clone, Refreshable Clone, Metadata Clone) Full Clone
Clone source クローン元の選択(Clone from database instance, Clone from a backup) Clone from database instance
Preferred region リージョンの選択 カレント・リージョン
Compartment コンパートメントの選択 カレント
Display name クローン先の表示名 Clone of {元のDB名}
Database name 新しいデータベース名 自動生成
Datbase version バージョン 19c
OCPU count OCPU数 1
Storage データ量 1 TB
Password ADMINユーザーのパスワード 無し
Access type ネットワークのアクセス方法 Secure from everywhere
License type ライセンスの選択 License Included
Contact Email コンタクト先のメールアドレス 無し

元データとしてテーブル、マテリアライズド・ビュー、シーケンスを作成し、統計情報を取得しました。

SQL> SELECT table_name, TO_CHAR(last_analyzed, 'YYYY/MM/DD HH24:MI:SS') FROM USER_TABLES WHERE table_name IN ('SALES', 'SALES_M');

TABLE_NAME                     TO_CHAR(LAST_ANALYZ
------------------------------ -------------------
SALES                          2022/03/20 09:04:02
SALES_M                        2022/03/20 09:04:10

SQL> CREATE SEQUENCE seq1;

順序が作成されました。

SQL> SELECT seq1.NEXTVAL FROM DUAL;

   NEXTVAL
----------
         1


SQL> SELECT seq1.NEXTVAL FROM DUAL;

   NEXTVAL
----------
        10

Full Clone

 クローン方法に「Full clone」を選択するとデータベースの全データをコピーします。
Full Clone

データは当然コピーされますが、統計情報は再取得されず、元の日付のまま移行されます。シーケンスはキャッシュがフラッシュされた状態で移行されるため、元のデータベースよりも大きい値で移行されます。

SQL> SELECT TABLE_NAME, NUM_ROWS, STATTYPE_LOCKED, TO_CHAR(last_analyzed, 'YYYY/MM/DD HH24:MI:SS') FROM USER_TAB_STATISTICS;

TABLE_NAME                       NUM_ROWS STATT TO_CHAR(LAST_ANALYZ
------------------------------ ---------- ----- -------------------
SALES                              918843       2022/03/20 09:04:02
SALES_M                            918843       2022/03/20 09:04:10

SQL> SELECT seq1.NEXTVAL FROM DUAL;

   NEXTVAL
----------
        21

Metadata CLONE

定義情報のみをコピーする「Metadata Clone」を選択できます。Always Free 環境以外では「Refreshable Clone」も選択できます。Metadata Cloneを選択すると、テーブルやマテリアライズド・ビュー等の定義は移行されますが、データは移行されません。

Metadata clone

データは移行されませんが、統計情報はそのまま残っています。また一般的に Data Pump で定義情報(METADATA)のみ移行すると統計情報がロックされます。しかし USER_TAB_STATISTICS ビューの STATTYPE_LOCKED 列に値が入って
いないため、Metadata Cloneでは統計情報のロックは行われないことがわかります。

SQL> SELECT TABLE_NAME, NUM_ROWS, STATTYPE_LOCKED, TO_CHAR(last_analyzed, 'YYYY/MM/DD HH24:MI:SS') FROM USER_TAB_STATISTICS;

TABLE_NAME                       NUM_ROWS STATT TO_CHAR(LAST_ANALYZ
------------------------------ ---------- ----- -------------------
SALES                              918843       2022/03/20 08:58:52
SALES_M                            918843       2022/03/20 09:00:29

シーケンスはFull Cloneと同様にキャッシュをフラッシュした状態で移行されます。

SQL> SELECT seq1.NEXTVAL FROM DUAL;

   NEXTVAL
----------
        21
0
0
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
0
0