使用CloneDB克隆数据库
本节包含以下主题:
- 关于使用CloneDB克隆数据库
- 使用CloneDB克隆数据库
- 使用CloneDB克隆数据库后
出于测试目的或其他目的克隆生产数据库通常是必要的。克隆生产数据库的常见原因包括:
- 部署使用数据库的新应用程序或现有应用程序的更新
- 运行数据库的系统上计划的操作系统升级
- 数据库安装的新存储
- 报告
- 分析旧数据
在部署新应用程序,执行操作系统升级或使用新存储之前,需要全面测试以确保数据库在新条件下正常工作。克隆可以通过在一个或多个测试环境中复制生产数据文件来实现,但这些副本通常需要分配和管理大量存储空间。
使用CloneDB,您可以多次克隆数据库,而无需将数据文件复制到多个不同的位置。相反,Oracle数据库使用写时复制技术在CloneDB数据库中创建文件,以便只有在CloneDB数据库中修改的块需要额外的磁盘存储。
以这种方式克隆数据库具有以下优点:
- 它减少了测试所需的存储量
- 它可以为各种目的快速创建多个数据库克隆
CloneDB数据库使用数据库备份的数据文件。使用备份数据文件可确保生产数据文件不会被CloneDB实例访问,并且CloneDB实例不会竞争生产数据库的资源(如CPU和I / O资源)。
- 从Oracle Database 11g第2版(11.2.0.3)开始,支持CloneDB功能
- CloneDB功能不适用于性能测试。
在克隆数据库之前,必须满足以下先决条件:
- 每个CloneDB数据库都必须使用Direct NFS Client,并且生产数据库的备份必须位于NFS卷上。Direct NFS Client使Oracle数据库能够直接访问网络附加存储(NAS)设备,而不是使用操作系统内核NFS客户端。此CloneDB数据库功能在支持Direct NFS Client的平台上可用。
- 至少需要2 MB的额外系统全局区域(SGA)内存来跟踪CloneDB数据库中的修改块。
- 需要存储数据库备份和每个CloneDB数据库中更改的块。数据库备份所需的存储取决于用于执行备份的方法。一个完整的RMAN备份需要最多的存储空间。使用存储设备的功能执行的存储快照符合存储设备的要求。一个备份可以支持多个CloneDB数据库。每个CloneDB数据库所需的存储量取决于该数据库中的写入活动。每个被修改的块都需要一个可用的存储块。因此,总存储需求取决于CloneDB数据库中随着时间的推移修改的块数。
本节介绍创建一个CloneDB数据库并使用这些示例数据库和目录所需的步骤:
- 生产数据库PROD1的Oracle主目录是/ u01 / prod1 / oracle。
- 数据库备份的文件位于/ u02 / oracle / backup / prod1中
- CloneDB数据库CLONE1的Oracle主目录是/ u03 / clone1 / oracle
参考资料
https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN14023
使用CloneDB克隆数据库的更多相关文章
- 如何利用Direct NFS克隆数据库
CloneDB是Oracle 11.2.0.3推出的一项新特性,它利用的了11g新引入的Direct NFS.它直接利用目标数据库的备份,无需将备份COPY到克隆环境下,使得一个备份可以克隆多个不同用 ...
- 示例在同一台机器上使用RMAN克隆数据库
1.查看主库ZDJS并使用RMAM进行备份 [oracle@std ~]$ sqlplus '/as sysdba' SQL*Plus: Release - Production on Wed Jan ...
- Oracle Study之--Oracle 11gR2通过RMAN克隆数据库
Oracle Study之--Oracle 11gR2通过RMAN克隆数据库 Purpose of Database Duplication A duplicate database is usefu ...
- SQL Server2014 SP2新增的数据库克隆功能
SQL Server2014 SP2新增的数据库克隆功能 创建测试库 --创建测试数据库 create database testtest use testtest go --创建表 )) --插入数 ...
- RMAN 数据库克隆文件位置转换方法
在使用RMAN克隆数据库时,如果辅助数据库(新数据库)使用了与目标数据库(原数据库)使用了不同的路径,那么就存在位置转换的问题.在Oracle中,控制文件用于定位数据文件以及联机重做日志文件,如果没有 ...
- PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系
看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉.下面我来还原我 ...
- MongoDB数据库基本用法
show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户 use <db name>:切换当前 ...
- mongodb创建数据库和配置用户
上一篇我们说了mongodb远程连接配置,今天给大家说下mongodb怎么创建数据库和配置用户,毕竟光有远程连接是不够的,我们还要上去操作和放数据的. 系统:centos 5.x 环境:mon ...
- EBS系统克隆
术语 克隆是对已有的Oracle应用系统创建一份拷贝的过程.克隆一个Oracle应用系统有几种不同的情况,包括: l 标准克隆 – 复制一个已有的Oracle应用系统生成一份拷贝,例如对生产 ...
随机推荐
- Ajax结合Json进行交互数据(四)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- nginx 限速最容易理解的说明
nginx 限速研究汇报 写在前面 这两天服务器带宽爆了,情况如下图: 出于降低带宽峰值的原因,我开始各种疯狂的研究nginx限速.下面是我研究过程中的心得!(花了好几个小时的时间写的人生第一篇技术类 ...
- 阿里RocketMq(TCP模式)
针对公司业务逻辑,向阿里云MQ发送指定数据,消费端根据数据来做具体的业务,分两个项目,一个生产端(Producer).一个消费端(Consumer) 生产端通过定时任务执行sql向阿里云MQ发送数据, ...
- 【leetcode-74】搜索二维矩阵
(较简单,但犯错太多) 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: ...
- HTML第一耍 标题 段落 字体等标签
1.HTML标题的使用 <!doctype html> <html> <head> <title>文本标签演示</title> </h ...
- Spring boot 配置自己的拦截器
框架使用的是spring boot 2.0 首先,自定义拦截器实现HandlerInterceptor接口,preHandler是在执行controller方法前执行的 此外还有两个方法,具体作用最 ...
- C#控件绘图恢复最小化后不自动重绘问题
最近在学习C#中的绘图,使用控件绘图时发现一个现象:即使将绘图代码写在了Paint方法中,将窗口最小化再恢复后依然不会重绘,而只有将鼠标移到控件上或者有其他改变窗口的行为时才会重绘. 一开始以为是自己 ...
- Postman 安装及使用入门教程 (谷歌浏览器插件版)
postman 在 谷歌浏览器中插件版 http://www.cnblogs.com/mafly/p/postman.html Postman 4.1.2 下载地址: http://files.cnb ...
- Android资源重命名
Android资源比如图片重命名后,Resource里看到的还是之前的名字,可以关掉AndroidStudio,从新打开就正常了
- IScroll5要防止重复加载
增加一个判断条件,ajax未返回前,设置为true,返回前设置为false,只有为false下才能够出发加载数据事件效果好很多.