说明:
本来是想做no target目标库通过目标库备份集创建dataguard测试的,发现从原理上不能实现,但它有一个非常有用的功能,可以实现快速的rman备份异机恢复。
之前通过RMAN备份异机恢复要操作很多步骤,通过rman duplicate方式来实现数据库将非常快速。将为今后有整库迁移工作任务提供又一种方案。
推荐阅读:
Oracle基础教程之通过RMAN复制数据库
RMAN备份策略制定参考内容
RMAN备份学习笔记
Oracle数据库备份加密 RMAN加密
本文将记录完整过程。
一、环境介绍
1. 主数据库环境
操作系统版本 : OEL5.8 x64
数据库版本 : Oracle 11.2.0.3 x64
数据库名 : orcl
数据库SID : orcl
db_unique_name: orcl
instance_name : orcl
IP:192.168.233.200
2. 备库环境
操作系统版本 : OEL5.8 x64
数据库版本 : Oracle 11.2.0.3 x64 (只安装oracle数据库软件,no netca dbca)
数据库名 : orcl
数据库SID : orcl
db_unique_name: orcl
instance_name : orcl
IP:192.168.233.150
二、主数据库环境准备
1. 目标库环境
重新创建口令文件
# su - oracle
$ orapwd file='/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl' password=oracle entries=10 force=y
2. lisener监听文件
$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.200)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = orcl)
)
)
ADR_BASE_LISTENER = /u01/app/oracle
4. tnsname.ora
说明:ORCL是主库的服务名
$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.200)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
5. rman备份主库
创建rman备份目录
$ mkdir -p /u01/rman
连接到target准备备份
$ rman target /
恢复管理器: Release 11.2.0.3.0 - Production on 星期二 8月 20 21:22:40 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1351765128)
RMAN> backup format '/u01/rman/fulldb_%d_%U' database include current controlfile plus archivelog delete input;
启动 backup 于 20-8月 -13
当前日志已存档
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=1 设备类型=DISK
通道 ORA_DISK_1: 正在启动归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=6 RECID=1 STAMP=823986366
输入归档日志线程=1 序列=7 RECID=2 STAMP=823986369
输入归档日志线程=1 序列=8 RECID=3 STAMP=823987442
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_01ohq37j_1_1 标记=TAG20130820T212403 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在删除归档日志
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_6.arc 线程=1 序列=6
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_7.arc 线程=1 序列=7
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_8.arc 线程=1 序列=8
完成 backup 于 20-8月 -13
启动 backup 于 20-8月 -13
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=/u01/app/oracle/oradata/orcl/system01.dbf
输入数据文件: 文件号=00002 名称=/u01/app/oracle/oradata/orcl/sysaux01.dbf
输入数据文件: 文件号=00003 名称=/u01/app/oracle/oradata/orcl/undotbs01.dbf
输入数据文件: 文件号=00004 名称=/u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_02ohq37l_1_1 标记=TAG20130820T212405 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:02:13
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_03ohq3bq_1_1 标记=TAG20130820T212405 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 20-8月 -13
启动 backup 于 20-8月 -13
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=9 RECID=4 STAMP=823987583
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_04ohq3bv_1_1 标记=TAG20130820T212623 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在删除归档日志
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_9.arc 线程=1 序列=9
完成 backup 于 20-8月 -13
RMAN>
RMAN> quit
之后会将备份拷贝到150服务器上。