当前位置:  数据库>oracle

通过RMAN备份duplicate异机克隆恢复数据库

    来源: 互联网  发布时间:2017-05-26

    本文导语: 说明:本来是想做no target目标库通过目标库备份集创建dataguard测试的,发现从原理上不能实现,但它有一个非常有用的功能,可以实现快速的rman备份异机恢复。 之前通过RMAN备份异机恢复要操作很多步骤,通过rman duplicate方式来...

说明:
本来是想做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服务器上。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过javascript库JQuery实现页面跳转功能代码
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • linux下通过crond实现自动执行程序
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • 通过docker commit命令保存对docker容器的修改
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker run命令运行新的docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 通过docker ps命令检查运行中的docker镜像
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • Session id实现通过Cookie来传输方法及代码参考
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • 通过docker search命令搜索可用docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • Python3通过request.urlopen实现Web网页图片下载
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,