使用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应用系统生成一份拷贝,例如对生产 ...
随机推荐
- Oracle基础--创建临时表空间/表空间/创建用户/授权
总结:创建用户一般分四步: 第一步:创建临时表空间(创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp.) SQL> CREATE TEMPORARY T ...
- saltstack pillar
piller组件定义与客户端相关的任何数据(定义在master端),定义好的数据可以被其他组件调用(如state,api) 说通俗了,一句话,就是ansible vars里定义的变量,可以在整个pla ...
- Hbase balancer RSgroup shell 脚本
#!/bin/bashTMP_FILE=tmp_groupsGROUPS_FILE=groups.txtecho "list_groups" | hbase shell > ...
- weblogic优化(内存、线程数和启动速度)
一.为服务分配内存 1.一般如果服务所需的内存不一样,需要单独指定的话,我们是通过拷贝startWebLogic.sh文件,拷贝为startNode.sh(名字随意) 2.然后在startNode.s ...
- python django基础四 ORM简介
ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...
- 2016vijos 1-1 兔子的字符串(后缀数组 + 二分 + 哈希)
题意: 给出一个字符串,至多将其划分为n部分,每一部分取出字典序最大的子串ci,最小化 最大的ci 先看一个简化版的问题: 给一个串s,再给一个s的子串t,问能否通过将串划分为k个部分,使t成为划分后 ...
- 【概括】C++11/14特性
c++11 c++14
- 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 ...
- MysqL_select for update锁详解
先来举一个在某些应用场景下会出现数据不一致的例子,当然存储引擎是InnoDB(至于为什么,后面再告诉你). 电商平台常见的下单场景: 一般商品表(goods)有基本的四个字段,id(主键),goods ...
- EL11个内置对象
EL是JSP内置的表达式语言 JSP2.0开始,让再使用Java脚本,而是使用EL表达式和动态标签来代替Java脚本 EL替代的是<%=... %>,也就是说EL只能做输出 EL可以输出的 ...