1. Database Cloning in Minutes Using Enterprise Manager 12c Snap Clone
EM 12c Snap Clone 使得管理员使用storage层的功能创建一个数据库的fully functional copies. 使用自助的model, 用户能够在几分钟内而不是几小时克隆数据且需要最少的storage, 这个技术对于数据没有大量更新的大规模的功能测试特别有用。利用snap clone, 用户能够简单创建数据库的多个snapshot, 通过这些snapshot , 可以访问任何时间点的数据。
2. Simpler Faster Database Cloning
使用snap clone 可以提供如下的优势:
- 空间效益, 只有当storage blocks被更新的时候才需要分配新的storage 空间。 用户可实现storage 节省 90%, 而且,因为不需要拷贝原始的block, 所以对性能没有大的影响。
- 时间效益, 因为snapshots仅仅是一些Pointers, 我们再次简单地更新指向原始数据的指针去restore data, This is faster than copying all the data back from the snapshot area over the original data, as in copy-on-write snapshots. So taking a snapshot completes in seconds, even for very large volumes. A typical terabyte database takes just a few minutes to clone.
- Time travel: 功能测试人员常常需要使用snap clone回到之前的场景,用户可以创建多个功能测试的拷贝,而不需要消耗额外的空间,snapshot是 thin copy , 备份及还原
几乎都是瞬间的,一般就是几分钟。 EM 允许自助用户做多个数据库snapshots作为备份。用户能够简单从之前的snapshot中还原。
.....
简而言之, snap clone 的原理是 : 原始数据(不变的数据,类似seed)保存在存储某个区域,自助用户做多个数据库snapshot作为备份, 根据不同用途分配使用,用户访问那些数据,是通过snapshot指针指向原始数据保存区域(而不是原始数据的一份拷贝), 在block发生变化后,在storage 中分配新的空间(所谓的write space , 和原始数据不同的区域), 对应的指针被更新指向这些更新block上, 不同用途的各个clone的环境访问到的是各自的数据, 变化的部分就是私有的(指针更改指向), 没有变化的部分是共享的(通过指针指向) 。