RMAN高级复制实现
克隆本地数据库
一、使用rman备份源数据库,确认备份的有效性。
二、创建辅助实例
1、 创建辅助实例的初始化参数文件(initdup.ora)。
内容如下:
db_name='dup'
control_files='F:\oracle\oradata\dup\control01.ctl','d:\oracle\oradata\dup\control02.ctl'
shared_pool_size=200000000
db_block_size=8192
#比源数据库的初始化参数文件多了下面两个
db_file_name_convert=('d:\oracle\oradata\supinfo','d:\oracle\oradata\dup')
log_file_name_convert=('d:\oracle\oradata\supinfo','d:\oracle\oradata\dup')
audit_file_dest='D:\oracle\admin\adump'
audit_trail='db'
compatible='11.1.0'
db_cache_size=30M
diagnostic_dest='D:\oracle\oradata\dup'
log_archive_dest_1='location=d:\oracle\archive'
log_archive_format='dup_%S_%R_%T.arc'
log_archive_start=TRUE
memory_target=0
undo_management='auto'
undo_tablespace='UNDOTBS1'
utl_file_dir='d:\oracle\logmnr'
2、 启动辅助实例到nomount状态,切忌不要mount或者open;
Set ORACLE_SID=sup
Startup nomount
Create spfile from pfile;
Startup force nomount;
三、 配置监听和客户端
1、监听文件
LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=supinfo)
(SID_NAME=supinfo)
(ORACLE_HOME=C:\app\Administrator\product\11.1.0\db_1)
)
(SID_DESC=
(SID_NAME=cnctest)
(ORACLE_HOME=C:\app\Administrator\product\11.1.0\db_1)
)
)
2、客户端文件内容
# tnsnames.ora Network Configuration File: C:\app\Administrator\product\11.1.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
SUPINFO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = supinfo)
)
)
CNCTEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cnctest)
)
)
四、rman 连接源数据库(要克隆的生产库)和目标数据库。
R,man target / auxiliary system/manager@sup
恢复管理器: Release 11.1.0.6.0 - Production on 星期五 9月 19 10:48:03 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到目标数据库: SUPINFO (DBID=3106732839)
已连接到辅助数据库: CNCTEST (未装载)
RMAN> run{
2> allocate auxiliary channel aux1 device type disk;
3> duplicate target database to cnctest;}
五、rman高级复制时候的过程信息。
恢复管理器: Release 11.1.0.6.0 - Production on 星期五 9月 19 10:48:03 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到目标数据库: SUPINFO (DBID=3106732839)
已连接到辅助数据库: CNCTEST (未装载)
RMAN> run{
2> allocate auxiliary channel aux1 device type disk;
3> duplicate target database to cnctest;}
使用目标数据库控制文件替代恢复目录
分配的通道: aux1
通道 aux1: SID=97 设备类型=DISK
启动 Duplicate Db 于 19-9月 -08
内存脚本的内容:
{
set until scn 371042;
set newname for datafile 1 to
"D:\ORACLE\ORADATA\CNCTEST\SYSTEM01.DBF";
set newname for datafile 2 to
"D:\ORACLE\ORADATA\CNCTEST\SYSAUX01.DBF";
set newname for datafile 3 to
"D:\ORACLE\ORADATA\CNCTEST\UNDOTBS01.DBF";
set newname for datafile 4 to
"D:\ORACLE\ORADATA\CNCTEST\USERS01.DBF";
restore
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 19-9月 -08
通道 aux1: 正在开始还原数据文件备份集
通道 aux1: 正在指定从备份集还原的数据文件
通道 aux1: 将数据文件 00001 还原到 D:\ORACLE\ORADATA\CNCTEST\SYSTEM01.DBF
通道 aux1: 将数据文件 00002 还原到 D:\ORACLE\ORADATA\CNCTEST\SYSAUX01.DBF
通道 aux1: 将数据文件 00003 还原到 D:\ORACLE\ORADATA\CNCTEST\UNDOTBS01.DBF
通道 aux1: 将数据文件 00004 还原到 D:\ORACLE\ORADATA\CNCTEST\USERS01.DBF
通道 aux1: 正在读取备份片段 D:\ORACLE\LEVEL0_SUPINFO_1_1.BK
通道 aux1: 段句柄 = D:\ORACLE\LEVEL0_SUPINFO_1_1.BK 标记 = TAG20080916T204214
通道 aux1: 已还原备份片段 1
通道 aux1: 还原完成, 用时: 00:03:45
完成 restore 于 19-9月 -08
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "CNCTEST" RESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 32
MAXINSTANCES 16
MAXLOGHISTORY 1752
LOGFILE
GROUP 1 ( 'D:\ORACLE\ORADATA\CNCTEST\REDO01.LOG' ) SIZE 30 M REUSE,
GROUP 2 ( 'D:\ORACLE\ORADATA\CNCTEST\REDO02.LOG' ) SIZE 30 M REUSE,
GROUP 3 ( 'D:\ORACLE\ORADATA\CNCTEST\REDO03.LOG' ) SIZE 30 M REUSE
DATAFILE
'D:\ORACLE\ORADATA\CNCTEST\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=1 STAMP=665837547 文件名=D:\ORACLE\ORADATA\CNCTEST\SYSAUX01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=2 STAMP=665837547 文件名=D:\ORACLE\ORADATA\CNCTEST\UNDOTBS01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=3 STAMP=665837547 文件名=D:\ORACLE\ORADATA\CNCTEST\USERS01.DBF
内存脚本的内容:
{
set until scn 371042;
recover
clone database
delete archivelog
;
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11342864/viewspace-450324/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11342864/viewspace-450324/