使用rman复制数据库
来源:互联网 发布:淘宝店铺首页怎么全屏 编辑:程序博客网 时间:2024/05/01 10:28
--------------------------------------------
实验环境:windows + oracle
原数据库:ning[归档模式] 复制数据库:test
Author:NinGoo
-------------------------------------------
在同一台server上使用rman的Duplicate Database创建复制数据库。
1. 创建新的instance
准备好相应的目录结构
E:/oracle/product/
E:/oracle/product/
E:/oracle/product/
E:/oracle/product/
E:/oracle/product/
E:/oracle/product/
创建参数文件inittest.ini(可使用原库的pfile进行修改),主要参数如下:
db_name=test
background_dump_dest=E:/oracle/product/
core_dump_dest=E:/oracle/product/
user_dump_dest=E:/oracle/product/
control_files='E:/oracle/oradata/test/control01.ctl','E:/oracle/oradata/test /control02.ctl','E:/oracle/oradata/test /control03.ctl'
DB_FILE_NAME_CONVERT=('E:/oracle/oradata/ning','E:/oracle/oradata/test')
LOG_FILE_NAME_CONVERT=('E:/oracle/oradata/ning','E:/oracle/oradata/test')
置于E:/oracle/product/
使用oradim创建新的instance
c:/>oradim -new -sid test
例程已创建。
使用orapwd创建password文件
c:/>orapwd file=E:/oracle/product/
配置好监听和tnsnames,然后使用sqlplus测试连接
c:/>sqlplus /nolog
SQL*Plus: Release
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn sys@test as sysdba
请输入口令:
已连接到空闲例程。
2.使用rman备份原库
RMAN> connect target sys/ning@ning
连接到目标数据库: NING (DBID=1141544503)
正在使用目标数据库控制文件替代恢复目录
RMAN> backup full database tag 'fullbk' format 'e:/oracle/oraback/full%u_%s_%p';
启动 backup 于 27-3月 -05
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=E:/ORACLE/ORADATA/NING/SYSTEM01.DBF
输入数据文件 fno=00002 name=E:/ORACLE/ORADATA/NING/UNDOTBS01.DBF
输入数据文件 fno=00004 name=E:/ORACLE/ORADATA/NING/USERS01.DBF
输入数据文件 fno=00003 name=E:/ORACLE/ORADATA/NING/SYSAUX01.DBF
输入数据文件 fno=00005 name=E:/ORACLE/ORADATA/NING/TEST01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 27-3月 -05
通道 ORA_DISK_1: 已完成段 1 于 27-3月 -05
段 handle=E:/ORACLE/ORABACK/FULL03GGCQA4_3_1 comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:45
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 27-3月 -05
通道 ORA_DISK_1: 已完成段 1 于 27-3月 -05
段 handle=E:/ORACLE/ORABACK/FULL04GGCQBH_4_1 comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:09
完成 backup 于 27-3月 -05
3.使用rman复制数据库
c:/>rman target sys/ning@ning AUXILIARY sys/test@test
恢复管理器: 版本
opyright (c) 1995, 2004, Oracle. All rights reserved.
连接到目标数据库: NING (DBID=1141544503)
已连接到备用数据库: test (未装载)
RMAN> DUPLICATE TARGET DATABASE TO 'test';
启动 Duplicate Db 于 27-3月 -05
使用通道 ORA_AUX_DISK_1
内存脚本的内容:
{
set until scn 169960;
set newname for datafile 1 to
"E:/ORACLE/ORADATA/TEST/SYSTEM01.DBF";
set newname for datafile 2 to
"E:/ORACLE/ORADATA/TEST/UNDOTBS01.DBF";
set newname for datafile 3 to
"E:/ORACLE/ORADATA/TEST/SYSAUX01.DBF";
set newname for datafile 4 to
"E:/ORACLE/ORADATA/TEST/USERS01.DBF";
set newname for datafile 5 to
"E:/ORACLE/ORADATA/TEST/TEST01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 27-3月 -05
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:/ORACLE/ORADATA/TEST/SYSTEM01.DBF
正将数据文件00002恢复到E:/ORACLE/ORADATA/TEST/UNDOTBS01.DBF
正将数据文件00003恢复到E:/ORACLE/ORADATA/TEST/SYSAUX01.DBF
正将数据文件00004恢复到E:/ORACLE/ORADATA/TEST/USERS01.DBF
正将数据文件00005恢复到E:/ORACLE/ORADATA/TEST/TEST01.DBF
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = E:/ORACLE/ORABACK/FULL03GGCQA4_3_1 标记 = FULLBK
通道 ORA_AUX_DISK_1: 恢复完成
完成 restore 于 27-3月 -05
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
LOGFILE
GROUP 1 'E:/oracle/oradata/test/redo01.log' SIZE
GROUP 2 'E:/oracle/oradata/test/redo02.log' SIZE
GROUP 3 'E:/oracle/oradata/test/redo03.log' SIZE
DATAFILE
'E:/ORACLE/ORADATA/TEST/SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=554071105 文件名=E:/ORACLE/ORADATA/TEST/UNDOTBS01
.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=554071105 文件名=E:/ORACLE/ORADATA/TEST/SYSAUX01.
DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=554071105 文件名=E:/ORACLE/ORADATA/TEST/USERS01.D
BF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=554071105 文件名=E:/ORACLE/ORADATA/TEST/TEST01.DB
F
内存脚本的内容:
{
set until scn 169960;
recover
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 27-3月 -05
使用通道 ORA_AUX_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 16 已作为文件 E:/ORACLE/ARCH/ARC00016_0553949015.001 存在于
磁盘上
存档日志文件名 =E:/ORACLE/ARCH/ARC00016_0553949015.001 线程 =1 序列 =16
完成介质的恢复
完成 recover 于 27-3月 -05
内存脚本的内容:
{
shutdown clone;
startup clone nomount ;
}
正在执行内存脚本
数据库已卸载
Oracle 例程已关闭
已连接到备用数据库 (未启动)
Oracle 例程已启动
系统全局区域总计 142606336 字节
Fixed Size 787848 字节
Variable Size 116390520 字节
Database Buffers 25165824 字节
Redo Buffers 262144 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
LOGFILE
GROUP 1 'E:/oracle/oradata/test/redo01.log' SIZE
GROUP 2 'E:/oracle/oradata/test/redo02.log' SIZE
GROUP 3 'E:/oracle/oradata/test/redo03.log' SIZE
DATAFILE
'E:/ORACLE/ORADATA/TEST/SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
catalog clone datafilecopy "E:/ORACLE/ORADATA/TEST/UNDOTBS01.DBF";
catalog clone datafilecopy "E:/ORACLE/ORADATA/TEST/SYSAUX01.DBF";
catalog clone datafilecopy "E:/ORACLE/ORADATA/TEST/USERS01.DBF";
catalog clone datafilecopy "E:/ORACLE/ORADATA/TEST/TEST01.DBF";
switch clone datafile all;
}
正在执行内存脚本
已将数据文件副本列入目录
数据文件副本 filename=E:/ORACLE/ORADATA/TEST/UNDOTBS01.DBF recid=1 stamp=5540716
73
已将数据文件副本列入目录
数据文件副本 filename=E:/ORACLE/ORADATA/TEST/SYSAUX01.DBF recid=2 stamp=55407167
3
已将数据文件副本列入目录
数据文件副本 filename=E:/ORACLE/ORADATA/TEST/USERS01.DBF recid=3 stamp=554071673
已将数据文件副本列入目录
数据文件副本 filename=E:/ORACLE/ORADATA/TEST/TEST01.DBF recid=4 stamp=554071673
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=554071673 文件名=E:/ORACLE/ORADATA/TEST/UNDOTBS01
.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=554071673 文件名=E:/ORACLE/ORADATA/TEST/SYSAUX01.
DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=554071673 文件名=E:/ORACLE/ORADATA/TEST/USERS01.D
BF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=554071673 文件名=E:/ORACLE/ORADATA/TEST/TEST01.DB
F
内存脚本的内容:
{
Alter clone database open resetlogs;
}
正在执行内存脚本
数据库已打开
完成 Duplicate Db 于 27-3月 -05
4.检查复制库的状态
C:/>sqlplus /nolog
SQL*Plus: Release
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn sys@test as sysdba
请输入口令:
已连接。
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
test OPEN
然后去掉inittest.ora的DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT参数,再使用该文件生成spfile
SQL> create spfile from pfile='E:/oracle/product/
文件已创建。
===============================================================
参考文章:
Oracle® Database Backup and Recovery Advanced User's Guide
- 使用rman复制数据库
- Oracle 使用 RMAN 复制数据库
- 使用RMAN工具复制数据库
- 使用rman中的duplicate复制数据库
- Oracle11gR2使用RMAN duplicate复制数据库
- 使用rman中的duplicate复制数据库
- Oracle11gR2使用RMAN duplicate复制数据库
- Oracle11gR2使用RMAN duplicate复制数据库
- Oracle11gR2使用RMAN duplicate复制数据库
- RMAN 同机复制数据库
- RMAN 异机 复制数据库
- RMAN 同机复制数据库
- RMAN 异机 复制数据库
- RMAN 同机复制数据库
- RMAN Duplicate复制数据库
- RMAN复制数据库
- RMAN 异机 复制数据库
- RMAN 同机复制数据库
- 四大图像库的使用感受:OpenCV/FreeImage/CImg/CxImage
- zz怎样得到一个系统盘的全名
- Google排名优化专栏—PageRank是否已成昔日骄子
- 如何提高网站的Google PR值
- 一生中必看的30个故事
- 使用rman复制数据库
- How to embed a True Type font( 转载 )
- 非COM环境下的接口编程--问题,技巧,应用
- vb入门教程-第一章HELLO WORLD
- 使用一个入侵测系统+主动防火墙-->Snort+Guardian (ZT)
- 画渐变函数
- 第五次培训
- 如何遍历DataSet
- [原创]一个可以自动创建多级目录的函数