Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle Exadata Cloud Service - Exadata Snapshot (Sparse Clone) 構成の簡易確認

Oracle Exadata Cloud Service - Exadata Snapshot (Sparse Clone) 構成の簡易確認

oracle4engineer

July 02, 2021
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. 1. 概要 2. Exadata VM クラスタ - Exadata ストレージの構成 3.

    PDB を⽤いた簡易動作確認 4. まとめと参考情報 アジェンダ Copyright © 2021, Oracle and/or its affiliates 3 本資料は、2021年4〜5⽉に⾏われた検証時の動作および UI の表⽰をベースに作成しています。 ExaCS における各種動作や表⽰は予告なく変更される場合がございますことご了承ください。
  2. 概要 (1/2) ExaCS の VM クラスタ内での、データベースのスナップショット機能 • ストレージ使⽤量を最適化し、迅速にクローンを作成 • コピーオンライト形式のスナップショット

    • 更新データのみを保持し、未更新データはマスターを参照 • スナップショット先の領域として、SPARSE ディスク・グループが必要 • 従来の DATA や RECO ディスク・グループとは異なる、 SPARSE 属性のディスク・グループとグリッド・ディスクを使⽤ • Exadata 特有の機能 (Smart Scan, Smart Flash Cache, Smart Flash Log など) を全て利⽤可能 • Exadata ハードウェア内で、スナップショットの機能をネイティブ サポート Exadata Snapshots (Sparse Clones) Copyright © 2021, Oracle and/or its affiliates 5 SPARSE ディスク・ グループ DATA ディスク・ グループ マスター 更新分 更新分 更新分 更新分 スナップショット Oracle Database 12.1.0.2 BP5 以降
  3. 概要 (2/2) • 既に作成済みのスナップショット・データベースから スナップショットを作成する階層型スナップショットが 構成可能 • 階層化の世代数に制限は無いが、 10 世代までにするのが推奨

    • PDB および non-CDB データベースに対応 • ユースケース例 • 夜間にビルドされた開発⽤の DB をリリースする⽤途 • テスターが Bug をチェックするために snapshot を作成 • テスターが snapshot の snapshot を作成 • テスターが開発者に分析のために新規のコピーを渡す Exadata Snapshots (Sparse Clones) Copyright © 2021, Oracle and/or its affiliates 6 Test Snapshot Snapshot Master 階層型スナップショットは Oracle Database 12.2.0.1 以降
  4. Copyright © 2021, Oracle and/or its affiliates 7 Exadata Snapshots

    (Sparse Clones) Exadata VM クラスタ - Exadata ストレージの構成
  5. Exadata VM クラスタ - Exadata ストレージの構成 • ExaCS において、Exadata スナップショットを実⾏

    するためには、「Exadata VM クラスタの作成」にお いて 「Exadata ストレージの構成」のセクションで、 「Exadata スパース・スナップショットのストレージ割 当て」のチェック・ボックスにチェックをいれて VM クラス タを作成する必要がある • なお、Exadata ストレージの構成は、 「Exadata スパース・スナップショット」と 「ローカル・バックアップ⽤」へのストレージの 割当て有無により、右表の通り、ディスク・ グループに割り当てるストレージ容量の⽐率 が変わる Exadata Snapshots (Sparse Clones) Copyright © 2021, Oracle and/or its affiliates 8 構成 DATA Disk Group RECO Disk Group SPARSE Disk Group Exadata ストレージ上のDBバックアップ :なし SPARSE ディスク・グループ : なし 80% 20% - Exadata ストレージ上のDBバックアップ :あり SPARSE ディスク・グループ : なし 40% 60% - Exadata ストレージ上のDBバックアップ :なし SPARSE ディスク・グループ : あり 60% 20% 20% Exadata ストレージ上のDBバックアップ :あり SPARSE ディスク・グループ : あり 35% 50% 15% 「Exadata VM クラスタの作成」画⾯からの抜粋
  6. Exadata Snapshots (Sparse Clones) Exadata VM クラスタの詳細画⾯から SPARSE ディスク・グループの有無の確認 Copyright

    © 2021, Oracle and/or its affiliates 9 VM クラスタ作成時、「Exadata ストレージ の構成」画⾯で「Exadataスパース・スナップ ショットのストレージ割当て」にチェックをいれて 作成すると、VM クラスタ詳細画⾯において 「Exadata スパース・スナップショットのスト レージ」欄に「有効」と表⽰される
  7. Copyright © 2021, Oracle and/or its affiliates 10 Exadata Snapshots

    (Sparse Clones) PDB を⽤いた簡易動作確認 ExaCS において Exadata スナップショットの実⾏や管理については、UI/API による⾃動化機能は本資料 作成時点では未提供のため、以降の動作確認はオンプレミス Exadata と同様な⼿順で動作確認を⾏なった
  8. 本資料で確認する簡易的な構成 (1/2) 本資料での実⾏⼿順 ① PDB1 (本番想定 PDB) の準備 ② PDB1

    のテスト⽤環境構築のための PDB1Cの作成 (ここでは PDB クローンを実施) とテスト・マスター化 ③ PDB1C からのテスト⽤に利⽤できるスナップショット PDB (PDB1CS1) を作成 (Exadata スナップショットの実⾏) Exadata Snapshots (Sparse Clones) Copyright © 2021, Oracle and/or its affiliates 11 PDB1 PDB1 PDB1C PDB1 PDB1C PDB1CS1 (スナップショット PDB) PDBクローン スナップショット テスト・マスター(親)化 (Read only) テスト/開発⽤ (⼦) PDB (Read Write 可能) CDB CDB CDB
  9. 本資料で確認する簡易的な構成 (2/2) 本資料での実⾏⼿順 ④ スナップショット PDB (PDB1CS1) のテストマスター化 ⑤ 階層型スナップショット・データベース構成として、PDB1CS1

    から スナップショット PDB (PDB1CS11) を作成 (Exadata スナップショットの実⾏) Exadata Snapshots (Sparse Clones) Copyright © 2021, Oracle and/or its affiliates 12 PDB1 PDB1C PDB1CS1 (スナップショット PDB) CDB テスト・マスター化 (Read only) PDB1 PDB1C PDB1CS1 CDB PDB1CS11 (スナップショット PDB) スナップショット テスト/開発⽤ (孫) PDB (Read Write 可能)
  10. Exadata Snapshots (Sparse Clones) の構成 ① PDB1 の準備 (ExaCS でのデータベース作成⼿順についてはここでは割愛)

    Copyright © 2021, Oracle and/or its affiliates 13 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO SQL> connect testuser/XXXXXXXX@PDB1 Connected. SQL> select * from test_table1; COL1 COL2 ---------- ---------- 1 AAA • Exadata スナップショットの利⽤には、Oracle Database については、12.1.0.2.0 BP5 以上が必要 • ここでは Oracle Database 19c (19.11.0) のデータベースを作成し、PDB1 に表領域 TPCCTAB および ユーザー(testuser) を作成後、 1 ⾏だけデータを含めた表 (test_table1) を簡易的に準備した。 PDB1 CDB
  11. Exadata Snapshots (Sparse Clones) の構成 ② PDB1 からテストマスターとする PDB1C (PDB

    クローン) を作成 Copyright © 2021, Oracle and/or its affiliates 14 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO SQL> create pluggable database PDB1C from PDB1 keystore identified by XXXXXXXXXXXX; Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C MOUNTED SQL> alter pluggable database PDB1C open read only; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO PDB1 のクローン PDB1C を作成 PDB1C を READ ONLY でオープン PDB1 PDB1C テスト・マスター(親) 化 (Read only) CDB
  12. Exadata Snapshots (Sparse Clones) の構成 ② PDB1C のテスト・マスター化: ディスク・グループの属性確認 (1/2)

    • SPARSE ディスク・グループ (SPRC1) が以下の必要な設定になっているか確認 (grid ユーザにて) • cell.sparse_dg: allsparse • compatible.rdbms 及び asm : 12.1.0.2 以上 • appliance.mode: TRUE Copyright © 2021, Oracle and/or its affiliates 15 $ asmcmd lsattr -G SPRC1 -l Name Value … appliance.mode TRUE … cell.sparse_dg. Allsparse … compatible.asm 19.0.0.0.0 compatible.rdbms 12.1.0.2.0 …
  13. Exadata Snapshots (Sparse Clones) の構成 ② PDB1C のテスト・マスター化: ディスク・グループの属性確認 (2/2)

    • DATA ディスク・グループ (DATAC1) が以下の必要な設定になっているか確認 (grid ユーザにて) • access_control.enabled: TRUE • compatible.rdbms : 11.2.0.0 以上 • DATA ディスク・グループ (DATAC1) の access_control.enabled 属性を TRUE に変更 (grid ユーザにて) Copyright © 2021, Oracle and/or its affiliates 16 $ asmcmd lsattr -G DATAC1 -l Name Value access_control.enabled FALSE … compatible.rdbms 11.2.0.4 … $ asmcmd setattr -G DATAC1 access_control.enabled TRUE; $ asmcmd lsattr -G DATAC1 access_control.enabled -l Name Value access_control.enabled TRUE
  14. Exadata Snapshots (Sparse Clones) の構成 ② PDB1C のテスト・マスター化: データ・ファイルへの所有権の設定(1/2) •

    PDB1C のデータ・ファイルの確認 Copyright © 2021, Oracle and/or its affiliates 17 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO SQL> set lines 400 SQL> col name for a100 SQL> select NAME from v$datafile where con_id=4; NAME ---------------------------------------------------------------------------------------------------- +DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/system.371.1072966541 +DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/sysaux.438.1072966541 +DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/undotbs1.437.1072966541 +DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/undo_2.449.1072966541 +DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/users.453.1072966541 +DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/tpcctab.444.1072966541 6 rows selected. SQL>
  15. Exadata Snapshots (Sparse Clones) の構成 ② PDB1C のテスト・マスター化: データ・ファイルへの所有権の設定(2/2) •

    データ・ファイルへの所有権の設定 (ここは grid ユーザから sysasm で接続) • この例では oracle ユーザに所有権を割当て Copyright © 2021, Oracle and/or its affiliates 18 SQL> alter diskgroup DATAC1 add user 'oracle'; Diskgroup altered. SQL> alter diskgroup DATAC1 set ownership owner='oracle' for file '+DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/system.371.1072966541'; Diskgroup altered. (以下同様に、前ページの 6 つのデータファイルに所有権を設定) … … SQL> alter diskgroup DATAC1 set ownership owner='oracle' for file '+DATAC1/TESTDB_NRT1SX/C2A8EADDD9DAA750E0532300010A1EA6/DATAFILE/tpcctab.444.1072966541'; Diskgroup altered.
  16. Exadata Snapshots (Sparse Clones) の構成 ③ Exadata スナップショットの実⾏ • マスターの

    PDB1C から、スナップショット (PDB1CS1) を作成 Copyright © 2021, Oracle and/or its affiliates 19 SQL> create pluggable database PDB1CS1 from PDB1C tempfile reuse create_file_dest='+SPRC1' snapshot copy keystore identified by XXXXXXXXXXXX; Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO 6 PDB1CS1 MOUNTED SQL> alter pluggable database PDB1CS1 open; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO 6 PDB1CS1 READ WRITE NO RAC なので、各 VM ノードで同様に open はしておく PDB1 PDB1C PDB1CS1 (スナップショット PDB) スナップショット テスト/開発⽤ (⼦) PDB (Read Write 可能) CDB
  17. Exadata Snapshots (Sparse Clones) の構成 Snapshot PDB (PDB1CS1) での更新 Copyright

    © 2021, Oracle and/or its affiliates 20 SQL> conn testuser/XXXXXXXX@PDB1CS1 Connected. SQL> select * from test_table1; COL1 COL2 ---------- ---------- 1 AAA SQL> insert into test_table1 values(2,'BBB'); 1 row created. SQL> commit; Commit complete. SQL> select * from test_table1; COL1 COL2 ---------- ---------- 1 AAA 2 BBB SQL> tnsnames.ora は⾃動作成されるわけ ではないので、事前に追記しておく • スナップショット PDB (PDB1CS1) へのアクセス PDB1 のデータがあることを確認 PDB1CS1 の表にデータを追加できることを確認
  18. Exadata Snapshots (Sparse Clones) の構成 ④ スナップショット PDB のテストマスター化: ディスク・グループの属性確認

    Copyright © 2021, Oracle and/or its affiliates 21 • 今度はスナップショット PDB (PDB1CS1) をテストマスターとするため、データが置かれている SPARSE ディスクグルー プにおいて Exadata スナップショットを実⾏できる属性であることを確認する • compatible.rdbms は 11.2.0.0 以上であることはすでに確認済み • SPARSE ディスク・グループ (SPRC1) の access_control.enabled 属性の確認 (grid ユーザにて) • SPARSE ディスク・グループ (SPRC1) の access_control.enabled 属性を TRUE に変更 (grid ユーザにて) $ asmcmd setattr -G SPRC1 access_control.enabled TRUE; $ asmcmd lsattr -G SPRC1 access_control.enabled -l Name Value access_control.enabled TRUE $ asmcmd lsattr -G SPRC1 access_control.enabled -l Name Value access_control.enabled FALSE PDB1 PDB1C PDB1CS1 (スナップショット PDB) CDB テスト・マスター化 (Read only)
  19. Exadata Snapshots (Sparse Clones) の構成 ④ スナップショット PDB のテストマスター化: データ・ファイルへの所有権の設定(1/2)

    • PDB1CS1 のデータ・ファイルの確認 Copyright © 2021, Oracle and/or its affiliates 22 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO 6 PDB1CS1 READ WRITE NO SQL> set lines 400 SQL> col name for a100 SQL> select NAME from v$datafile where con_id=6; NAME ---------------------------------------------------------------------------------------------------- +SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/system.260.1072973883 +SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/sysaux.256.1072973883 +SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/undotbs1.259.1072973883 +SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/undo_2.258.1072973883 +SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/users.261.1072973885 +SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/tpcctab.257.1072973883 6 rows selected. SQL>
  20. Exadata Snapshots (Sparse Clones) の構成 ④ スナップショット PDB のテストマスター化: データ・ファイルへの所有権の設定(2/2)

    • データ・ファイルへの所有権の設定 (ここは grid ユーザから sysasm で接続) • この例では oracle ユーザに所有権を割当て (SPRC1 に oracle ユーザは追加済みの状態) Copyright © 2021, Oracle and/or its affiliates 23 SQL> alter diskgroup SPRC1 set ownership owner='oracle' for file ‘+SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/system.260.1072973883'; Diskgroup altered. (以下同様に、前ページの 6 つのデータファイルに所有権を設定) … … SQL> alter diskgroup DATAC1 set ownership owner='oracle' for file ‘+SPRC1/TESTDB_NRT1SX/C2AA9DCD4E5132D2E0532300010AB38F/DATAFILE/tpcctab.257.1072973883'; Diskgroup altered.
  21. Exadata Snapshots (Sparse Clones) の構成 ④ スナップショット PDB のテストマスター化: テストマスターとするスナップショット

    PDB を Read Only でオープン • テストマスターとするスナップショット PDB (PDB1CS1) を Read Only でオープンする Copyright © 2021, Oracle and/or its affiliates 24 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO 6 PDB1CS1 READ WRITE NO SQL> alter pluggable database PDB1CS1 close; Pluggable database altered. SQL> alter pluggable database PDB1CS1 open read only; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO 6 PDB1CS1 READ ONLY NO RAC なので、各 VM ノードで同様に 実施しておく
  22. Exadata Snapshots (Sparse Clones) の構成 ⑤ 階層型スナップショットの実⾏ • マスターのスナップショット PDB

    (PDB1CS1) から、さらにスナップショット PDB (PDB1CS11) を作成 Copyright © 2021, Oracle and/or its affiliates 25 SQL> create pluggable database PDB1CS11 from PDB1CS1 tempfile reuse create_file_dest='+SPRC1' snapshot copy keystore identified by XXXXXXXXXXXX; Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO 5 PDB1CS11 MOUNTED 6 PDB1CS1 READ ONLY NO SQL> alter pluggable database PDB1CS11 open; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1C READ ONLY NO 5 PDB1CS11 READ WRITE NO 6 PDB1CS1 READ ONLY NO RAC なので、各 VM ノードで同様に open はしておく PDB1 PDB1C PDB1CS1 CDB PDB1CS11 (スナップショット PDB) スナップショット テスト/開発⽤ (孫)PDB (Read Write 可能)
  23. Exadata Snapshots (Sparse Clones) の構成 スナップショット PDB (PDB1CS11) での更新 Copyright

    © 2021, Oracle and/or its affiliates 26 SQL> conn testuser/XXXXXXXX@PDB1CS11 Connected. SQL> select * from test_table1; COL1 COL2 ---------- ---------- 1 AAA 2 BBB SQL> insert into test_table1 values(3,’CCC'); 1 row created. SQL> commit; Commit complete. SQL> select * from test_table1 order by 1; COL1 COL2 ---------- ---------- 1 AAA 2 BBB 3 CCC SQL> tnsnames.ora は⾃動作成されるわけ ではないので、事前に追記しておく • スナップショット PDB (PDB1CS11) へのアクセス スナップショット PDB をさらに階層化することは可能 であるが、本簡易確認では、ここで終了 PDB1CS1 のデータがあることを確認 PDB1CS11 の表にデータを追加できることを確認
  24. まとめ Exadata 環境での開発/テスト向けに容易にデータベースの クローンを提供 • コピーオンライトによると Exadata ストレージの効率的な 利⽤および迅速なクローニング •

    non-CDB データベース および PDB のスナップショット・ データベースが作成可能 • スナップショットの階層化が可能 (Oracle Database 12c R2 以降が必要) • Exadata 特有のスマート機能を利⽤可能 注意点 • ExaCS VM クラスタ作成時に SPARSE ディスク・グループの割当てが必要 • スナップショットのためのマスターとして、Read-Only のデータベースの準備は必要 • Oracle Database 12.1.0.2 BP5 もしくは 12.2.0.1 以降が必要 • ExaCS として UI/API からの⾃動化機能は現在未提供 Exadata Snapshots (Sparse Clones) Copyright © 2021, Oracle and/or its affiliates 28 何らかの⼿段で、テストマスター (Read-Only のデータベース) を⽤意する必要がある。 • PDB クローン • バックアップからのデータベース作成 • Data Guard スナップショット・ スタンバイ など テスト/開発向け ExaCS マスター スナップショット(⼦) (Read-Only) スナップショット (Read-Write) スナップショット(⼦) (Read-Write)
  25. • マニュアル: Exadata Cloud Service (⽇本語) ストレージ構成 https://docs.oracle.com/ja-jp/iaas/Content/Database/Concepts/exaoverview.htm (英語) Storage

    Configuration https://docs.oracle.com/en-us/iaas/Content/Database/Concepts/exaoverview.htm • Exadata System Software ユーザーズ・ガイド (⽇本語) 10 Oracle Exadata Storage スナップショットの設定 https://docs.oracle.com/cd/F35731_01/sagug/exadata-storage-server-snapshots.html (英語) 10 Setting up Oracle Exadata Storage Snapshots https://docs.oracle.com/en/engineered-systems/exadata-database- machine/sagug/exadata-storage-server-snapshots.html 参考情報 Copyright © 2021, Oracle and/or its affiliates 29