Sunday, February 10, 2019

Exadata Storage Snapshots, Part 1



1. Technology Overview

2. Pre-Requisites and restrictions

3. Licensing (Part2)


Technology Overview

The Exadata Storage Snapshots feature appeared at December 2014 as feature of the Exadata software version 12.1.2.1.0. Exadata Storage Snapshots allow you quickly create complete copy of the database at the time O(1) (time is constant, usually some minutes, don't depend on database's size). The new database will consume some MB of disk storage at moment of creation ( space O(1) ).

https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmso/whats-new-oracle-exadata-database-machine-12c-release-1-12.1.2.1.0.html

From single source database you can create many independent clones running at the same time, еhere is no limits to number of clones ( if you have enough resources of RAM, CPU and disk space in Exadata machine). Multiple users can have and use their own personal snapshot from the same source database. 
Source database is shared database between clones.

Snapshot database (= clone ) has all the features of the traditional database and all the features of Exadata like Smart Scan, Storage Index, HCC, Smart Flash Cache, IORM ...  Cloned database is fully-operate database: you can use SQL, PL/SQL, DML and write/load operations, you can add 2nd instance and have RAC database as cloned DB, you can start it from other ORACLE_HOME and test upgrade ... 
It can be read-only or read-write database with archivelog and flashback enabled/disabled.
 

Before creating Exadata Snapshots you can modify the data in the source DB, if required: you can delete or mask sensitive data before making it available to non-privileged users, change passwords, change database links and so on…

Exadata Storage Snapshot database is native feature of the Exadata and don't require additional licensing. It intended for test and development aims, not for load/stress testing.



The source database has name of Test Master (TM), it is the parent of all cloned databases.
There may be some databases in TM role (some parents) in one Exadata. Each parent has its own clones tree. There may be many clones from one parent.
Parent and clone can be RAC or non-RAC databases.

You're allowed make Hierarchical Snapshots: clone from clone, snapshot from snapshot. There is no restrictions on the level's depths.

The TM database should be unchangeable, "frozen" while it has dependent clones.
If you open it as read-write then all dependent clones will be invalidalidated (disabled).
So you should keep TM database shutdowned or mount (but not read write) during clone's life.

Usually the best way to place clones on the standby Exadata. In this case you may shutdown standby and make clones directly from  it (TM = standby).
Or shutdown standby and make a copy of standby's datafiles (you may create separate directory for standby datafiles and put datafiles in this directory. TM = copy of standby datafiles). In this case you'll make clones using the copy of standby datafiles. It consume some disk space but your standby is not tied to clones.

Pre-Requisites and restrictions
  • Cell HW X3-2+  (X2-2 HW don’t suite)
  • Exadata Software 12.1.2.1.0+ ( Dec 2014 г. )
  • GI 12.1.0.2.BP5 +
  • ASM diskgroup compatible.rdbms, compatible.asm = 12.1.0.2 +
  • RDBMS 12.1.0.2.BP5+ (compatible= 12.1.0.2+)
  • Parent’s database files and clone’s files are in the same Exadata rack, same cluster
  • db_block_size = 4K, 8K, 12K,16K,20K,24K, 32K 
The versions above are the minimal versions. Now i recommend use the 18c as Exadata software and 18c or 12.2 with latest patchces as GI and RDBMS software.
 
Source database should be in shutdown state while snapshots are living, because snapshot rely on parent's datafiles. If parent's datafailes have changed then snapshot database crashes with ORA-01243[][][][].

With ESS technology you not allowed to change database's :
  • HW platform
  • Character Set
  • Block Size

Clone database is:


Clone’s files
parameter file (spfile or pfile), passwordfile
Control file
Redo log files
Temporary tablespace files
TM’s datafiles - shared beetween clones                                 
UNDO ? – clone use parent’s UNDO tablespace








No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Does DEALLOCATE UNUSED or SHRINK SPACE will free space occupied by LOB segment?

Lets check how it works. My env is DB 19.20@Linux-x64 1) I created the table with 4 LOB columns of 4 different LOB types: BASICFILE BLOB, BA...