oracle中如何通过RMAN复制数据库

通过使用数据库备份,DBA可以在同一服务器或其它服务器上建立副本数据库。这个副本数据库可以和主数据库有相同的名称(拷贝)或与主数据库名称不同(克隆)。

ORACLE在数据库拷贝和数据库克隆之间惟一不同的是拷贝的数据库不能更改名称。使用RMAN的复制数据库特性,可以从RMAN备份创建一个新的数据库,并为这个副本数据库保留已有的数据库名称或者赋予新的名称。

RMAN术语和命令:

A. 辅助数据库(Auxiliary database):RMAN将目标数据库复制到该数据库实例。要创建该数据库的参数文件、路径和口令文件。必须在RMAN数据库复制之前以非加载

(NOMOUNT)模式启动辅助数据库实例。

B. 复制(Duplicate):从其它数据库的RMAN备份创建一个新的数据库。要在RMAN执行复制的位置配置数据库并启动Oracle的实例。从RMAN的角度来看,目标数据库被

复制到副本数据库。

C. 设置新名称(Set newname):在一个RMAN运行块内为数据文件设置新的名称,提供给该参数的文件名称覆盖任何该数据文件的辅助数据库名(用SET AUXNAME)或者

辅助数据库参数(DB_FILE_NAME_CONVERT)。这个新名称的值只在运行块内有效。

D. 设置辅助名称(Set auxname):为数据文件设置辅助名称,这个辅助名称将在RMAN会话之间存在。如果不希望以后的RMAN命令中使用这个设置的名称,则必须将该

名称设置为NULL。

E. 日志文件(log file):可以在Duplicate命令中作用这个关键词,以指定副本数据库创建的联机重做日志文件。如果没有特别指定这个关键词,则RMAN将在辅助参

数文件中的LOG_FILE_NAME_CONVERT参数决定的路径中生成日志文件。如果没有这个RMAN关键词,而且也没有设置辅助参数,则RMAN将在目标数据库同样的位置创建日志

(假设已指定了NOCHECKFILENAME选项)。

F. 不检查文件名(Nocheckfilename):默认情况下,RMAN将检查在副本主机上被恢复到主目标数据文件路径下的数据文件,以确保不会被错误地覆盖。使用该选项可

以覆盖这个默认的操作。这样就需要手工确保RMAN没有覆盖任何已存在的数据文件。应当谨慎使用这个命令,以防止覆盖数据文件。

在Duplicate命令执行的过程中,RMAN执行了一系列工作。当连接到目标、辅助和或选的目录数据库后,RMAN将进行以下操作:

1) 根据最近发生的或者是提供的恢复停止点来决定复制操作将使用哪个基本的备份。

2) 根据辅助数据库参数或RMAN设置的命令和选项来决定将数据文件保存在辅助数据库实例的什么位置。

3) 为辅助数据库读出备份片或映像拷贝并恢复数据文件。这个RMAN的功能与执行正常的数据库还原是一样的。

4) 根据恢复停止点将任何增量备份应用于还原数据文件。这个增量方式的应用与用RMAN发布恢复数据库命令的任务是一样的。

5) 根据恢复停止点从磁盘或备份将所有归档日志文件应用于还原数据文件。

6) 为辅助数据库创建新的控制文件。

7) 当重新设置联机重做日志文件时,打开副本数据库。新的联机重做日志文件将根据RMAN复制数据库命令中指定的或者根据转换的辅助参数文件进行创建。

创建副本数据库的步骤:

1) 准备副本数据库参数文件:拷贝目标数据库的参数文件到$ORACLE_BASE/admin/clone/pfile位置。修改参数文件,替换所有目标数据库名为副本数据库名,同时增

加两个参数:db_file_name_convert = (“primary”,”clone”)、log_file_name_convert = (“primary”,”clone”),再在$ORACLE_HOME/dbs目录下增加

参数文件的LINUX符号连接,或者%ORACLE_HOME%\database目录下增加windows参数文件。

2) 创建口令文件:

LINUX>orapwd file=$ORACLE_HOME/dbs/orapwCLONE password=clone entries=4

WINNT>orapwd file=%ORACLE_HOME%\database\PWDCLONE.ORA password=clone

3) 创建windows服务(linux不需要):

WINNT>oradim –new –sid clone –intpwd clone

4) 建立NET8连接

5) 启动辅助实例:在RMAN创建副本数据库以前,辅助实例需要以非加载模式启动

6) 加载或打开目标数据库

7) 创建副本数据库

C:\Documents and Settings\Administrator>rman

Recovery Manager: 版本 9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.All rights reserved.

RMAN> connect target sys/oracle@mydb ;

已联机到目标数据库: MYDB (DBID=2567199153)

RMAN> connect catalog rman/rman@standby

已联机至复原目录数据库

RMAN> connect auxiliary sys/clone;

联机至辅助数据库: clone (未挂载)

RMAN> run{

2> SET UNTIL logseq 3 THREAD 1;

3> ALLOCATE auxiliary channel d1 TYPE DISK;

4> duplicate target DATABASE TO "CLONE";

5> }

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2016-11-30

oracle中如何通过RMAN复制数据库的相关文章

Oracle中如何使用Rman克隆数据库

源库RHEL4.5:192.168.137.199 GLOBAL_NAME=WENDING.LK ORACLE_SID=WENDING 克隆库RHEL4.5:192.168.137.200 GLOBAL_NAME=STRM.LK ORACLE_SID=STRM 1. 全备份源库 $ sqlplus '/as sysdba' 记下备份前的SCN,规复的时间就规复到这个点. SQL> select DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual;

[原创]RMAN复制数据库

  RMAN复制数据库 通过使用数据库备份,DBA可以在同一服务器或其它服务器上建立副本数据库.这个副本数据库可以和主数据库有相同的名称(拷贝)或与主数据库名称不同(克隆).ORACLE在数据库拷贝和数据库克隆之间惟一不同的是拷贝的数据库不能更改名称.使用RMAN的复制数据库特性,可以从RMAN备份创建一个新的数据库,并为这个副本数据库保留已有的数据库名称或者赋予新的名称. RMAN术语和命令: A.                辅助数据库(Auxiliary database):RMAN将目

使用rman复制数据库

数据|数据库 -------------------------------------------- 实验环境:windows + oracle 10.1.0.2.0 原数据库:ning[归档模式]  复制数据库:test Author:NinGoo    2005-3-27 -------------------------------------------   在同一台server上使用rman的Duplicate Database创建复制数据库.   1.    创建新的instanc

oracle中导入导出数据备份数据库

原文:oracle中导入导出数据备份数据库                            数据库所在位置                         将数据导出到的文件名                    用户名  备份数据库 :exp csm/csm@127.0.0.1/orcl file=c:/baoan_1.1.0_20120816.dmp owner=(csm)                                              数据库所在位置   

Oracle中如何使用dd复制asm中文件

随着数据库新版本的推广ASM肯定会越来越被重视,最近准备系统的学习下ASM,以备突发情况需要,这是asm深入学习第一篇,参考:dd复制ASM中的datafile 查询ASM某个数据文件AU信息 SQL> SELECT GROUP_NUMBER, FILE_NUMBER, NAME 2      FROM v$asm_alias 3  WHERE NAME LIKE '%USER%' 4   GROUP BY GROUP_NUMBER, FILE_NUMBER, NAME; GROUP_NUMBE

Oracle中安全可靠的复制问题的说明

使用现成的Oracle技术来建立分布式系统. 复制包括使一个分布式系统中跨多个数据库的一些或所有应用程序数据保持同步.在本栏目中,我将解释为什么你需要使用复制功能,并描述一些可以用来实现复制功能的Oracle技术. 你需要设计一个具备复制功能的系统有以下几个原因: 远程数据访问需要很大的网络带宽: 网络延迟会导致你的应用程序运行得非常慢: 一个单一站点的故障或崩溃会导致令人无法接受的服务失效: 需要对特定数据的本地所有权和控制. 数据和性能 在对复制进行评估时需要考虑两个网络因素:网络带宽和网络

Oracle中如何使用SQL_TRACE进行数据库诊断

SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法. 本文就SQL_TRACE的使用作简单探讨,并通过具体案例对sql_trace的使用进行说明. 一. 基础介绍 (a) SQL_TRACE说明 SQL_TRACE可以作为初始化参数在全局启用,也可以通过命令行方式在具体session启用. 1. 在全局启用 在参数文件(pfile/spfile)中指定: sql_trace =true 在全局

oracle中 exp/imp导出导入数据库例子

导出前先查看系统的NLS_LANG设置: echo $NLS_LANG AMERICAN_AMERICA.ZHS16CGB231280 select userenv('language') from dual; AMERICAN_AMERICA.ZHS16GBK 这两个值不同会报错: EXP-00091: Exporting questionable statistics 问题产生的原因: linux下用户环境变量语言集和oracle数据库中的环境变量语言集不同. 解决办法: 将linux下用户

DG6—— 用RMAN复制 搭建 物理 Data Gurad 环境

原文转自:http://blog.csdn.net/tianlesoftware/article/details/5756750 Data Guard 环境: 操作系统: redhat 4.7  Primary数据库: IP地址:10.85.10.1 数据库SID:orcl DB_UNIQUE_NAME:orcl_pd   Standby数据库: IP地址:10.85.10.2 数据库SID:orcl DB_UNIQUE_NAME:orcl_st 之前也做过相关实验, 今天这个测试主要是用RMA