您的位置:首页 > 数据库

17.3.2 在不同主机上建立RMAN 管理的复制数据库

2009-02-04 17:36 513 查看
(1) 建立存放复制数据库各种相应的 OS 目录。

(2) 建立例程服务。

(3) 建立参数文件。

连接到主数据库建立文本参数文件。

编辑文本参数文件。

建立服务器参数文件。

(4) 将主数据库的备份集文件、参数文件复制到复制数据库所在的主机。

(5) 启动例程。

(6) 建立复制数据库(因为复制数据库在远程主机上,所以必须在远程主机上配置临听程序,在主数据库机器上配置网络服务名)。

复制数据库所在的主机:

C:/>mkdir c:/demo

C:/>mkdir c:/demo/bdump

C:/>mkdir c:/demo/udump

C:/>mkdir c:/demo/archive

C:/>mkdir c:/backup

C:/>oradim -new -sid demo -syspwd oracle
实例已创建。

主数据库所在的主机:

C:/>sqlplus sys/orcl@demo as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 2月 4 15:32:38 2009

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

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> create pfile='%oracle_home%/database/inittemp.ora' from spfile;

文件已创建。

修改:

background_dump_dest='C:/demo/bdump'
user_dump_dest='C:/demo/udump'
control_files='C:/demo/control01.ctl'
log_archive_dest_1='location=C:/demo/archive'


SQL> create spfile='%oracle_home%/database/spfiletemp.ora'
2 from pfile='%oracle_home%/database/inittemp.ora';


文件已创建。

SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开

C:/>rman target sys/orcl@demo nocatalog

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 2月 4 15:38:13 2009

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

连接到目标数据库: DEMO (DBID=3411805505)
使用目标数据库控制文件替代恢复目录

RMAN> backup database format='c:/backup/%d_%s.bak'
2> include current controlfile
3> plus archivelog format='c:/backup/%d_%s.bak';


启动 backup 于 04-2月 -09
当前日志已存档
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =26 记录 ID=65 时间戳=674825136
输入存档日志线程 =1 序列 =27 记录 ID=67 时间戳=674825141
输入存档日志线程 =1 序列 =28 记录 ID=69 时间戳=674907531
输入存档日志线程 =1 序列 =29 记录 ID=71 时间戳=675344283
输入存档日志线程 =1 序列 =30 记录 ID=73 时间戳=675444289
输入存档日志线程 =1 序列 =31 记录 ID=75 时间戳=675682631
输入存档日志线程 =1 序列 =32 记录 ID=77 时间戳=675770439
输入存档日志线程 =1 序列 =33 记录 ID=79 时间戳=676132883
输入存档日志线程 =1 序列 =34 记录 ID=81 时间戳=676213288
输入存档日志线程 =1 序列 =35 记录 ID=83 时间戳=676213399
输入存档日志线程 =1 序列 =36 记录 ID=85 时间戳=677673237
输入存档日志线程 =1 序列 =37 记录 ID=87 时间戳=677675018
输入存档日志线程 =1 序列 =38 记录 ID=89 时间戳=677688015
输入存档日志线程 =1 序列 =39 记录 ID=91 时间戳=677756429
输入存档日志线程 =1 序列 =40 记录 ID=93 时间戳=677756696
输入存档日志线程 =1 序列 =41 记录 ID=95 时间戳=677768743
输入存档日志线程 =1 序列 =42 记录 ID=97 时间戳=677768881
输入存档日志线程 =1 序列 =43 记录 ID=99 时间戳=677842304
输入存档日志线程 =1 序列 =44 记录 ID=101 时间戳=677842404
输入存档日志线程 =1 序列 =45 记录 ID=104 时间戳=677842510
输入存档日志线程 =1 序列 =46 记录 ID=105 时间戳=677842936
输入存档日志线程 =1 序列 =47 记录 ID=107 时间戳=677843090
输入存档日志线程 =1 序列 =48 记录 ID=109 时间戳=677843490
输入存档日志线程 =1 序列 =49 记录 ID=111 时间戳=677843642
输入存档日志线程 =1 序列 =50 记录 ID=113 时间戳=677843995
输入存档日志线程 =1 序列 =51 记录 ID=115 时间戳=677844088
输入存档日志线程 =1 序列 =52 记录 ID=117 时间戳=677844230
输入存档日志线程 =1 序列 =53 记录 ID=119 时间戳=677847340
输入存档日志线程 =1 序列 =54 记录 ID=121 时间戳=677849157
输入存档日志线程 =1 序列 =55 记录 ID=123 时间戳=677856839
输入存档日志线程 =1 序列 =56 记录 ID=125 时间戳=677856994
输入存档日志线程 =1 序列 =57 记录 ID=127 时间戳=677936383
输入存档日志线程 =1 序列 =58 记录 ID=129 时间戳=677943108
输入存档日志线程 =1 序列 =59 记录 ID=131 时间戳=677944120
输入存档日志线程 =1 序列 =60 记录 ID=133 时间戳=677947895
输入存档日志线程 =1 序列 =61 记录 ID=135 时间戳=677948052
输入存档日志线程 =1 序列 =62 记录 ID=137 时间戳=677948359
输入存档日志线程 =1 序列 =63 记录 ID=139 时间戳=677948516
输入存档日志线程 =1 序列 =64 记录 ID=141 时间戳=677950770
输入存档日志线程 =1 序列 =65 记录 ID=143 时间戳=677950924
输入存档日志线程 =1 序列 =66 记录 ID=145 时间戳=677954666
通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
段句柄=C:/BACKUP/DEMO_41.BAK 标记=TAG20090204T164427 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:31
完成 backup 于 04-2月 -09

启动 backup 于 04-2月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:/DEMO/SYSTEM01.DBF
输入数据文件 fno=00004 name=D:/DEMO/USERS01.DBF
输入数据文件 fno=00003 name=D:/DEMO/SYSAUX01.DBF
输入数据文件 fno=00002 name=D:/DEMO/UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
段句柄=C:/BACKUP/DEMO_42.BAK 标记=TAG20090204T164503 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:35
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
段句柄=C:/BACKUP/DEMO_43.BAK 标记=TAG20090204T164503 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 04-2月 -09

启动 backup 于 04-2月 -09
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =67 记录 ID=148 时间戳=677954803
通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
段句柄=C:/BACKUP/DEMO_44.BAK 标记=TAG20090204T164643 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 04-2月 -09

RMAN> exit

恢复管理器完成。

C:/>copy c:/backup/*.bak //test/c/backup
c:/backup/DEMO_41.BAK
c:/backup/DEMO_42.BAK
c:/backup/DEMO_43.BAK
c:/backup/DEMO_44.BAK
已复制 4 个文件。

C:/>copy %oracle_home%/database/spfiletemp.ora //test/d/oracle/product/10.2.0/db_1/database/spfiledemo.ora
已复制 1 个文件。

复制数据库所在的主机:

C:/>set oracle_sid=demo

C:/>sqlplus sys/oracle as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 2月 4 15:54:10 2009

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

已连接到空闲例程。

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

Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 260049844 bytes
Database Buffers 335544320 bytes
Redo Buffers 7135232 bytes

复制数据库配置监听,主数据库配置网络服务名dupdb。

主数据库所在的主机:

C:/>rman target sys/orcl@demo auxiliary sys/oracle@dupdb

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 2月 4 16:59:08 2009

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

连接到目标数据库: DEMO (DBID=3411805505)
已连接到辅助数据库: DEMO (未装载)

RMAN> run {
2> set newname for datafile 1 to 'c:/demo/system01.dbf';
3> set newname for datafile 2 to 'c:/demo/undotbs01.dbf';
4> set newname for datafile 3 to 'c:/demo/sysaux01.dbf';
5> set newname for datafile 4 to 'c:/demo/users01.dbf';
6> set newname for tempfile 1 to 'c:/demo/temp01.dbf';
7> duplicate target database to demo logfile
8> 'c:/demo/redo01.log' size 10m,
9> 'c:/demo/redo02.log' size 10m,
10> 'c:/demo/redo03.log' size 10m;
11> }


正在执行命令: SET NEWNAME
使用目标数据库控制文件替代恢复目录

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 Duplicate Db 于 04-2月 -09
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=159 devtype=DISK

内存脚本的内容:
{
set until scn 1706363;
set newname for datafile 1 to
"C:/DEMO/SYSTEM01.DBF";
set newname for datafile 2 to
"C:/DEMO/UNDOTBS01.DBF";
set newname for datafile 3 to
"C:/DEMO/SYSAUX01.DBF";
set newname for datafile 4 to
"C:/DEMO/USERS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 04-2月 -09
使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到C:/DEMO/SYSTEM01.DBF
正将数据文件00002恢复到C:/DEMO/UNDOTBS01.DBF
正将数据文件00003恢复到C:/DEMO/SYSAUX01.DBF
正将数据文件00004恢复到C:/DEMO/USERS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 C:/BACKUP/DEMO_42.BAK
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = C:/BACKUP/DEMO_42.BAK 标记 = TAG20090204T164503
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:01:26
完成 restore 于 04-2月 -09
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DEMO" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'c:/demo/redo01.log' SIZE 10 M ,
GROUP 2 'c:/demo/redo02.log' SIZE 10 M ,
GROUP 3 'c:/demo/redo03.log' SIZE 10 M
DATAFILE
'C:/DEMO/SYSTEM01.DBF'
CHARACTER SET ZHS16GBK

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

释放的通道: ORA_AUX_DISK_1
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=677955651 文件名=C:/DEMO/UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=677955651 文件名=C:/DEMO/SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=677955651 文件名=C:/DEMO/USERS01.DBF

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

正在执行命令: SET until clause

启动 recover 于 04-2月 -09
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK

正在开始介质的恢复

通道 ORA_AUX_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_AUX_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=67
通道 ORA_AUX_DISK_1: 正在读取备份段 C:/BACKUP/DEMO_44.BAK
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = C:/BACKUP/DEMO_44.BAK 标记 = TAG20090204T164643
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:02
存档日志文件名 =C:/DEMO/ARCHIVE/CB5C0541_674493001_00067_001_0.ARC 线程 =1 序列
=67
通道 clone_default: 正在删除存档日志
存档日志文件名 =C:/DEMO/ARCHIVE/CB5C0541_674493001_00067_001_0.ARC 记录 ID=1 时
间戳 =677955655
介质恢复完成, 用时: 00:00:03
完成 recover 于 04-2月 -09

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

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

已连接到辅助数据库 (未启动)
Oracle 实例已启动

系统全局区域总计 603979776 字节

Fixed Size 1250380 字节
Variable Size 260049844 字节
Database Buffers 335544320 字节
Redo Buffers 7135232 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DEMO" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'c:/demo/redo01.log' SIZE 10 M ,
GROUP 2 'c:/demo/redo02.log' SIZE 10 M ,
GROUP 3 'c:/demo/redo03.log' SIZE 10 M
DATAFILE
'C:/DEMO/SYSTEM01.DBF'
CHARACTER SET ZHS16GBK

内存脚本的内容:
{
set newname for tempfile 1 to
"c:/demo/temp01.dbf";
switch clone tempfile all;
catalog clone datafilecopy "C:/DEMO/UNDOTBS01.DBF";
catalog clone datafilecopy "C:/DEMO/SYSAUX01.DBF";
catalog clone datafilecopy "C:/DEMO/USERS01.DBF";
switch clone datafile all;
}
正在执行内存脚本

正在执行命令: SET NEWNAME

临时文件 1 在控制文件中已重命名为 c:/demo/temp01.dbf

已将数据文件副本列入目录
数据文件副本 filename=C:/DEMO/UNDOTBS01.DBF recid=1 stamp=677955670

已将数据文件副本列入目录
数据文件副本 filename=C:/DEMO/SYSAUX01.DBF recid=2 stamp=677955671

已将数据文件副本列入目录
数据文件副本 filename=C:/DEMO/USERS01.DBF recid=3 stamp=677955671

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=677955670 文件名=C:/DEMO/UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=677955671 文件名=C:/DEMO/SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=677955671 文件名=C:/DEMO/USERS01.DBF

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

数据库已打开
完成 Duplicate Db 于 04-2月 -09
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: