Oracle Autonomous Databaseのクローニングを試す
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」を選択するとデータベースの全データをコピーします。
データは当然コピーされますが、統計情報は再取得されず、元の日付のまま移行されます。シーケンスはキャッシュがフラッシュされた状態で移行されるため、元のデータベースよりも大きい値で移行されます。
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を選択すると、テーブルやマテリアライズド・ビュー等の定義は移行されますが、データは移行されません。
データは移行されませんが、統計情報はそのまま残っています。また一般的に 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
Author And Source
この問題について(Oracle Autonomous Databaseのクローニングを試す), 我々は、より多くの情報をここで見つけました https://qiita.com/plusultra/items/3f9fff38d5711b33bfdd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .