有2种体例,详情如下:
) [4 \/ {3 [/ ]! n 1) file $ORACLE_HOME/bin/oracle2 e2 h4 I8 L m6 b
/oracle92/app/oracle/product/9.2.0.1/bin/oracle: ELF 64bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped: F8 O- M# g+ S
2)SQL> select * from v$version;4 J$ j1 C) U7 t2 [1 k
BANNER
( f8 s& B( ] t1 r- V Oracle9i Enterprise Edition Release 9.2.0.6.0 64bit Production& ]6 P/ \. w4 P6 U/ Z
PL/SQL Release 9.2.0.6.0 Production6 k4 g, j; J. O5 K( n. B2 |
CORE 9.2.0.6.0 Production1 q1 j' p: h8 E) X1 U( z# o
TNS for Solaris: Version 9.2.0.6.0 Production* O5 z# i3 X0 o: _1 {1 F* e5 p
NLSRTL Version 9.2.0.6.0 – Production# i' U/ [- N: s" N1 U1 j/ V
XX网有非正常数据文件的情形下的数据库rman恢复
. S. Z% n* g# |( s: Q2 N 布景:
& i; `9 ~7 a1 s3 ] XX网数据库在阿联重建节制文件的时辰呈现问题,抉择使用rman的备份进行恢复,可是XX网数据库以前因为我们部门员工的误操作发生了一些非正常的数据文件,首要有以下情形:! _# A7 S0 N+ J
1. 数据文件被非正常添加,然后被在操作系统内删除: V7 ?4 r; _- r) B$ P# Z! D- [, l
2. 数据文件被非正常添加,然后因为影响双机应用被强制离线
8 {( s6 y/ p( r4 n- d, g 这样在备份的时辰会把这些文件跳过,而且rman也明晰提醒,会影响到他们相关表空间的恢复。+ H3 j/ a* F8 h* L6 h
操作法子:
2 i$ ^2 d4 e6 L. I 正常的节制文件和redolog还在,所以此时如不美观正常使用rman的restore database,系统会提醒找不到备份的时辰跳过的数据文件的备份,是以采用逐个恢复数据文件的体例:
A4 F; G5 m0 a restore datafile XXX;& \- B, \: V* z
这样恢复所有的可用数据文件。
4 ?/ h2 ?8 h# c+ K: R 然后使用rman进行recover database时,站提醒: 系统会提醒需要对跳过的数据文件进行恢复,此时无法恢复,是以使用如下法子解决:& s* y. u& g: c
1. 切换到sqlplus,进行recover database
4 _; }" r0 C- c: S5 B 2. 查看提醒需要的归档日志文件3 _: p8 L* @: o0 U# W |
3. 使用rman把需要的归档日志恢复出来,因为空间的问题,所以采用每次恢复只恢复出来100个% {9 W# G" o8 `2 j
restore archivelog from sequence 1_xxxxx.dbf to sequence 1_xxxxx.dbf;
+ Y* `; e' n* n% c$ i" c 4. 然后在sqlplus中recover database,不雅察看到快要需要下矣闽100个归档日志的时辰,再使用rman恢复下100个
6 s, F( m0 l! E! P) B5 m 5. 一向恢复到最后一个归档日志,recover会退出,可是此时还未恢复完毕,可以查看一下现有的redolog中未归档的组9 m0 ?- w) `- r; m3 {4 y
6. 在sqlplus里使用以下呼吁,并指定未归档的redolog的文件位置来恢复:1 _) d _) D/ L' f4 w- G
recover database using backup controlfile until cancel
h% |/ v$ |3 P* e; o( T% J 7. 此时恢复完成,可以使用alter database open resetlogs打开数据库。( V& \# ^/ i: b1 q/ S" T
8. 打开之后需要做的工作搜罗:1)成立恢复姑且表空间的数据文件;2)毗连到rman的catalog数据库,并reset database重置当前数据库; |