ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle实验记录Rman duplicate database(1)

oracle实验记录Rman duplicate database(1)

原创 Linux操作系统 作者:fufuh2o 时间:2009-06-26 09:57:06 0 删除 编辑

C:\>oradim -new -sid xhtest2 -intpwd xh123
                                                               建立instance部分
OPW-00005: 存在相同名称的文件 - 请删除或重命名
例程已创建。

C:\>mk d:\xhtest2\bdump
'mk' 不是内部或外部命令,也不是可运行的程序                      
或批处理文件。

C:\>mkdir d:\xhtest2\bdump;

C:\>mkdir d:\xhtest2\udump;

C:\>mkdir d:\xhtest2\archive

C:\>mkdir d:\xhtest2\cdump
配置instance
*.background_dump_dest='d:\xhtest2'           
*.compatible='10.1.0.2.0'
*.control_files='d:\xhtest2\control01.ctl'
*.core_dump_dest='d:\xhtest2\cdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='xhtest2'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='d:\xhtest2'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=xhtestXDB)'
*.java_pool_size=50331648
*.job_queue_processes=10
*.large_pool_size=8388608
*.log_archive_dest_1='location=D:\xhtest2\archive'
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=200000000
*.sort_area_size=65536
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='d:\xhtest2\udump'
*.instance_name='xhtest2'
*.db_file_name_convert=('F:\oracle\product\10.1.0\oradata\xhtest','d:\xhtest2','D:\自建表空间数据文件','d:\xhtest2')
*.log_file_name_convert=('F:\oracle\product\10.1.0\oradata\xhtest','d:\xhtest2')
*.service_names='xhtest2'

重点的是db_name ,control_files,service_names,instance_name ,其他都是些*_dump,shared_pool_size 要大点否则~容易出错,而且慢,具体还没测试过shared_pool_sizede  具体影响


db_file_name_convert
log_file_name_convert  配置这2个参数 是让 rman可以全自动的 让其自动转换数据文件路径 ,转储到duplicate database;

配置instance

C:\>set oracle_sid=xhtest2

C:\>sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 7月 18 10:51:

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

已连接到空闲例程。

SQL> startup nomount;
ORACLE 例程已经启动。

Total System Global Area  289406976 bytes
Fixed Size                   788552 bytes
Variable Size             263190456 bytes
Database Buffers           25165824 bytes
Redo Buffers                 262144 bytes
SQL>

开始rman
C:\>set oracle_sid=xhtest2

C:\>rman target /@xhtest auxiliary /

恢复管理器: 版本10.1.0.2.0 - Production

Copyright (c) 1995, 2004, Oracle.  All rights reserved.

连接到目标数据库: XHTEST (DBID=1744081245)
已连接到备用数据库: xhtest2 (未装载)

RMAN> duplicate target database to xhtest2;

启动 Duplicate Db 于 18-7月 -08
正在使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=159 devtype=DISK

内存脚本的内容:
{
   set until scn  595215;
   set newname for datafile  1 to
 "D:\XHTEST2\SYSTEM01.DBF";
   set newname for datafile  2 to
 "D:\XHTEST2\UNDOTBS01.DBF";
   set newname for datafile  3 to
 "D:\XHTEST2\SYSAUX01.DBF";
   set newname for datafile  4 to
 "D:\XHTEST2\USERS01.DBF";
   set newname for datafile  5 to
 "D:\XHTEST2\EXAMPLE01.DBF";
   set newname for datafile  6 to
 "D:\XHTEST2\TESTTB.DBF";
   restore
   check readonly
   clone database
   ;
}
正在执行内存脚本

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 18-7月 -08
使用通道 ORA_AUX_DISK_1

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 07/18/2008 10:53:13
RMAN-03015: error occurred in stored script. Memory Script
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 6 found to restore
RMAN-06023: no backup or copy of datafile 5 found to restore                    失败 应为没有备份rman无法转储
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore

RMAN> backup database;

启动 backup 于 18-7月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=161 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\SYSTEM01.DBF

输入数据文件 fno=00003 name=F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\SYSAUX01.DBF

输入数据文件 fno=00005 name=F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\EXAMPLE01.DB
F
输入数据文件 fno=00002 name=F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\UNDOTBS01.DB
F
输入数据文件 fno=00006 name=D:\自建表空间数据文件\TESTTB.DBF
输入数据文件 fno=00004 name=F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 18-7月 -08
通道 ORA_DISK_1: 已完成段 1 于 18-7月 -08
段 handle=F:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\XHTEST\BACKUPSET\2008_07_
18\O1_MF_NNNDF_TAG20080718T105341_4801FWYR_.BKP comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:29
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 18-7月 -08
通道 ORA_DISK_1: 已完成段 1 于 18-7月 -08
段 handle=F:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\XHTEST\BACKUPSET\2008_07_
18\O1_MF_NCSNF_TAG20080718T105341_4801JM3F_.BKP comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:10
完成 backup 于 18-7月 -08


RMAN> duplicate target database to xhtest2;

启动 Duplicate Db 于 18-7月 -08
正在使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=159 devtype=DISK

内存脚本的内容:
{
   set until scn  595215;
   set newname for datafile  1 to
 "D:\XHTEST2\SYSTEM01.DBF";
   set newname for datafile  2 to
 "D:\XHTEST2\UNDOTBS01.DBF";
   set newname for datafile  3 to
 "D:\XHTEST2\SYSAUX01.DBF";
   set newname for datafile  4 to
 "D:\XHTEST2\USERS01.DBF";
   set newname for datafile  5 to
 "D:\XHTEST2\EXAMPLE01.DBF";
   set newname for datafile  6 to
 "D:\XHTEST2\TESTTB.DBF";
   restore
   check readonly
   clone database
   ;
}
正在执行内存脚本

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 18-7月 -08
使用通道 ORA_AUX_DISK_1

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 07/18/2008 10:53:13
RMAN-03015: error occurred in stored script. Memory Script
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 6 found to restore
RMAN-06023: no backup or copy of datafile 5 found to restore                    失败 应为没有备份rman没含有archivlog
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore

backup database plus archivelop;   加上 archivelog~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

RMAN> duplicate target database to xhtest2;

启动 Duplicate Db 于 18-7月 -08
使用通道 ORA_AUX_DISK_1

内存脚本的内容:
{
   set until scn  598493;
   set newname for datafile  1 to
 "D:\XHTEST2\SYSTEM01.DBF";
   set newname for datafile  2 to
 "D:\XHTEST2\UNDOTBS01.DBF";
   set newname for datafile  3 to
 "D:\XHTEST2\SYSAUX01.DBF";
   set newname for datafile  4 to
 "D:\XHTEST2\USERS01.DBF";
   set newname for datafile  5 to
 "D:\XHTEST2\EXAMPLE01.DBF";
   set newname for datafile  6 to
 "D:\XHTEST2\TESTTB.DBF";
   restore
   check readonly
   clone database
   ;
}
正在执行内存脚本

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 18-7月 -08
使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\XHTEST2\SYSTEM01.DBF
正将数据文件00002恢复到D:\XHTEST2\UNDOTBS01.DBF
正将数据文件00003恢复到D:\XHTEST2\SYSAUX01.DBF
正将数据文件00004恢复到D:\XHTEST2\USERS01.DBF
正将数据文件00005恢复到D:\XHTEST2\EXAMPLE01.DBF
正将数据文件00006恢复到D:\XHTEST2\TESTTB.DBF
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = F:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\XHTEST\BACKUPSET\2008_07_1
8\O1_MF_NNNDF_TAG20080718T110719_480279HN_.BKP 标记 = TAG20080718T110719
通道 ORA_AUX_DISK_1: 恢复完成
完成 restore 于 18-7月 -08
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "xhtest2" RESETLOGS ARCHIVELOG
  MAXLOGFILES     16
  MAXLOGMEMBERS      3
  MAXDATAFILES      100
  MAXINSTANCES     8
  MAXLOGHISTORY      454
 LOGFILE
  GROUP  1 ( 'D:\XHTEST2\REDO01.LOG' ) SIZE 10 M  REUSE,
  GROUP  2 ( 'D:\XHTEST2\REDO02.LOG' ) SIZE 10 M  REUSE,
  GROUP  3 ( 'D:\XHTEST2\REDO03.LOG' ) SIZE 10 M  REUSE
 DATAFILE
  'D:\XHTEST2\SYSTEM01.DBF'
 CHARACTER SET ZHS16GBK


内存脚本的内容:
{
   switch clone datafile all;
}
正在执行内存脚本

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=660395473 文件名=D:\XHTEST2\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=660395473 文件名=D:\XHTEST2\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=660395474 文件名=D:\XHTEST2\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=660395475 文件名=D:\XHTEST2\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=660395476 文件名=D:\XHTEST2\TESTTB.DBF

内存脚本的内容:
{
   set until scn  598493;
   recover
   clone database
    delete archivelog
   ;
}
正在执行内存脚本

正在执行命令: SET until clause

启动 recover 于 18-7月 -08
使用通道 ORA_AUX_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 50 已作为文件 F:\归档备份\ARC00050_0660131038.001 存在于磁盘
上
存档日志文件名 =F:\归档备份\ARC00050_0660131038.001 线程 =1 序列 =50
完成介质的恢复
完成 recover 于 18-7月 -08

内存脚本的内容:
{
   shutdown clone;
   startup clone nomount ;
}
正在执行内存脚本

数据库已卸载
Oracle 例程已关闭

已连接到备用数据库 (未启动)
Oracle 例程已启动

系统全局区域总计     289406976 字节

Fixed Size                      788552 字节
Variable Size                263190456 字节
Database Buffers              25165824 字节
Redo Buffers                    262144 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "xhtest2" RESETLOGS ARCHIVELOG
  MAXLOGFILES     16
  MAXLOGMEMBERS      3
  MAXDATAFILES      100
  MAXINSTANCES     8
  MAXLOGHISTORY      454
 LOGFILE
  GROUP  1 ( 'D:\XHTEST2\REDO01.LOG' ) SIZE 10 M  REUSE,
  GROUP  2 ( 'D:\XHTEST2\REDO02.LOG' ) SIZE 10 M  REUSE,
  GROUP  3 ( 'D:\XHTEST2\REDO03.LOG' ) SIZE 10 M  REUSE
 DATAFILE
  'D:\XHTEST2\SYSTEM01.DBF'
 CHARACTER SET ZHS16GBK


内存脚本的内容:
{
   catalog clone datafilecopy  "D:\XHTEST2\UNDOTBS01.DBF";
   catalog clone datafilecopy  "D:\XHTEST2\SYSAUX01.DBF";
   catalog clone datafilecopy  "D:\XHTEST2\USERS01.DBF";
   catalog clone datafilecopy  "D:\XHTEST2\EXAMPLE01.DBF";
   catalog clone datafilecopy  "D:\XHTEST2\TESTTB.DBF";
   switch clone datafile all;
}
正在执行内存脚本

已将数据文件副本列入目录
数据文件副本 filename=D:\XHTEST2\UNDOTBS01.DBF recid=1 stamp=660398592

已将数据文件副本列入目录
数据文件副本 filename=D:\XHTEST2\SYSAUX01.DBF recid=2 stamp=660398593

已将数据文件副本列入目录
数据文件副本 filename=D:\XHTEST2\USERS01.DBF recid=3 stamp=660398596

已将数据文件副本列入目录
数据文件副本 filename=D:\XHTEST2\EXAMPLE01.DBF recid=4 stamp=660398597

已将数据文件副本列入目录
数据文件副本 filename=D:\XHTEST2\TESTTB.DBF recid=5 stamp=660398600

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=660398592 文件名=D:\XHTEST2\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=660398593 文件名=D:\XHTEST2\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=660398596 文件名=D:\XHTEST2\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=660398597 文件名=D:\XHTEST2\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=660398600 文件名=D:\XHTEST2\TESTTB.DBF

内存脚本的内容:
{
   Alter clone database open resetlogs;
}
正在执行内存脚本

数据库已打开
完成 Duplicate Db 于 18-7月 -08

RMAN>

RMAN


总结 要以前的备份,并且备份集中要含archivelog 否则报nobackup

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12020513/viewspace-607596/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-26

  • 博文量
    182
  • 访问量
    471658