原库   目标库
操作系统 CentOS 6.4 CentOS 6.4
主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02
IP 172.16.101.55 172.16.101.56
数据库版本 11.2.0.4.0 11.2.0.4.0
$ORACLE_BASE /u01/app/oracle /u01/app/oracle
$ORACLE_HOME /u01/app/oracle/product/11.2.0/db_1 /u01/app/oracle/product/11.2.0/db_1
数据库名 userdata   userdata

本次以原库全新安装后为例说明利用RMAN做异机恢复,原库和目标库路径一致,目标库仅需安装数据库软件即可,安装过程详见我的另一篇博客http://www.cnblogs.com/ilifeilong/p/7041676.html

1. 原库开启归档模式

  1. SYS@userdata>archive log list;
  2. Database log mode   No Archive Mode
  3. Automatic archival  Disabled
  4. Archive destination USE_DB_RECOVERY_FILE_DEST
  5. Oldest online log sequence 1
  6. Current log sequence 3
  7.  
  8. SYS@userdata>shutdown immediate;
  9. Database closed.
  10. Database dismounted.
  11. ORACLE instance shut down.
  12.  
  13. SYS@userdata>startup mount;
  14. ORACLE instance started.
  15.  
  16. Total System Global Area 1837244416 bytes
  17. Fixed Size 2254224 bytes
  18. Variable Size 637536880 bytes
  19. Database Buffers 1191182336 bytes
  20. Redo Buffers 6270976 bytes
  21. Database mounted.
  22.  
  23. SYS@userdata>alter database archivelog;
  24.  
  25. Database altered.
  26.  
  27. SYS@userdata>alter database open;
  28.  
  29. Database altered.
  30.  
  31. SYS@userdata>archive log list;
  32. Database log mode Archive Mode
  33. Automatic archival Enabled
  34. Archive destination USE_DB_RECOVERY_FILE_DEST
  35. Oldest online log sequence 1
  36. Next log sequence to archive 3
  37. Current log sequence 3

2. 用RMAN对原库进行备份

  1. $ mkdir /home/oracle/backupset
  2. $ rman target /
  3.  
  4. Recovery Manager: Release 11.2.0.4.0 - Production on Thu Aug 10 20:00:02 2017
  5.  
  6. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
  7.  
  8. connected to target database: USERDATA (DBID=3894924926)
  9.  
  10. RMAN> run {
  11. allocate channel ch1 device type disk;
  12. allocate channel ch2 device type disk;
  13. sql 'alter system archive log current';
  14. backup database format '/home/oracle/backupset/data_%U.bak';
  15. backup archivelog all format '/home/oracle/backupset/arch_%U.bak';
  16. backup current controlfile format '/home/oracle/backupset/ctl_%U.bak';
  17. release channel ch1;
  18. release channel ch2;
  19. }
  20.  
  21. using target database control file instead of recovery catalog
  22. allocated channel: ch1
  23. channel ch1: SID=479 device type=DISK
  24.  
  25. allocated channel: ch2
  26. channel ch2: SID=20 device type=DISK
  27.  
  28. sql statement: alter system archive log current
  29.  
  30. Starting backup at 2017-08-10 20:05:18
  31. channel ch1: starting full datafile backup set
  32. channel ch1: specifying datafile(s) in backup set
  33. input datafile file number=00001 name=/u01/app/oracle/oradata/userdata/system01.dbf
  34. input datafile file number=00004 name=/u01/app/oracle/oradata/userdata/users01.dbf
  35. channel ch1: starting piece 1 at 2017-08-10 20:05:18
  36. channel ch2: starting full datafile backup set
  37. channel ch2: specifying datafile(s) in backup set
  38. input datafile file number=00002 name=/u01/app/oracle/oradata/userdata/sysaux01.dbf
  39. input datafile file number=00003 name=/u01/app/oracle/oradata/userdata/undotbs01.dbf
  40. channel ch2: starting piece 1 at 2017-08-10 20:05:18
  41. channel ch2: finished piece 1 at 2017-08-10 20:05:33
  42. piece handle=/home/oracle/backupset/data_02sbj0ru_1_1.bak tag=TAG20170810T200518 comment=NONE
  43. channel ch2: backup set complete, elapsed time: 00:00:15
  44. channel ch2: starting full datafile backup set
  45. channel ch2: specifying datafile(s) in backup set
  46. including current control file in backup set
  47. channel ch2: starting piece 1 at 2017-08-10 20:05:35
  48. channel ch2: finished piece 1 at 2017-08-10 20:05:36
  49. piece handle=/home/oracle/backupset/data_03sbj0se_1_1.bak tag=TAG20170810T200518 comment=NONE
  50. channel ch2: backup set complete, elapsed time: 00:00:01
  51. channel ch2: starting full datafile backup set
  52. channel ch2: specifying datafile(s) in backup set
  53. including current SPFILE in backup set
  54. channel ch2: starting piece 1 at 2017-08-10 20:05:36
  55. channel ch1: finished piece 1 at 2017-08-10 20:05:37
  56. piece handle=/home/oracle/backupset/data_01sbj0ru_1_1.bak tag=TAG20170810T200518 comment=NONE
  57. channel ch1: backup set complete, elapsed time: 00:00:19
  58. channel ch2: finished piece 1 at 2017-08-10 20:05:37
  59. piece handle=/home/oracle/backupset/data_04sbj0sg_1_1.bak tag=TAG20170810T200518 comment=NONE
  60. channel ch2: backup set complete, elapsed time: 00:00:01
  61. Finished backup at 2017-08-10 20:05:37
  62.  
  63. Starting backup at 2017-08-10 20:05:38
  64. current log archived
  65. channel ch1: starting archived log backup set
  66. channel ch1: specifying archived log(s) in backup set
  67. input archived log thread=1 sequence=3 RECID=1 STAMP=951681918
  68. channel ch1: starting piece 1 at 2017-08-10 20:05:39
  69. channel ch2: starting archived log backup set
  70. channel ch2: specifying archived log(s) in backup set
  71. input archived log thread=1 sequence=4 RECID=2 STAMP=951681939
  72. channel ch2: starting piece 1 at 2017-08-10 20:05:39
  73. channel ch1: finished piece 1 at 2017-08-10 20:05:40
  74. piece handle=/home/oracle/backupset/arch_05sbj0sj_1_1.bak tag=TAG20170810T200539 comment=NONE
  75. channel ch1: backup set complete, elapsed time: 00:00:01
  76. channel ch2: finished piece 1 at 2017-08-10 20:05:40
  77. piece handle=/home/oracle/backupset/arch_06sbj0sj_1_1.bak tag=TAG20170810T200539 comment=NONE
  78. channel ch2: backup set complete, elapsed time: 00:00:01
  79. Finished backup at 2017-08-10 20:05:40
  80.  
  81. Starting backup at 2017-08-10 20:05:41
  82. channel ch1: starting full datafile backup set
  83. channel ch1: specifying datafile(s) in backup set
  84. including current control file in backup set
  85. channel ch1: starting piece 1 at 2017-08-10 20:05:42
  86. channel ch1: finished piece 1 at 2017-08-10 20:05:43
  87. piece handle=/home/oracle/backupset/ctl_07sbj0sl_1_1.bak tag=TAG20170810T200541 comment=NONE
  88. channel ch1: backup set complete, elapsed time: 00:00:01
  89. Finished backup at 2017-08-10 20:05:43
  90.  
  91. released channel: ch1
  92.  
  93. released channel: ch2
  94.  
  95. SYS@userdata>create pfile='/home/oracle/backupset/pfile.ora' from spfile;

3. 将备份目录拷贝到目标节点相同目录

  1. $ scp -r /home/oracle/backupset oracle@172.16.101.56:/home/oracle/
  2. pfile.ora % .0KB/s :
  3. arch_05sbj0sj_1_1.bak % 23MB .5MB/s :
  4. data_02sbj0ru_1_1.bak % 379MB .9MB/s :
  5. data_01sbj0ru_1_1.bak % 635MB .9MB/s :
  6. data_04sbj0sg_1_1.bak % 96KB .0KB/s :
  7. arch_06sbj0sj_1_1.bak % 14KB .5KB/s :
  8. ctl_07sbj0sl_1_1.bak % 11MB .7MB/s :
  9. data_03sbj0se_1_1.bak % 11MB .7MB/s :

3. 目标库安装数据库软件

略过,参考 http://www.cnblogs.com/ilifeilong/p/7041676.html

4. 创建密码文件

  1. $ scp $ORACLE_HOME/dbs/orapwuserdata oracle@sht-sgmhadoopnn-:$ORACLE_HOME/dbs/
  2. orapwuserdata % .5KB/s :

5. 还原参数文件,启动到nomount状态

  1. $ cat /home/oracle/backupset/pfile.ora
  2. userdata.__db_cache_size=
  3. userdata.__java_pool_size=
  4. userdata.__large_pool_size=
  5. userdata.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
  6. userdata.__pga_aggregate_target=
  7. userdata.__sga_target=
  8. userdata.__shared_io_pool_size=
  9. userdata.__shared_pool_size=
  10. userdata.__streams_pool_size=
  11. *.audit_file_dest='/u01/app/oracle/admin/userdata/adump'
  12. *.audit_trail='db'
  13. *.compatible='11.2.0.4.0'
  14. *.control_files='/u01/app/oracle/oradata/userdata/control01.ctl','/u01/app/oracle/fast_recovery_area/userdata/control02.ctl'
  15. *.db_block_size=
  16. *.db_domain=''
  17. *.db_name='userdata'
  18. *.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
  19. *.db_recovery_file_dest_size=
  20. *.diagnostic_dest='/u01/app/oracle'
  21. *.dispatchers='(PROTOCOL=TCP) (SERVICE=userdataXDB)'
  22. *.java_jit_enabled=FALSE
  23. *.open_cursors=
  24. *.pga_aggregate_target=
  25. *.processes=
  26. *.remote_login_passwordfile='EXCLUSIVE'
  27. *.sga_target=
  28. *.undo_tablespace='UNDOTBS1'
  29.  
  30. $ mkdir -p /u01/app/oracle/admin/userdata/adump
  31. $ mkdir -p /u01/app/oracle/oradata/userdata
  32. $ mkdir -p /u01/app/oracle/fast_recovery_area/userdata
  33.  
  34. SYS@userdata>startup nomount pfile='/home/oracle/backupset/pfile.ora';
  35. ORACLE instance started.
  36.  
  37. Total System Global Area bytes
  38. Fixed Size bytes
  39. Variable Size bytes
  40. Database Buffers bytes
  41. Redo Buffers bytes
  42.  
  43. SYS@userdata>create spfile from pfile='/home/oracle/backupset/pfile.ora';
  44.  
  45. File created.
  46.  
  47. SYS@userdata>shutdown immediate;
  48. ORA-: database not mounted
  49.  
  50. ORACLE instance shut down.
  51.  
  52. SYS@userdata>startup nomount;
  53. ORACLE instance started.
  54.  
  55. Total System Global Area bytes
  56. Fixed Size bytes
  57. Variable Size bytes
  58. Database Buffers bytes
  59. Redo Buffers bytes

6. RMAN还原控制文件,并启动到mount状态

  1. RMAN> restore controlfile from '/home/oracle/backupset/ctl_07sbj0sl_1_1.bak';
  2.  
  3. Starting restore at 2017-08-11 00:55:00
  4. using target database control file instead of recovery catalog
  5. allocated channel: ORA_DISK_1
  6. channel ORA_DISK_1: SID=10 device type=DISK
  7.  
  8. channel ORA_DISK_1: restoring control file
  9. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  10. output file name=/u01/app/oracle/oradata/userdata/control01.ctl
  11. output file name=/u01/app/oracle/fast_recovery_area/userdata/control02.ctl
  12. Finished restore at 2017-08-11 00:55:02
  13.  
  14. RMAN> alter database mount;
  15.  
  16. database mounted
  17. released channel: ORA_DISK_1

7. RMAN还原与恢复数据库

  1. RMAN> recover database;
  2.  
  3. Starting recover at 2017-08-11 00:58:34
  4. allocated channel: ORA_DISK_1
  5. channel ORA_DISK_1: SID=10 device type=DISK
  6.  
  7. starting media recovery
  8.  
  9. channel ORA_DISK_1: starting archived log restore to default destination
  10. channel ORA_DISK_1: restoring archived log
  11. archived log thread=1 sequence=4
  12. channel ORA_DISK_1: reading from backup piece /home/oracle/backupset/arch_06sbj0sj_1_1.bak
  13. channel ORA_DISK_1: piece handle=/home/oracle/backupset/arch_06sbj0sj_1_1.bak tag=TAG20170810T200539
  14. channel ORA_DISK_1: restored backup piece 1
  15. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  16. archived log file name=/u01/app/oracle/fast_recovery_area/USERDATA/archivelog/2017_08_11/o1_mf_1_4_drs45wx1_.arc thread=1 sequence=4
  17. channel default: deleting archived log(s)
  18. archived log file name=/u01/app/oracle/fast_recovery_area/USERDATA/archivelog/2017_08_11/o1_mf_1_4_drs45wx1_.arc RECID=3 STAMP=951699516
  19. unable to find archived log
  20. archived log thread=1 sequence=5
  21. RMAN-00571: ===========================================================
  22. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
  23. RMAN-00571: ===========================================================
  24. RMAN-03002: failure of recover command at 08/11/2017 00:58:38
  25. RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 5 and starting SCN of 969878
  26.  
  27. RMAN> recover database until scn 969878;
  28.  
  29. Starting recover at 2017-08-11 00:59:49
  30. using channel ORA_DISK_1
  31.  
  32. starting media recovery
  33. media recovery complete, elapsed time: 00:00:00
  34.  
  35. Finished recover at 2017-08-11 00:59:51

8. 以resetlogs方式打开数据库

  1. SYS@userdata>alter database open resetlogs;
  2.  
  3. Database altered.

9. 验证数据库数据

  1. SYS@userdata>select instance_name, status from v$instance;
  2.  
  3. INSTANCE_NAME STATUS
  4. ------------------------------------------------ ------------------------------------
  5. userdata OPEN
  6.  
  7. SYS@userdata>select dbid, open_mode from v$database;
  8.  
  9. DBID OPEN_MODE
  10. ---------- ------------------------------------------------------------
  11. 3894924926 READ WRITE
  12.  
  13. SYS@userdata>select file_name from dba_data_files;
  14.  
  15. FILE_NAME
  16. ------------------------------------------------------------
  17. /u01/app/oracle/oradata/userdata/users01.dbf
  18. /u01/app/oracle/oradata/userdata/undotbs01.dbf
  19. /u01/app/oracle/oradata/userdata/sysaux01.dbf
  20. /u01/app/oracle/oradata/userdata/system01.dbf
  21.  
  22. SYS@userdata>select member from v$logfile;
  23.  
  24. MEMBER
  25. --------------------------------------------------
  26. /u01/app/oracle/oradata/userdata/redo03.log
  27. /u01/app/oracle/oradata/userdata/redo02.log
  28. /u01/app/oracle/oradata/userdata/redo01.log
  29.  
  30. SYS@userdata>SELECT THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$LOG;
  31.  
  32. THREAD# SEQUENCE# ARCHIVED STATUS
  33. ---------- ---------- --------- ------------------------------------------------
  34. 1 1 NO CURRENT
  35. 1 0 YES UNUSED
  36. 1 0 YES UNUSED

10. 创建监听

  1. $ cat $ORACLE_HOME/network/admin/listener.ora
  2. # listener.ora Network Configuration File: /u01/app/oracle/product/11.2./db_1/network/admin/listener.ora
  3. # Generated by Oracle configuration tools.
  4.  
  5. LISTENER =
  6. (DESCRIPTION_LIST =
  7. (DESCRIPTION =
  8. (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  9. (ADDRESS = (PROTOCOL = TCP)(HOST = sht-sgmhadoopnn-)(PORT = ))
  10. )
  11. )
  12.  
  13. ADR_BASE_LISTENER = /u01/app/oracle
  14.  
  15. $ lsnrctl start
  16.  
  17. LSNRCTL for Linux: Version 11.2.0.4. - Production on -AUG- ::
  18.  
  19. Copyright (c) , , Oracle. All rights reserved.
  20.  
  21. Starting /u01/app/oracle/product/11.2./db_1/bin/tnslsnr: please wait...
  22.  
  23. TNSLSNR for Linux: Version 11.2.0.4. - Production
  24. System parameter file is /u01/app/oracle/product/11.2./db_1/network/admin/listener.ora
  25. Log messages written to /u01/app/oracle/diag/tnslsnr/sht-sgmhadoopnn-/listener/alert/log.xml
  26. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  27. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sht-sgmhadoopnn-)(PORT=)))
  28.  
  29. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
  30. STATUS of the LISTENER
  31. ------------------------
  32. Alias LISTENER
  33. Version TNSLSNR for Linux: Version 11.2.0.4. - Production
  34. Start Date -AUG- ::
  35. Uptime days hr. min. sec
  36. Trace Level off
  37. Security ON: Local OS Authentication
  38. SNMP OFF
  39. Listener Parameter File /u01/app/oracle/product/11.2./db_1/network/admin/listener.ora
  40. Listener Log File /u01/app/oracle/diag/tnslsnr/sht-sgmhadoopnn-/listener/alert/log.xml
  41. Listening Endpoints Summary...
  42. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  43. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sht-sgmhadoopnn-)(PORT=)))
  44. The listener supports no services
  45. The command completed successfully
  46.  
  47. $ sqlplus system/
  48.  
  49. SQL*Plus: Release 11.2.0.4. Production on Fri Aug ::
  50.  
  51. Copyright (c) , , Oracle. All rights reserved.
  52.  
  53. Connected to:
  54. Oracle Database 11g Enterprise Edition Release 11.2.0.4. - 64bit Production
  55. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  56.  
  57. SYSTEM@userdata>

Oracle 11g 异机恢复参考文档的更多相关文章

  1. oracle rman异机恢复

      Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...

  2. Oracle RMAN 异机恢复一例

    背景介绍:本例需求是将NBU备份的oracle数据库恢复到另一主机上. NBU环境配置.异机上的Oracle软件安装配置忽略,下面只介绍OracleDB恢复的过程. ----------------- ...

  3. Oracle 数据库异机恢复(归档模式)

    操作必须在服务器上进行(在192.168.12.71上执行) 0.按需要恢复的日期,把距恢复日期最近的全部备份和全部备份日期后的日志备份一同拷贝到需要恢复的机器上: 1.用RMAN登陆 C:\User ...

  4. 【RMAN】RMAN跨版本恢复(下)--大版本异机恢复

    [RMAN]RMAN跨版本恢复(下)--大版本异机恢复 BLOG文档结构图 ORACLE_SID=ORA1024G 关于10g的跨小版本恢复参考:http://blog.chinaunix.net/u ...

  5. oracle异机恢复测试

    (一)问题背景 最近在生产环境中,开发人员误操作,使用truncate将oracle数据库某个表的数据全部删除了,在删除之后,开发人员发现自己闯祸了,于是联系值班的DBA进行紧急数据恢复. 经过分析, ...

  6. Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复

    本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...

  7. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

  8. 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog

    最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...

  9. 使用NBU进行oracle异机恢复

    windows平台的异机恢复,目录不同 1.异机环境准备安装oracle介质安装nbu客户端在异机主机的host文件中添加nbu server主机和原主机信息 2.恢复spfile文件 C:\> ...

随机推荐

  1. Python 爬取 猫眼 top100 电影例子

    一个Python 爬取猫眼top100的小栗子 import json import requests import re from multiprocessing import Pool #//进程 ...

  2. 通用程序返回结果类 ApplicationResult.cs

    using System.Collections.Generic; using System.Linq; namespace System { /// <summary> /// 表示应用 ...

  3. P1330 封锁阳光大学

    传送门 思路: 依题意可知,在图中的每一条边有且只有一个点被选中(阻止老曹刷街),那么就可以对其采取二分图染色,一条边中:一个点为黑色,另一个点为白色:如果一条边中的两个端点的颜色相同,则说明无解,输 ...

  4. Django中ORM系统多表数据操作

    一,多表操作之增删改查 1.在seting.py文件中配置数据库连接信息 2.创建数据库关联关系models.py from django.db import models # Create your ...

  5. JDBC Connection Configuration

    如果在Jmeter 中想用到连接数据库的功能,必须下载jar包,常见的关系型数据库jar包见以下共享链接 链接:https://pan.baidu.com/s/1t-k9RW141lw0j_QSw53 ...

  6. tomcat下的server.xml详解

    说明:以下内容是自己看书时从书本上整理而来,在此记录一下,方便自己日后复习(自用),如果和网上帖子有相同,请联系本博主. server.xml文件描述了如果启动Tomcat server: <S ...

  7. red hat7 系统可以ping通ip地址但是不能ping通域名

    在red hat7中ifconfig后出现这样的情况,ens33是物理网卡,与eth0一样只是不同的名字.但是只能ping通ip地址不能ping通域名. 解决方法: 在文件 /etc/resolv.c ...

  8. Python 创建和使用类

    python创建和使用类的方法如下 # class Dog(): # def __init__(self,name,age): # self.name=name # self.age=age # # ...

  9. 《剑指offer》第五十六题(数组中唯一只出现一次的数字)

    // 面试题56(二):数组中唯一只出现一次的数字 // 题目:在一个数组中除了一个数字只出现一次之外,其他数字都出现了三次.请 // 找出那个吃出现一次的数字. #include <iostr ...

  10. Codeforces 1076 E - Vasya and a Tree

    E - Vasya and a Tree 思路: dfs动态维护关于深度树状数组 返回时将当前节点的所有操作删除就能保证每次访问这个节点时只进行过根节点到当前节点这条路径上的操作 代码: #pragm ...