当前位置:  数据库>oracle

Oracle 10g RAC RMAN备份异机单实例恢复

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

    本文导语: 本文通过将Oracle 10g RAC RMAN的完整的备份进行异机恢复的过程,可以对在恢复的过程中可以发现备份时的一些问题。比如规档日志的冗余,控制文件与参数文件的自动备份的利用等,本示例是拿了rman的备份集进行备份的,所以在...

本文通过将Oracle 10g RAC RMAN的完整的备份进行异机恢复的过程,可以对在恢复的过程中可以发现备份时的一些问题。比如规档日志的冗余,控制文件与参数文件的自动备份的利用等,本示例是拿了rman的备份集进行备份的,所以在最后的启动数据库的过程中出现了问题,提示控制文件过旧等问题,所以备份需要经过详细高可用的设计,才能在恢复过程中降低风险。

推荐阅读:

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

一、环境说明
操作系统版本: Oracle Enterprise linux 5.8 x64
1. 源数据库服务器
Oracle版本: Oracle 10g RAC 10.2.0.5 64位
Oracle_SID: orcl

2. 目标数据库服务器
Oracle版本  : Oracle 10g 10.2.0.5 64位
Oracle_SID  : orcl
只安装了oracle软件,监听,没有dbca操作

二、源DB服务器
1. 源服务器环境说明
源服务器通过执行RAC RMAN备份。需要执行异机恢复操作。
2. 打包或拷贝rman备份目录
$ cd /u01
$ tar czvf rman_bak.tar.gz rman_bak/

三、目的服务器上做RMAN恢复准备
1. 拷贝RMAN备份的数据
# cd /u01/rman_bak/data/
# ll
-rw-r----- 1 oracle oinstall 1080751616 07-18 16:58 archlog.ORCL.level.0.0rof2j8q_1_1_20130718
-rw-r----- 1 oracle oinstall 1018279424 07-18 16:58 archlog.ORCL.level.0.0sof2j8n_1_1_20130718
-rw-r----- 1 oracle oinstall  58086912 07-18 16:58 archlog.ORCL.level.0.0tof2j9l_1_1_20130718
-rw-r----- 1 oracle oinstall  493084672 07-18 16:58 data.ORCL.level.0.0vof2j9v_1_1_20130718
-rw-r----- 1 oracle oinstall  409280512 07-18 16:58 data.ORCL.level.0.10of2j9s_1_1_20130718
-rw-r----- 1 oracle oinstall  15466496 07-18 16:58 data.ORCL.level.0.11of2jae_1_1_20130718
-rw-r----- 1 oracle oinstall      98304 07-18 16:58 spfile_12of2jah_1_1_20130718
#

2. 创建规档日志目录
su - oracle
mkdir -p /u01/archivelog

3. 创建数据库基本目录
说明: 由于rman备份的信息都是记录在controlfile中,所以目录结构应该与原数据库的一致。
mkdir -p /u01/app/oracle/admin/orcl/{adump,bdump,cdump,ddump,udump} 
mkdir -p /u01/app/oracle/oradata/orcl 
mkdir -p /u01/app/oracle/flash_recovery_area/ORCL

三、目标服务器上恢复数据
说明: 在目标服务器上创建好参数文件中定义的目录,一一在目标服务器创建完毕。
1. 启动到nomount状态
# su - oracle
$ echo 'db_name=orcl' > $ORACLE_HOME/dbs/initorcl.ora 
$ export ORACLE_SID=orcl
$ rman target / 
RMAN> startup nomount;
 
2. 通过恢复spfile文件恢复pfile文件
RMAN> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora' from '/u01/rman_bak/data/spfile_12of2jah_1_1_20130718';
Starting restore at 19-7? -13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=36 devtype=DISK
channel ORA_DISK_1: autobackup found: /u01/rman_bak/data/spfile_12of2jah_1_1_20130718
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 19-7? -13
RMAN> quit

3. 编辑pfile文件
# 修改pfile使用之适合单实例文件系统数据库
$ vi /u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora
#注释掉RAC集群的配置参数,并修改部分单实例参数。
#orcl2.__db_cache_size=822083584
#orcl1.__db_cache_size=771751936
#orcl2.__java_pool_size=16777216
#orcl1.__java_pool_size=16777216
#orcl2.__large_pool_size=16777216
#orcl1.__large_pool_size=16777216
#orcl2.__shared_pool_size=352321536
#orcl1.__shared_pool_size=402653184
#orcl2.__streams_pool_size=0
#orcl1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
#*.cluster_database_instances=2
#*.cluster_database=true
*.compatible='10.2.0.5.0'
*.control_file_record_keep_time=40
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192
#*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=21474836480
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
#orcl2.instance_number=2
#orcl1.instance_number=1
*.job_queue_processes=10
#*.log_archive_dest_1='LOCATION=+RECOVERY'
*.log_archive_dest_1='LOCATION=/u01/archivelog'
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=300
*.pga_aggregate_target=402653184
*.processes=200
#*.remote_listener='LISTENERS_ORCL'
*.remote_login_passwordfile='exclusive'
*.sessions=225
*.sga_target=1210056704
#orcl2.thread=2
#orcl1.thread=1
*.undo_management='AUTO'
#orcl2.undo_tablespace='UNDOTBS2'
#orcl1.undo_tablespace='UNDOTBS1'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'

4. 通过修改的pfile重新创建spfile文件
$ sqlplus /nolog
SQL> conn / as sysdba;
SQL> shutdown immediate;
SQL> create spfile from pfile;
# 重新通spfile参数启动
SQL> startup nomount;
SQL> quit

5. 恢复控制文件
说明1: 通过RMAN自动备份的参数与控制文件进行恢复,这个是标准恢复方式,在恢复过程中控制文件通常是比较新的。
说明2: 另一方式是没有自动备份的情况下,通过备份集中的控制文件进行恢复,最后的一个备份集中包含控制文件。
(1) 通过指定备份集恢复控制文件
$ rman target /
Recovery Manager: Release 10.2.0.5.0 - Production on ?l? 7? 19 12:58:26 2013
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
connected to target database: orcl (not mounted)
RMAN> restore controlfile from '/u01/rman_bak/data/data.ORCL.level.0.11of2jae_1_1_20130718';
Starting restore at 19-7? -13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=211 devtype=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output filename=/u01/app/oracle/oradata/orcl/control01.ctl
output filename=/u01/app/oracle/oradata/orcl/control02.ctl
output filename=/u01/app/oracle/oradata/orcl/control03.ctl
Finished restore at 19-7? -13

(2) mount数据库
RMAN>
RMAN> mount database;
database mounted
released channel: ORA_DISK_1
RMAN> quit

6. 将备份集注册进控制文件里
RMAN> catalog start with '/u01/rman_bak/data/';
searching for all files that match the pattern /u01/rman_bak/data/
List of Files Unknown to the Database
=====================================
File Name: /u01/rman_bak/data/archlog.ORCL.level.0.0rof2j8q_1_1_20130718
File Name: /u01/rman_bak/data/data.ORCL.level.0.0vof2j9v_1_1_20130718
File Name: /u01/rman_bak/data/archlog.ORCL.level.0.0sof2j8n_1_1_20130718
File Name: /u01/rman_bak/data/spfile_12of2jah_1_1_20130718
File Name: /u01/rman_bak/data/data.ORCL.level.0.11of2jae_1_1_20130718
File Name: /u01/rman_bak/data/data.ORCL.level.0.10of2j9s_1_1_20130718
File Name: /u01/rman_bak/data/archlog.ORCL.level.0.0tof2j9l_1_1_20130718
Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /u01/rman_bak/data/archlog.ORCL.level.0.0rof2j8q_1_1_20130718
File Name: /u01/rman_bak/data/data.ORCL.level.0.0vof2j9v_1_1_20130718
File Name: /u01/rman_bak/data/archlog.ORCL.level.0.0sof2j8n_1_1_20130718
File Name: /u01/rman_bak/data/spfile_12of2jah_1_1_20130718
File Name: /u01/rman_bak/data/data.ORCL.level.0.11of2jae_1_1_20130718
File Name: /u01/rman_bak/data/data.ORCL.level.0.10of2j9s_1_1_20130718
File Name: /u01/rman_bak/data/archlog.ORCL.level.0.0tof2j9l_1_1_20130718
RMAN> quit


    
 
 

您可能感兴趣的文章:

  • 如何将Aix上的oracle 物理备份 然后再在linux 系统上还原oracle
  • Oracle数据库设置任务计划备份一周的备份记录
  • Oracle数据库备份和恢复工具 RMan
  • oracle10g 数据备份与导入
  • aix下自动备份oracle 的输出日志问题,急!!
  • hp unix下备份oracle表的问题
  • linux小白提问linux备份oracle数据库的问题
  • oracle不能自动备份
  • Oracle数据库逻辑备份的SH文件
  • Linux环境中Oracle数据导入与导出备份操作
  • oracle数据库备份急???????????
  • oracle定时备份压缩的实现步骤
  • Unix系统下如何将oracle数据库备份
  • 详解如何应用改变跟踪技术加速Oracle递增备份
  • Oracle中备份表的简单sql命令语句
  • 实战Oracle数据库备份与恢复
  • Linux下实现自动备份Oracle数据库
  • oracle备份恢复的具体方法
  • 利用windows任务计划实现oracle的定期备份
  • Oracle11g备份和恢复功能的提高
  • Linux上建立第二个ORACLE实例分析
  • Linux操作系统下Oracle数据库多实例启动方式及修改内存
  • oracle的存储过程实例讲解
  • linux redhat5.6安装oracle11g在自动创建实例时停住不动,有图
  • oracle分页存储过程 oracle存储过程实例
  • C#连接Oracle数据库的实例方法
  • Oracle数据库实例两则
  • Oracle 删除归档日志实例
  • Oracle 10g for solaris准备工作和实例的删除
  • Oracle 11G 无法连接到数据库实例故障排除
  • Linux下设置Oracle 10g 服务以及实例自动启动
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle数据库恢复后心得
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • oracle drop table(表)数据恢复方法
  • oracle中误删除表后恢复语句(FLASHBACK)
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • oracle下实现恢复一个丢失的数据文件的代码
  • 详解通过Backup Exec来实施Oracle灾难恢复
  • Oracle的恢复管理器及DBMS_JOB包分析
  • Oracle数据库文件恢复以及备份思路
  • Oracle数据库备份恢复最佳实践
  • oracle如何恢复被覆盖的存储过程
  • rman恢复方案和oracle异机恢复
  • oracle数据库创建备份与恢复脚本整理
  • ORACLE 数据库RMAN备份恢复
  • 一次误操作引起的Oracle数据库大恢复
  • 操作系统 iis7站长之家
  • Oracle数据库的备份与恢复
  • Oracle数据库的备份及恢复策略研究
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


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

    ©2012-2021,