0   说明

  本例是基于备份数据库全库的基础上,还原参数据文件(spfile),控制文件。

1   准备

[oracle@TEST144239 /]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 12 11:58:35 2015

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

SQL> conn sys/Sina.2015@study as sysdba
Connected.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data2/orcl/recover_log/archive_log
Oldest online log sequence 22
Next log sequence to archive 24
Current log sequence 24

1.1检查数据库归档状态

[oracle@TEST144239 ~]$ rman target sys/Sina.2015@study

1.2RMAN登陆目标

2 备份数据库

  通常默认在/u01/app/oracle/fast_recovery_area/ORCL/ ,若需要特定指定备份数据存储位置时,可以创建备份数据库存储的目录。

[oracle@TEST144239 /]$ mkdir /data2/backup

2.1创建备份数据存储目录

RMAN>  backup as compressed backupset database plus archivelog;

Starting backup at 12-OCT-15
current log archived
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=12 RECID=1 STAMP=892728339
input archived log thread=1 sequence=13 RECID=2 STAMP=892736557
input archived log thread=1 sequence=14 RECID=3 STAMP=892753270
input archived log thread=1 sequence=15 RECID=4 STAMP=892768262
channel ORA_DISK_1: starting piece 1 at 12-OCT-15
channel ORA_DISK_2: starting compressed archived log backup set
channel ORA_DISK_2: specifying archived log(s) in backup set
input archived log thread=1 sequence=16 RECID=5 STAMP=892791995
input archived log thread=1 sequence=17 RECID=6 STAMP=892803633
input archived log thread=1 sequence=18 RECID=7 STAMP=892815402
input archived log thread=1 sequence=19 RECID=8 STAMP=892828012
input archived log thread=1 sequence=20 RECID=9 STAMP=892843267
channel ORA_DISK_2: starting piece 1 at 12-OCT-15
channel ORA_DISK_3: starting compressed archived log backup set
channel ORA_DISK_3: specifying archived log(s) in backup set
input archived log thread=1 sequence=21 RECID=10 STAMP=892857631
input archived log thread=1 sequence=22 RECID=11 STAMP=892882839
input archived log thread=1 sequence=23 RECID=12 STAMP=892891106
input archived log thread=1 sequence=24 RECID=13 STAMP=892900945
input archived log thread=1 sequence=25 RECID=14 STAMP=892901057
input archived log thread=1 sequence=26 RECID=15 STAMP=892901228
input archived log thread=1 sequence=27 RECID=16 STAMP=892901372
input archived log thread=1 sequence=28 RECID=17 STAMP=892901532
channel ORA_DISK_3: starting piece 1 at 12-OCT-15
channel ORA_DISK_3: finished piece 1 at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2015_10_12/o1_mf_annnn_TAG20151012T145139_c1pp3xr2_.bkp tag=TAG20151012T145139 comment=NONE
channel ORA_DISK_3: backup set complete, elapsed time: 00:00:15
channel ORA_DISK_3: starting compressed archived log backup set
channel ORA_DISK_3: specifying archived log(s) in backup set
input archived log thread=1 sequence=29 RECID=18 STAMP=892901677
input archived log thread=1 sequence=30 RECID=19 STAMP=892909146
input archived log thread=1 sequence=31 RECID=20 STAMP=892909170
input archived log thread=1 sequence=32 RECID=21 STAMP=892909211
input archived log thread=1 sequence=33 RECID=22 STAMP=892911098
channel ORA_DISK_3: starting piece 1 at 12-OCT-15
channel ORA_DISK_1: finished piece 1 at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2015_10_12/o1_mf_annnn_TAG20151012T145139_c1pp3wp6_.bkp tag=TAG20151012T145139 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:20
channel ORA_DISK_2: finished piece 1 at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2015_10_12/o1_mf_annnn_TAG20151012T145139_c1pp3ww1_.bkp tag=TAG20151012T145139 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:22
channel ORA_DISK_3: finished piece 1 at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2015_10_12/o1_mf_annnn_TAG20151012T145139_c1pp4hhj_.bkp tag=TAG20151012T145139 comment=NONE
channel ORA_DISK_3: backup set complete, elapsed time: 00:00:06
Finished backup at 12-OCT-15 Starting backup at 12-OCT-15
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/data2/orcl/system01.dbf
input datafile file number=00003 name=/data2/orcl/undotbs01.dbf
channel ORA_DISK_1: starting piece 1 at 12-OCT-15
channel ORA_DISK_2: starting compressed full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00002 name=/data2/orcl/sysaux01.dbf
input datafile file number=00004 name=/data2/orcl/users01.dbf
channel ORA_DISK_2: starting piece 1 at 12-OCT-15
channel ORA_DISK_2: finished piece 1 at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2015_10_12/o1_mf_nnndf_TAG20151012T145203_c1pp4phv_.bkp tag=TAG20151012T145203 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:55
channel ORA_DISK_1: finished piece 1 at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2015_10_12/o1_mf_nnndf_TAG20151012T145203_c1pp4o7j_.bkp tag=TAG20151012T145203 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:16
Finished backup at 12-OCT-15 Starting backup at 12-OCT-15
current log archived
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=34 RECID=23 STAMP=892911204
channel ORA_DISK_1: starting piece 1 at 12-OCT-15
channel ORA_DISK_1: finished piece 1 at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2015_10_12/o1_mf_annnn_TAG20151012T145325_c1pp76vh_.bkp tag=TAG20151012T145325 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
Finished backup at 12-OCT-15 Starting Control File and SPFILE Autobackup at 12-OCT-15
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_10_12/o1_mf_s_892911216_c1pp7o9p_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 12-OCT-15

2.2RMAN备份全库

模拟数据库崩溃,删除控制文件,此时数据库还在继续运行,可能要过一会切换日志崩溃。这里我直接重启一下数据库

[oracle@TEST144239 orcl]$ cd /data2/orcl
[oracle@TEST144239 orcl]$ ll
总用量 1666384
-rw-r----- 1 oracle oinstall 9748480 10月 12 15:15 control01.ctl
drwxr-xr-x 3 oracle oinstall 4096 10月 10 10:48 recover_log
-rw-r----- 1 oracle oinstall 52429312 10月 12 14:53 redo01.log
-rw-r----- 1 oracle oinstall 52429312 10月 12 15:08 redo02.log
-rw-r----- 1 oracle oinstall 52429312 10月 12 15:15 redo03.log
-rw-r----- 1 oracle oinstall 681582592 10月 12 15:14 sysaux01.dbf
-rw-r----- 1 oracle oinstall 754982912 10月 12 15:14 system01.dbf
-rw-r----- 1 oracle oinstall 30416896 10月 12 14:33 temp01.dbf
-rw-r----- 1 oracle oinstall 94380032 10月 12 15:15 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 10月 12 15:13 users01.dbf
[oracle@TEST144239 orcl]$ mv control01.ctl control01.ctl.bak
[oracle@TEST144239 orcl]$ ll
总用量 1666384
-rw-r----- 1 oracle oinstall 9748480 10月 12 15:15 control01.ctl.bak
drwxr-xr-x 3 oracle oinstall 4096 10月 10 10:48 recover_log
-rw-r----- 1 oracle oinstall 52429312 10月 12 14:53 redo01.log
-rw-r----- 1 oracle oinstall 52429312 10月 12 15:08 redo02.log
-rw-r----- 1 oracle oinstall 52429312 10月 12 15:15 redo03.log
-rw-r----- 1 oracle oinstall 681582592 10月 12 15:15 sysaux01.dbf
-rw-r----- 1 oracle oinstall 754982912 10月 12 15:14 system01.dbf
-rw-r----- 1 oracle oinstall 30416896 10月 12 14:33 temp01.dbf
-rw-r----- 1 oracle oinstall 94380032 10月 12 15:15 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 10月 12 15:13 users01.dbf
SQL> startup force
ORACLE instance started. Total System Global Area 1937457152 bytes
Fixed Size 2229584 bytes
Variable Size 1241516720 bytes
Database Buffers 687865856 bytes
Redo Buffers 5844992 bytes
ORA-00205: error in identifying control file, check alert log for more info

2.3试验(模拟删除控制文件)

3   还原与恢复

$ORACLE_SID查看原来的SID。这里是假设原来$ORACLE_SID没设置的情况下:
[oracle@TEST144239 ~]$ export ORACLE_SID=test
[oracle@TEST144239 ~]$ echo $ORACLE_SID
test
[oracle@TEST144239 ~]$ rman target / Recovery Manager: Release 11.2.0.3.0 - Production on Mon Oct 12 15:45:22 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> startup nomount startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/inittest.ora' starting Oracle instance without parameter file for retrieval of spfile Oracle instance started
Total System Global Area 158662656 bytes
Fixed Size 2226456 bytes
Variable Size 130025192 bytes
Database Buffers 20971520 bytes
Redo Buffers 5439488 bytes 此时查看下[oracle@TEST144239 orcl]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs/ 中产生的文件:
[oracle@TEST144239 dbs]$ ll
总用量 9540
-rw-rw---- 1 oracle oinstall 1544 10月 12 15:18 hc_orcl.dat
-rw-r--r-- 1 oracle oinstall 2851 5月 15 2009 init.ora
-rw-r----- 1 oracle oinstall 0 10月 12 15:45 lkinsttest
-rw-r----- 1 oracle oinstall 24 10月 9 11:53 lkORCL
-rw-r----- 1 oracle oinstall 1536 10月 9 12:02 orapworcl
-rw-r----- 1 oracle oinstall 9748480 10月 12 14:53 snapcf_orcl.f
-rw-r----- 1 oracle oinstall 2560 10月 12 09:18 spfileorcl.ora

3.1假定没有设置Oracle_SID,设置Oracle_SID启动一个伪实例

从数据库备份集中还原spfile

RMAN> restore spfile from '/u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_10_12/o1_mf_s_892911216_c1pp7o9p_.bkp'; 

Starting restore at 12-OCT-15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=429 device type=DISK channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_10_12/o1_mf_s_892911216_c1pp7o9p_.bkp
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 12-OCT-15 此时参数文件恢复完成,此时,在DBS目录下有一个以当前oracle_sid.ora为后缀的参数文件:
[oracle@TEST144239 dbs]$ ll
总用量 9548
-rw-rw---- 1 oracle oinstall 1544 10月 12 15:18 hc_orcl.dat
-rw-rw---- 1 oracle oinstall 1544 10月 12 15:47 hc_test.dat
-rw-r--r-- 1 oracle oinstall 2851 5月 15 2009 init.ora
-rw-r----- 1 oracle oinstall 24 10月 9 11:53 lkORCL
-rw-r----- 1 oracle oinstall 1536 10月 9 12:02 orapworcl
-rw-r----- 1 oracle oinstall 9748480 10月 12 14:53 snapcf_orcl.f
-rw-r----- 1 oracle oinstall 2560 10月 12 09:18 spfileorcl.ora
-rw-r----- 1 oracle oinstall 2560 10月 12 15:47 spfiletest.ora

3.2还原spfile

从数据库备份集中还原控制文件

停掉伪实例,还原原来的参数文件名,原来是ORACLE_SID=orcl
RMAN> shutdown immediate
Oracle instance shut down
[oracle@TEST144239 dbs]$ mv spfiletest.ora spfileorcl.ora
[oracle@TEST144239 dbs]$ ll
总用量 9544
-rw-rw---- 1 oracle oinstall 1544 10月 12 15:18 hc_orcl.dat
-rw-rw---- 1 oracle oinstall 1544 10月 12 16:08 hc_test.dat
-rw-r--r-- 1 oracle oinstall 2851 5月 15 2009 init.ora
-rw-r----- 1 oracle oinstall 24 10月 9 11:53 lkORCL
-rw-r----- 1 oracle oinstall 1536 10月 9 12:02 orapworcl
-rw-r----- 1 oracle oinstall 9748480 10月 12 14:53 snapcf_orcl.f
-rw-r----- 1 oracle oinstall 2560 10月 12 15:47 spfileorcl.ora 还原控制文件:
[oracle@TEST144239 ~]$ export ORACLE_SID=orcl
[oracle@TEST144239 ~]$ rman target / Recovery Manager: Release 11.2.0.3.0 - Production on Mon Oct 12 16:16:03 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> startup nomount Oracle instance started Total System Global Area 1937457152 bytes Fixed Size 2229584 bytes
Variable Size 1241516720 bytes
Database Buffers 687865856 bytes
Redo Buffers 5844992 bytes
RMAN> restore controlfile from '/u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_10_12/o1_mf_s_892911216_c1pp7o9p_.bkp'; Starting restore at 12-OCT-15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=63 device type=DISK channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output file name=/data2/orcl/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/orcl/control02.ctl
Finished restore at 12-OCT-15

3.3还原控制文件

RMAN> alter database mount;

database mounted

RMAN> alter database open;

3.4打开数据库

RMAN备份与恢复之参数文件与控制文件的更多相关文章

  1. 【RMAN】Oracle中如何备份控制文件?备份控制文件的方式有哪几种?

    真题1. 如何备份控制文件?备份控制文件的方式有哪几种? 答案:备份控制文件的方式有多种. ① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLF ...

  2. ORACLE体系结构一 (物理结构)- 数据文件、日志文件、控制文件和参数文件

    一.物理结构Oracle物理结构包含了数据文件.日志文件.控制文件和参数文件 1.数据文件每一个ORACLE数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数 ...

  3. 批量迁移Oracle数据文件,日志文件及控制文件

    有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求.对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移.当 ...

  4. RMAN备份之丢失数据文件及控制文件的恢复

    About Recovery with a Backup Control FileIf all copies of the current control file are lost or damag ...

  5. RMAN恢复 增加表空间后控制文件丢失

    查看目前的控制文件位置 SQL> select name from v$controlfile; NAME-------------------------------------------- ...

  6. 【Oracle】非RMAN恢复数据文件、控制文件

    实验环境:OEL 5.6 oracle 11g(11.2.0.4.0) 注意: system表空间数据文件不能在线recover,需要启动到mount状态再recover: undo表空间数据文件可以 ...

  7. oracle数据库丢失数据文件、控制文件、重做日志文件、初始化文件恢复方法

    rman  target/ list backup; 查看是否已备份,如果没有,那就不知道了 模拟故障,删除/u01/app/oracle/oradata/ORCL文件夹下的所有文件 sqlplus ...

  8. oracle之 利用 controlfile trace文件重建控制文件

    一. 11g RAC 重建控制文件 1. --"create controlfile"命令生成到追踪文件中:alter database backup controlfile to ...

  9. 【Oracle】利用trace文件重建控制文件

    重建步骤: 1.生成trace文件: alter database backup controlfile to trace; 2.找到生成的trace文件: show parameter dump u ...

随机推荐

  1. CQOI2009 BZOJ1303 中位数

    首先找出b在数列中的位置mid 用 f[i]记录mid左边从mid往左统计比m小的数与比m大的数的差值为i的个数 用g[i]记录mid右边从mid往右统计比m大的数与比m小的数的差值为i的个数 ..有 ...

  2. Rest文件上传

    文件上传时传过来一个stream 代码如下: /// <summary> /// 上传文件 /// </summary> /// <param name="fi ...

  3. 转:DateTime的灵活运用

    //2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...

  4. QQ截图取色方法

    转自:http://www.oicqzone.com/qqjiqiao/2014110920194.html ctrl+alt+a截图的时候,会显示RGB值.是的,你也许会想,但是我要的是#RRGGB ...

  5. 最大流 Dinic

    struct Dinic { struct node { int x,y,c,next; }line[MAXM]; int Lnum,_next[MAXN],dis[MAXN],dp[MAXN]; b ...

  6. C++之STL之string

    /*C 语言中字符数组一般会采用char str[]来存放,但是显得会比较麻烦,C++在stl中加入了string类型,对字符串常用的功能进行了封装,操作起来比较方便*/#include<cst ...

  7. install kinect driver for ARM---38

    原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ The video describes connecting a Microsoft Kinect to ...

  8. spark Streaming的Receiver和Direct的优化对比

    Direct 1.简化并行读取:如果要读取多个partition,不需要创建多个输入DStream然后对它们进行union操作.Spark会创建跟Kafka partition一样多的RDD part ...

  9. Java基础相关

    对老师上课内容进行总结: 1.新建一个Java项目,并命名为HelloWorld 然后再新建类,并命名为HelloWorld,注意红色画圈部分 若勾选,则新建类开头为(“//后的内容为老师所讲批注”) ...

  10. html4.0.1,h5,xhml,文档声明区别

    <!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令. 提示:请始终向 HTML 文档添加 <!DOCTYPE> ...