Oracle中通过RMAN 克隆数据库

目的:在同一台机器上用rman 克隆库

环境:RedHat 4 + Oracle 10g

主库库名:db01

克隆库名: clonedb

1、主库db01 ,用rman进行备份(datafile、controlfile、archivelog file)

08:49:43 SQL> show parameter name ;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_file_name_convert                 string

db_name                              string      cuug

db_unique_name                       string      cuug

global_names                         boolean     FALSE

instance_name                        string      cuug

lock_name_space                      string

log_file_name_convert                string

service_names                        string      cuug

08:49:53 SQL> select current_scn from v$database;

CURRENT_SCN

-----------

1139339

08:50:17 SQL>

RMAN> run {

2> allocate channel c1 type disk;

3> allocate channel c2 type disk;

4> backup full database format '/disk2/rman/db01/hot_bak/%d_%s_%t.bak';

5> backup archivelog all format '/disk2/rman/db01/hot_bak/arch_%s.bak';

6> backup current controlfile format '/disk2/rman/db01/hot_bak/ctl_%s.bak';

7> }

08:58:59 SQL> col file_namr for a50

08:59:19 SQL> select file_id,file_name,tablespace_name from dba_data_files;

FILE_ID FILE_NAME                                          TABLESPACE_NAME

---------- -------------------------------------------------- ------------------------------

5 /u01/app/oracle/oradata/db01/lxtb1.dbf             LXTBS1

4 /u01/app/oracle/oradata/db01/users01.dbf           USERS

3 /u01/app/oracle/oradata/db01/sysaux01.dbf          SYSAUX

2 /u01/app/oracle/oradata/db01/rtbs01.dbf            RTBS

1 /u01/app/oracle/oradata/db01/system01.dbf          SYSTEM

8 /u01/app/oracle/oradata/db01/undotbs1.dbf          UNDOTBS1

11 /u01/app/oracle/oradata/db01/tbsbig.dbf            TBS_BIG

12 /u01/app/oracle/oradata/db01/indx01.dbf            INDX

6 /u01/app/oracle/oradata/db01/lxtbs2.dbf            LXTBS2

9 rows selected.

2、建立pfile 文件

08:59:31 SQL> create pfile from spfile;

File created.

3、建立克隆库的目录

[oracle@RH4 dbs]$ mkdir -p $ORACLE_BASE/admin/clonedb/bdump

[oracle@RH4 dbs]$ mkdir -p $ORACLE_BASE/admin/clonedb/cdump

[oracle@RH4 dbs]$ mkdir -p $ORACLE_BASE/admin/clonedb/udump

[oracle@RH4 dbs]$ mkdir -p $ORACLE_BASE/oradata/clonedb

4、将主库pfile 拷贝生成clone 库的pfile,并生成clone库的口令文件

[oracle@RH4 dbs]$ orapwd file=orapwclonedb.ora password=oracle entries=3;

[oracle@RH4 dbs]$ cp initdb01.ora initclonedb.ora

[oracle@RH4 dbs]$ vi initclonedb.ora

将db01 替换为 clonedb,并增加以下内容:

db_file_name_convert = ("/u01/app/oracle/oradata/db01" ,"/u01/app/oracle/oradata/clonedb")

log_file_name_convert = ("/disk1/oradata/db01","/disk1/oradata/clonedb","/disk2/oradata/db01","/disk2/oradata/clonedb")

5、将clone 库启动到nomount

[oracle@RH4 dbs]$ export ORACLE_SID=clonedb

[oracle@RH4 dbs]$ !sql

sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 23 09:11:22 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

09:11:22 SQL> startup pfile=$ORACLE_HOME/dbs/initclonedb.ora nomount

ORACLE instance started.

Total System Global Area  314572800 bytes

Fixed Size                  1219160 bytes

Variable Size             113247656 bytes

Database Buffers          197132288 bytes

时间: 2024-08-24 18:18:32

Oracle中通过RMAN 克隆数据库的相关文章

Oracle 10g中用RMAN恢复数据库功能增强

我们知道在Oracle 10g R2以前的版本中,如果使用RMAN恢复数据库,临时表空间的临时文件是不会自动恢复的. 这曾经引发了一系列的麻烦,很多DBA在恢复完成之后忘记添加临时文件,经常到应用出错时才能发现. 从Oracle 10g R2开始,使用RMAN恢复数据库之后,Oracle会自动重新创建临时文件,由于临时文件是Sparse File,所以创建会非常迅速,通常你不会感觉得到. 以下是我曾经恢复的一段日志,其中记录了Oracle的恢复处理过程: Thu Sep 14 22:52:06

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;

Oracle中使用RMAN 异机复制数据库

RMAN 异机复制和同机复制操作步骤是一样的,不同的是我们需要把备份的文件copy到辅助库上 实验平台: REDHAT linux 4.7 + oracle 10g 目标库信息: ORACLE_BASE: /u01/app/oracle ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1 ORACLE_SID:orcl IP: 192.168.1.20 辅助库信息: ORACLE_BASE: /u01/app/oracle ORACLE_HOME:

Oracle中提取和存储数据库对象的DDL

oracle|对象|数据|数据库     从对象(例如数据库表.索引.约束.触发器等)中提取DDL命令的普通方法涉及到的操作包括从这些对象中提取元数据(metadata),并把这些数据存储在内存中.尽管目前有很多脚本可以实现这样的功能,但是它们通常都是不完整的或者过时的.幸运的是,Oracle 9.2提供了一个实现这样的功能的API:DBMS_METADATA程序包. 在很多情况下,数据库中数据的维护操作要求我们提取多种对象(例如数据库表.索引.约束.触发器等)的DDL(Data Definit

Oracle中通过RMAN修复坏块

通过dbv和rman blockrecover对Oracle数据库坏块进行修复. (1)rman备份时alert.log报如下错误: Fri Jul  2 12:41:36 2010 Hex dump of (file 12, block 2718618) in trace file /u01/app/oracle/admin/bi/udump/bi_ora_31213.trc Corrupt block relative dba: 0x03297b9a (file 12, block 2718

oracle中导入导出dmp数据库文件

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命 令可以把dmp文件从本地导入到远处的数据库服务器中. 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用. 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中  安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出.

在两机器间克隆数据库的两种方法

数据|数据库 关于克隆数据库的方法,最近一直在研究,偶尔在cnoug上闲逛,发现了两篇帖子不错,现作为以后工作中的参考: 方法一:如何使用RMAN在两机器间克隆数据库 原文摘自:www.cnoug.org 关键字:目标.目录.克隆.日志. 目标数据库和克隆数据库分别在两台机器,其环境都一样: WINDOWS 2000 SERVER SP4.IE6.1, ORACLE9205 在本文中,使用的是目标数据库上的RMAN,目录数据库在第3台机器上, 操作步骤: 1.连接目标数据库,对目标数据库做全库备

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

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

Oracle RMAN还原与恢复讲解(四)如何在非归档模式中还原与恢复数据库

如果数据库在noarchivelog模式下,我们将从完全的脱机备份中恢复这个数据库,并且不可能实现时间点恢复. 1.还原的准备工作 如果在noarchivelog 模式中运行数据库并且假定拥有数据库的一个备份,就可以非常容易地执行数据库的完全恢复. 首先要清理所有的数据文件,以及旧的重做日志和控制文件. 虽然不是一定要这么做,但由于使用了noarchivelog模式,我们希望一切从头开始. 清理完数据文件,控制文件和重做日志后,就可以开始启动恢复进程. 首先,可以从最近生成的备份中恢复控制文件,