파일 및 redo log 손상 복구 제어 정보

19727 단어 redo
얼마 전 친구의 컴퓨터에서 개발 테스트용 데이터베이스에 문제가 생겼습니다. 컴퓨터 운영체제는 윈8입니다. 윈8에 Oracle11g을 직접 설치한 후에 시스템은 자동으로 윈8로 업그레이드되었습니다.1, Oracle 관련 서비스가 모두 사라졌습니다. 데이터 파일, 파라미터 근거 파일, 제어 파일, Redo log를 백업하고 다시 설치하려고 했지만 제어 파일을 복사할 때 복사할 수 없었습니다. 결국 백업 제어 파일을 포기하고 설치한 후에 제어 파일을 다시 만들려고 했습니다.데이터 파일과 Redo log가 모두 완전하기 때문에 재구성 제어 파일도 순조롭다.
이로써 설 전에 서버 한 대가 단전으로 인해 제어 파일과 Redo log가 손상되었다는 것을 생각했다. 당시 백업 파일로 데이터베이스를 복구했다. 지금은 제어 파일을 재구성하는 방식으로 복구할 수 있는지 생각해 보고 테스트기를 찾아 테스트를 했다. 조작 절차는 다음과 같다.
 
[[email protected]:/u02/oradata/dba]$ ll

total 2336140

-rw-r----- 1 oracle oinstall   9748480 Mar 31 09:21 control01.ctl

-rw-r----- 1 oracle oinstall   9748480 Mar 31 09:21 control02.ctl

-rw-r----- 1 oracle oinstall   9748480 Mar 31 09:21 control03.ctl

-rw-r----- 1 oracle oinstall 104865792 Mar 31 09:21 example01.dbf

-rw-r----- 1 oracle oinstall  52429312 Mar 31 09:21 redo01.log

-rw-r----- 1 oracle oinstall  52429312 Mar 31 09:21 redo02.log

-rw-r----- 1 oracle oinstall  52429312 Mar 31 09:21 redo03.log

-rw-r----- 1 oracle oinstall 629153792 Mar 31 09:21 sysaux01.dbf

-rw-r----- 1 oracle oinstall 754982912 Mar 31 09:21 system01.dbf

-rw-r----- 1 oracle oinstall  88088576 Mar 30 16:56 temp01.dbf

-rw-r----- 1 oracle oinstall 676339712 Mar 31 09:21 undotbs01.dbf

-rw-r----- 1 oracle oinstall   5251072 Mar 31 09:21 users01.dbf

[[email protected]:/u02/oradata/dba]$ rm *.ctl 

[[email protected]:/u02/oradata/dba]$ rm *.log

[[email protected]:/u02/oradata/dba]$ ll

total 2153968

-rw-r----- 1 oracle oinstall 104865792 Mar 31 09:21 example01.dbf

-rw-r----- 1 oracle oinstall 629153792 Mar 31 09:21 sysaux01.dbf

-rw-r----- 1 oracle oinstall 754982912 Mar 31 09:21 system01.dbf

-rw-r----- 1 oracle oinstall  88088576 Mar 30 16:56 temp01.dbf

-rw-r----- 1 oracle oinstall 676339712 Mar 31 09:21 undotbs01.dbf

-rw-r----- 1 oracle oinstall   5251072 Mar 31 09:21 users01.dbf

[[email protected]:/u02/oradata/dba]$ sqlplus / as sysdba



SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 31 09:22:07 2015



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



Connected to an idle instance.



SQL> startup nomount

ORACLE instance started.



Total System Global Area 8551575552 bytes

Fixed Size                  2245480 bytes

Variable Size             939527320 bytes

Database Buffers         7600078848 bytes

Redo Buffers                9723904 bytes

SQL> CREATE CONTROLFILE REUSE DATABASE "DBA" RESETLOGS  NOARCHIVELOG

  2      MAXLOGFILES 16

  3      MAXLOGMEMBERS 3

  4      MAXDATAFILES 100

  5      MAXINSTANCES 8

  6      MAXLOGHISTORY 10

  7  LOGFILE

  8    GROUP 1 '/u02/oradata/dba/redo01.log'  SIZE 50M,

  9    GROUP 2 '/u02/oradata/dba/redo02.log'  SIZE 50M,

 10    GROUP 3 '/u02/oradata/dba/redo03.log'  SIZE 50M

 11  -- STANDBY LOGFILE

 12  DATAFILE

 13    '/u02/oradata/dba/system01.dbf',

 14    '/u02/oradata/dba/undotbs01.dbf',

 15    '/u02/oradata/dba/sysaux01.dbf',

 16    '/u02/oradata/dba/users01.dbf',

 17    '/u02/oradata/dba/example01.dbf'

 18  CHARACTER SET ZHS16GBK

 19  ;



Control file created.



SQL> recover database using backup controlfile until cancel;

ORA-00279: change 2078375 generated at 03/31/2015 09:21:31 needed for thread 1

ORA-00289: suggestion : /u03/arch_log/1_1_875784077.dbf

ORA-00280: change 2078375 for thread 1 is in sequence #1





Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

auto

ORA-00308: cannot open archived log '/u03/arch_log/1_1_875784077.dbf'

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3





ORA-00308: cannot open archived log '/u03/arch_log/1_1_875784077.dbf'

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3





SQL> alter database open resetlogs;



Database altered.



SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[[email protected]:/u02/oradata/dba]$ ll

total 2336140

-rw-r----- 1 oracle oinstall   9748480 Mar 31 09:28 control01.ctl

-rw-r----- 1 oracle oinstall   9748480 Mar 31 09:28 control02.ctl

-rw-r----- 1 oracle oinstall   9748480 Mar 31 09:28 control03.ctl

-rw-r----- 1 oracle oinstall 104865792 Mar 31 09:24 example01.dbf

-rw-r----- 1 oracle oinstall  52429312 Mar 31 09:27 redo01.log

-rw-r----- 1 oracle oinstall  52429312 Mar 31 09:24 redo02.log

-rw-r----- 1 oracle oinstall  52429312 Mar 31 09:24 redo03.log

-rw-r----- 1 oracle oinstall 629153792 Mar 31 09:24 sysaux01.dbf

-rw-r----- 1 oracle oinstall 754982912 Mar 31 09:24 system01.dbf

-rw-r----- 1 oracle oinstall  88088576 Mar 30 16:56 temp01.dbf

-rw-r----- 1 oracle oinstall 676339712 Mar 31 09:24 undotbs01.dbf

-rw-r----- 1 oracle oinstall   5251072 Mar 31 09:24 users01.dbf

[[email protected]:/u02/oradata/dba]$ 

좋은 웹페이지 즐겨찾기