Oracle控制文件备份恢复 noresetlogs 恢复

2014-11-24 18:36:10 · 作者: · 浏览: 0

控制文件的备份有两种格式的备份,一种是文本格式的备份另一种是二进制格式的备份


备份文本格式


SQL> alterdatabase backup controlfile to trace as '/bk/con.sql';



Databasealtered.


备份二进制格式


SQL> alterdatabase backup controlfile to trace as '/bk/con.ctl';



Databasealtered.


----加上as字句是为了自定义存储的位置


noresetlog重建控制文件SQL>!cp /etc/passwd /u01/tiger/oradata/orcl2/control01.ctl



SQL> altersystem swirch logfile;


alter systemswirch logfile


*


ERROR at line 1:


ORA-02065:illegal option for ALTER SYSTEM




SQL> altersystem switch logfile;


alter systemswitch logfile


*


ERROR at line 1:


ORA-03113:end-of-file on communication channel


SQL> conn /assysdba


Connected to anidle instance.


SQL> startup



Total SystemGlobal Area 314572800 bytes


Fixed Size 1219136 bytes


VariableSize 109053376 bytes


DatabaseBuffers 197132288 bytes


RedoBuffers 7168000 bytes


ORA-00205: errorin identifying control file, check alert log for more info


这里发现当mount的时候发现控制文件有问题,这样我们可以根据之前备份的控制文件的文本文件来恢复控制文件


CREATECONTROLFILE REUSE DATABASE "ORCL2" NORESETLOGS ARCHIVELOG


MAXLOGFILES 16


MAXLOGMEMBERS 3


MAXDATAFILES 100


MAXINSTANCES 8


MAXLOGHISTORY 292


LOGFILE


GROUP 1'/u01/tiger/oradata/orcl2/redo01.log' SIZE 50M,


GROUP 2'/u01/tiger/oradata/orcl2/redo02.log' SIZE 50M,


GROUP 3'/u01/tiger/oradata/orcl2/redo03.log' SIZE50M


DATAFILE


'/u01/tiger/oradata/orcl2/system01.dbf',


'/u01/tiger/oradata/orcl2/tiger.dbf',


'/u01/tiger/oradata/orcl2/sysaux01.dbf',


'/u01/tiger/oradata/orcl2/users01.dbf',


'/u01/tiger/oradata/orcl2/undotbs02.dbf',


'/u01/tiger/oradata/orcl2/undotbs01',


'/u01/tiger/oradata/orcl2/tiger01.dbf'


CHARACTER SETZHS16GBK


SQL> alterdatabase open;


alter databaseopen


*


ERROR at line 1:


ORA-01113: file1 needs media recovery


ORA-01110: datafile 1: '/u01/tiger/oradata/orcl2/system01.dbf'


SQL> recoverdatabase;


Media recoverycomplete.


SQL> alterdatabase open;


Databasealtered.