场景:
一个DEV告诉我生产环境下某个用户的表都看不到了,需要恢复,而此时生产库上存储自动备份的参数文件控制文件的磁盘目录文件坏块,所以导致rman备份的只有数据文件和归档日志文件,这种情况下,如何在测试服务器上利用rman恢复数据呢?google了很多资料,咨询了朋友,恢复过程如下:
?
?
?
?
前期准备工作:
事先查询好先查询下原来的数据文件路径
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oradata/stuorcl/system01.dbf
/home/oradata/stuorcl/sysaux01.dbf
/home/oradata/stuorcl/undotbs01.dbf
/home/oradata/stuorcl/users01.dbf
/home/oradata/stuorcl/stuorclk01.dbf
/home/oradata/stuorcl/plas01.dbf
/home/oradata/stuorcl/pl01.dbf
/home/oradata/stuorcl/help01.dbf
/home/oradata/stuorcl/adobelc01.dbf
/home/oradata/stuorcl/sms01.dbf
10 rows selected.
SQL>
?
?
事先获得redo日志文件路径
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/home/oradata/stuorcl/redo03.log
/home/oradata/stuorcl/redo02.log
/home/oradata/stuorcl/redo01.log
/home/oradata/stuorcl/redo_dg_01.log
/home/oradata/stuorcl/redo_dg_02.log
/home/oradata/stuorcl/redo_dg_03.log
6 rows selected.
SQL>
?
?
?
1,nomount下创建控制文件;
[root@xuelong4 ~]# su - oracle
[oracle@xuelong4 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 4 13:48:23 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
?
?
?
2,启动到nomount状态
SQL> startup nomount
ORACLE instance started.
Total System Global Area 1.1358E+10 bytes
Fixed Size 2216744 bytes
Variable Size 8589937880 bytes
Database Buffers 2751463424 bytes
Redo Buffers 13946880 bytes
SQL>
?
?
?
3,创建控制文件
CREATE CONTROLFILE REUSE set DATABASE "stuorcl" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
DATAFILE
'/home/oradata/stuorcl/system01.dbf',
'/home/oradata/stuorcl/sysaux01.dbf',
'/home/oradata/stuorcl/undotbs01.dbf',
'/home/oradata/stuorcl/users01.dbf',
'/home/oradata/stuorcl/stuorclk01.dbf',
'/home/oradata/stuorcl/plas01.dbf',
'/home/oradata/stuorcl/pl01.dbf',
'/home/oradata/stuorcl/help01.dbf',
'/home/oradata/stuorcl/adobelc01.dbf',
'/home/oradata/stuorcl/sms01.dbf'
LOGFILE
GROUP 1 ('/home/oradata/stuorcl/redo03.log') SIZE 10M,
GROUP 2 ('/home/oradata/stuorcl/redo02.log') SIZE 10M,
GROUP 3 ('/home/oradata/stuorcl/redo01.log') SIZE 10M,
GROUP 4 ('/home/oradata/stuorcl/redo_dg_01.log') SIZE 10M,
GROUP 5 ('/home/oradata/stuorcl/redo_dg_02.log') SIZE 10M,
GROUP 6 ('/home/oradata/stuorcl/redo_dg_03.log') SIZE 10M
CHARACTER SET ZHS16GBK;
?
?
?
执行过程:
SQL> CREATE CONTROLFILE REUSE set DATABASE "stuorcl" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
DATAFILE
'/home/oradata/stuorcl/system01.dbf',
'/home/oradata/stuorcl/sysaux01.dbf',
'/home/oradata/st |