我们看一个完整的复制示例:

Target DB:

IP: 192.168.2.42

SID:orcl

Auxiliary:

IP:192.168.2.43

SID:orcl

我这里复制的目录相同。 如果不同的话需要在pfile里面加入db_file_name_convert和log_file_name_convert.

1.在Auxiliary创建pfile参数文件:

[Oracle@qs-dmm-rh2 dbs]$ pwd

/u01/app/oracle/product/11.2.0/dbhome_1/dbs

[oracle@qs-dmm-rh2 dbs]$ cat initorcl.ora

DB_NAME=orcl

只有一个参数:DB_NAME

2.在Auxiliary库上创建口令文件

[oracle@qs-dmm-rh2 admin]$ orapwd file=?/dbs/orapworcl password=oracle

3.在Auxiliary库创建相关的目录结构:

[oracle@qs-dmm-rh2 trace]$ mkdir -p /u01/app/oracle/oradata/orcl

不然在duplicate时会报如下错误:

ORA-19505: failed to identify file "/u01/app/oracle/oradata/orcl/users01.dbf"

ORA-27040: file create error, unable to create file

4.启动Auxiliary到nomout状态:

[oracle@qs-dmm-rh2 admin]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 8 00:28:48 2011

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

SQL> conn / as sysdba;

Connected to an idle instance.

SQL> startup nomount pfile=?/dbs/initorcl.ora

ORACLE instance started.

Total System Global Area146472960 bytes

Fixed Size1335080 bytes

Variable Size92274904 bytes

Database Buffers50331648 bytes

Redo Buffers2531328 bytes

SQL>

5.在Target和Auxiliary都配置Oracle Net(Listener.ora and tnsnames.ora):

[oracle@www.linuxidc.com admin]$cat listener.ora

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost6.localdomain6)(PORT = 1521))

)

)

ADR_BASE_LISTENER = /u01/app/oracle

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

(SID_NAME = orcl)

)

)

[oracle@www.linuxidc.com admin]$ cat tnsnames.ora

ORCL_ST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.43)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

ORCL_PD =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.42)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

6.开始RMAN duplicate from active database:

注意:如果target和Auxiliary库的目录结构相同,记得加上nofilenamecheck参数,不然会报如下错误:

RMAN-05001: auxiliary file name /u01/app/oracle/oradata/orcl/users01.dbf conflicts with a file used by the target database

如果目录不同,在pfile里加如下2个参数进行转换:

db_file_name_convert

log_file_name_convert.

[oracle@qs-dmm-rh2 dbs]$ rman target sys/oracle@orcl_pd auxiliary sys/oracle@orcl_st

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Mar 8 01:01:42 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.All rights reserved.

connected to target database: ORCL (DBID=1272955137)

connected to auxiliary database: ORCL (not mounted)

RMAN> duplicate target database to orcl from active database nofilenamecheck;

Starting Duplicate Db at 08-MAR-11

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=20 device type=DISK

contents of Memory Script:

{

sql clone "create spfile from memory";

}

executing Memory Script

sql statement: create spfile from memory

contents of Memory Script:

{

shutdown clone immediate;

startup clone nomount;

}

executing Memory Script

Oracle instance shut down

connected to auxiliary database (not started)

Oracle instance started

Total System Global Area146472960 bytes

Fixed Size1335080 bytes

Variable Size92274904 bytes

Database Buffers50331648 bytes

Redo Buffers2531328 bytes

contents of Memory Script:

{

sql clone "alter system setdb_name =

''ORCL'' comment=

''Modified by RMAN duplicate'' scope=spfile";

sql clone "alter system setdb_unique_name =

''ORCL'' comment=

''Modified by RMAN duplicate'' scope=spfile";

shutdown clone immediate;

startup clone force nomount

backup as copy current controlfile auxiliary format'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/cntrlorcl.dbf';

alter clone database mount;

}

executing Memory Script

sql statement: alter system setdb_name =''ORCL'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system setdb_unique_name =''ORCL'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area146472960 bytes

Fixed Size1335080 bytes

Variable Size92274904 bytes

Database Buffers50331648 bytes

Redo Buffers2531328 bytes

Starting backup at 08-MAR-11

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=43 device type=DISK

channel ORA_DISK_1: starting datafile copy

copying current control file

output file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f tag=TAG20110308T010214 RECID=3 STAMP=745203735

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

Finished backup at 08-MAR-11

database mounted

contents of Memory Script:

{

set newname for datafile1 to

"/u01/app/oracle/oradata/orcl/system01.dbf";

set newname for datafile2 to

"/u01/app/oracle/oradata/orcl/sysaux01.dbf";

set newname for datafile3 to

"/u01/app/oracle/oradata/orcl/undotbs01.dbf";

set newname for datafile4 to

"/u01/app/oracle/oradata/orcl/users01.dbf";

backup as copy reuse

datafile1 auxiliary format

"/u01/app/oracle/oradata/orcl/system01.dbf"datafile

2 auxiliary format

"/u01/app/oracle/oradata/orcl/sysaux01.dbf"datafile

3 auxiliary format

"/u01/app/oracle/oradata/orcl/undotbs01.dbf"datafile

4 auxiliary format

"/u01/app/oracle/oradata/orcl/users01.dbf";

sql 'alter system archive log current';

}

executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting backup at 08-MAR-11

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile copy

--在这里开始copy数据文件,比较慢。

input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf

output file name=/u01/app/oracle/oradata/orcl/system01.dbf tag=TAG20110308T010221

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45

channel ORA_DISK_1: starting datafile copy

input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf

output file name=/u01/app/oracle/oradata/orcl/sysaux01.dbf tag=TAG20110308T010221

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35

channel ORA_DISK_1: starting datafile copy

input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf

output file name=/u01/app/oracle/oradata/orcl/undotbs01.dbf tag=TAG20110308T010221

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15

channel ORA_DISK_1: starting datafile copy

input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf

output file name=/u01/app/oracle/oradata/orcl/users01.dbf tag=TAG20110308T010221

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

Finished backup at 08-MAR-11

sql statement: alter system archive log current

contents of Memory Script:

{

backup as copy reuse

archivelog like"/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_03_08/o1_mf_1_7_6qb3zyoo_.arc" auxiliary format

"/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_7_745174404.dbf";

catalog clone archivelog"/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_7_745174404.dbf";

switch clone datafile all;

}

executing Memory Script

Starting backup at 08-MAR-11

using channel ORA_DISK_1

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=7 RECID=3 STAMP=745203841

output file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_7_745174404.dbf RECID=0 STAMP=0

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:07

Finished backup at 08-MAR-11

cataloged archived log

archived log file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_7_745174404.dbf RECID=3 STAMP=745203848

datafile 1 switched to datafile copy

input datafile copy RECID=3 STAMP=745203849 file name=/u01/app/oracle/oradata/orcl/system01.dbf

datafile 2 switched to datafile copy

input datafile copy RECID=4 STAMP=745203849 file name=/u01/app/oracle/oradata/orcl/sysaux01.dbf

datafile 3 switched to datafile copy

input datafile copy RECID=5 STAMP=745203849 file name=/u01/app/oracle/oradata/orcl/undotbs01.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=6 STAMP=745203849 file name=/u01/app/oracle/oradata/orcl/users01.dbf

contents of Memory Script:

{

set until scn844147;

recover

clone database

delete archivelog

;

}

executing Memory Script

executing command: SET until clause

Starting recover at 08-MAR-11

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=18 device type=DISK

starting media recovery

archived log for thread 1 with sequence 7 is already on disk as file /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_7_745174404.dbf

archived log file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_7_745174404.dbf thread=1 sequence=7

media recovery complete, elapsed time: 00:00:01

Finished recover at 08-MAR-11

contents of Memory Script:

{

shutdown clone immediate;

startup clone nomount;

sql clone "alter system setdb_name =

''ORCL'' comment=

''Reset to original value by RMAN'' scope=spfile";

sql clone "alter system resetdb_unique_name scope=spfile";

shutdown clone immediate;

startup clone nomount;

}

executing Memory Script

database dismounted

Oracle instance shut down

connected to auxiliary database (not started)

Oracle instance started

Total System Global Area146472960 bytes

Fixed Size1335080 bytes

Variable Size92274904 bytes

Database Buffers50331648 bytes

Redo Buffers2531328 bytes

sql statement: alter system setdb_name =''ORCL'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system resetdb_unique_name scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)

Oracle instance started

Total System Global Area146472960 bytes

Fixed Size1335080 bytes

Variable Size92274904 bytes

Database Buffers50331648 bytes

Redo Buffers2531328 bytes

sql statement: CREATE CONTROLFILE REUSE SET DATABASE "ORCL" RESETLOGS ARCHIVELOG

MAXLOGFILES16

MAXLOGMEMBERS3

MAXDATAFILES100

MAXINSTANCES8

MAXLOGHISTORY292

LOGFILE

GROUP1 ( '/u01/app/oracle/oradata/orcl/redo01.log' ) SIZE 50 MREUSE,

GROUP2 ( '/u01/app/oracle/oradata/orcl/redo02.log' ) SIZE 50 MREUSE,

GROUP3 ( '/u01/app/oracle/oradata/orcl/redo03.log' ) SIZE 50 MREUSE

DATAFILE

'/u01/app/oracle/oradata/orcl/system01.dbf'

CHARACTER SET ZHS16GBK

contents of Memory Script:

{

set newname for tempfile1 to

"/u01/app/oracle/oradata/orcl/temp01.dbf";

switch clone tempfile all;

catalog clone datafilecopy"/u01/app/oracle/oradata/orcl/sysaux01.dbf",

"/u01/app/oracle/oradata/orcl/undotbs01.dbf",

"/u01/app/oracle/oradata/orcl/users01.dbf";

switch clone datafile all;

}

executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /u01/app/oracle/oradata/orcl/temp01.dbf in control file

cataloged datafile copy

datafile copy file name=/u01/app/oracle/oradata/orcl/sysaux01.dbf RECID=1 STAMP=745203867

cataloged datafile copy

datafile copy file name=/u01/app/oracle/oradata/orcl/undotbs01.dbf RECID=2 STAMP=745203867

cataloged datafile copy

datafile copy file name=/u01/app/oracle/oradata/orcl/users01.dbf RECID=3 STAMP=745203867

datafile 2 switched to datafile copy

input datafile copy RECID=1 STAMP=745203867 file name=/u01/app/oracle/oradata/orcl/sysaux01.dbf

datafile 3 switched to datafile copy

input datafile copy RECID=2 STAMP=745203867 file name=/u01/app/oracle/oradata/orcl/undotbs01.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=3 STAMP=745203867 file name=/u01/app/oracle/oradata/orcl/users01.dbf

contents of Memory Script:

{

Alter clone database open resetlogs;

}

executing Memory Script

database opened

Finished Duplicate Db at 08-MAR-11

RMAN>

复制结束。 查询:

Target库:

SQL> select name,dbid from v$database;

NAMEDBID

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

ORCL1272955137

Auxiliary库:

SQL> select name,dbid from v$database;

NAMEDBID

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

ORCL1272984602

mysql2ora datacopy,Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库相关推荐

  1. Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库

    在Oracle10g下,我们可以使用RMANduplicate命令创建一个具有不同DBID的复制库.到了Oracle11gR2,RMAN的duplicate有2种方法实现: 1.Activedatab ...

  2. oracle copy database,oracle 11g duplicate from active database 复制数据库(二)

    下面介绍将数据库复制到远程主机相同目录结构的操作步骤 1.创建辅助实例的密码文件(这里辅助实例名为dup) ,在目的主机上为辅助实例创建密码文件可以有以下选项: .手动创建密码文件,对于duplica ...

  3. Oracle 11gR2 使用RMAN Duplicate复制数据库

    Oracle 11gR2 使用RMAN Duplicate复制数据库 整体步骤 构建辅助数据库目录结构配置辅助数据库相关参数 安装软件并创建数据库 开启归档 配置静态监听 启动数据库到nomount状 ...

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

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

  5. Oracle 12C 利用Rman Duplicate搭建 Data Guard

    环境(备库只需要安装数据库软件): 主库:192.168.1.100        OS: CentOS 7.3 X64        DB:    ORACLE12.2.0.1        SID ...

  6. Oracle 11g Data Guard 使用duplicate from active database 创建 standby database

    用这种方式来搭建DG ,主库的停机时间很少,只需要重启一下,使参数生效.也可以用这种方法进行DB迁移.DG搭建好,然后把备库激活就可以了. 这样整个迁移中宕机时间也比较短. Oracle 11g的py ...

  7. Oracle 11g 使用duplicate from active database 创建物理ADG

    1.概述: 之前使用冷备的方式搭建了一个物理ADG环境,但是由于冷备需要停库.因此在一些大型库上使用这种技术就不怎么实用了,而使用duplicatefrom active database则必免了这种 ...

  8. Oracle基础知识之synonym(同义词)、database link(数据库链接)、数据完整性

    Oracle基础知识之同义词.数据库链接.数据完整性 一.同义词 (一)概念 (二)分类 1.私有同义词 2.公共同义词 3.远程同义词 (三)作用 二.数据库链接 (一)概念 (二)分类 1.私有数 ...

  9. mysql2ora datacopy,oracle的clone及冷迁移(直接拷贝数据文件)

    最近做了个oracle 10g数据冷迁移,很简单,但还是写一下基本的操作过程: 首先是准备迁移目标服务器,初始化环境,安装数据软件. 基本的环境初始化.依赖包先安装好.相关目录.用户都需要安装好(目标 ...

最新文章

  1. vim中tab键8空格换4空格
  2. 聊天机器人之文本分词
  3. nginx 部署antd_design_pro
  4. 三班的孩子们,你们现在还好吗?
  5. mysql php ajax_PHP 和 AJAX MySQL 数据库实例
  6. mysql sequence java_MySQL增加Sequence管理功能
  7. java删除csv一行_如何删除两个CSV之间的不常见行?
  8. 家庭路由器哪家强:固件漏洞多年不修复,更新无济于事
  9. 2011年3月四级网络工程师笔试试卷 解答思路
  10. oracle 数字处理函数,ORACLE 数字型函数
  11. idea关于mybatis去除黄色背景色与绿色背景
  12. C#获取实体类属性名和值 | 遍历类对象
  13. java 简易扫雷_JAVA基础课程设计 简易扫雷
  14. 查询各科成绩前三名的记录
  15. 如何在电脑上录制qq语音
  16. 一起来玩U3D之基础物理引擎
  17. Reverse-it
  18. pyepics --Auto-saving: simple save/restore PVs
  19. 不买新电脑不能升级Win 11 ?旧版PC被踢出Win 11预览计划
  20. web自动化学习之selenium安装喝浏览器驱动和元素定位

热门文章

  1. 9月8日,临去松山湖的前夜
  2. linux mutt安装配置_Linux系统中安装配置Mutt来作为Gmail客户端
  3. java中怎么传送声音_你的手机是如何实现把声音传送给另一个人的
  4. c语言基础(七)---复杂数据类型
  5. 【数据库原理】关系代数
  6. 大三暑假Java实习生面试题总结(郑州)
  7. 优达学城-深度学习笔记(一)
  8. MySQL主从复制的实现步骤(超级详细哦)
  9. Prometheus TSDB
  10. 12个提升PostgreSQL_TSDB 插入性能的建议