本节包含以下主题:

  • 关于使用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克隆数据库

在克隆数据库之前,必须满足以下先决条件:
  • 每个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克隆数据库的更多相关文章

  1. 如何利用Direct NFS克隆数据库

    CloneDB是Oracle 11.2.0.3推出的一项新特性,它利用的了11g新引入的Direct NFS.它直接利用目标数据库的备份,无需将备份COPY到克隆环境下,使得一个备份可以克隆多个不同用 ...

  2. 示例在同一台机器上使用RMAN克隆数据库

    1.查看主库ZDJS并使用RMAM进行备份 [oracle@std ~]$ sqlplus '/as sysdba' SQL*Plus: Release - Production on Wed Jan ...

  3. Oracle Study之--Oracle 11gR2通过RMAN克隆数据库

    Oracle Study之--Oracle 11gR2通过RMAN克隆数据库 Purpose of Database Duplication A duplicate database is usefu ...

  4. SQL Server2014 SP2新增的数据库克隆功能

    SQL Server2014 SP2新增的数据库克隆功能 创建测试库 --创建测试数据库 create database testtest use testtest go --创建表 )) --插入数 ...

  5. RMAN 数据库克隆文件位置转换方法

    在使用RMAN克隆数据库时,如果辅助数据库(新数据库)使用了与目标数据库(原数据库)使用了不同的路径,那么就存在位置转换的问题.在Oracle中,控制文件用于定位数据文件以及联机重做日志文件,如果没有 ...

  6. PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系

    看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉.下面我来还原我 ...

  7. MongoDB数据库基本用法

    show dbs:显示数据库列表  show collections:显示当前数据库中的集合(类似关系数据库中的表)  show users:显示用户 use <db name>:切换当前 ...

  8. mongodb创建数据库和配置用户

    上一篇我们说了mongodb远程连接配置,今天给大家说下mongodb怎么创建数据库和配置用户,毕竟光有远程连接是不够的,我们还要上去操作和放数据的.   系统:centos 5.x   环境:mon ...

  9. EBS系统克隆

     术语 克隆是对已有的Oracle应用系统创建一份拷贝的过程.克隆一个Oracle应用系统有几种不同的情况,包括: l   标准克隆 – 复制一个已有的Oracle应用系统生成一份拷贝,例如对生产 ...

随机推荐

  1. Oracle基础--创建临时表空间/表空间/创建用户/授权

    总结:创建用户一般分四步: 第一步:创建临时表空间(创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp.) SQL> CREATE TEMPORARY T ...

  2. saltstack pillar

    piller组件定义与客户端相关的任何数据(定义在master端),定义好的数据可以被其他组件调用(如state,api) 说通俗了,一句话,就是ansible vars里定义的变量,可以在整个pla ...

  3. Hbase balancer RSgroup shell 脚本

    #!/bin/bashTMP_FILE=tmp_groupsGROUPS_FILE=groups.txtecho "list_groups" | hbase shell > ...

  4. weblogic优化(内存、线程数和启动速度)

    一.为服务分配内存 1.一般如果服务所需的内存不一样,需要单独指定的话,我们是通过拷贝startWebLogic.sh文件,拷贝为startNode.sh(名字随意) 2.然后在startNode.s ...

  5. python django基础四 ORM简介

    ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...

  6. 2016vijos 1-1 兔子的字符串(后缀数组 + 二分 + 哈希)

    题意: 给出一个字符串,至多将其划分为n部分,每一部分取出字典序最大的子串ci,最小化 最大的ci 先看一个简化版的问题: 给一个串s,再给一个s的子串t,问能否通过将串划分为k个部分,使t成为划分后 ...

  7. 【概括】C++11/14特性

    c++11 c++14

  8. LeetCode(193. Valid Phone Numbers)(sed用法)

    193. Valid Phone Numbers Given a text file file.txt that contains list of phone numbers (one per lin ...

  9. MysqL_select for update锁详解

    先来举一个在某些应用场景下会出现数据不一致的例子,当然存储引擎是InnoDB(至于为什么,后面再告诉你). 电商平台常见的下单场景: 一般商品表(goods)有基本的四个字段,id(主键),goods ...

  10. EL11个内置对象

    EL是JSP内置的表达式语言 JSP2.0开始,让再使用Java脚本,而是使用EL表达式和动态标签来代替Java脚本 EL替代的是<%=... %>,也就是说EL只能做输出 EL可以输出的 ...