[관리] Control file 재생성하기

****   CONTROLFILE 재생성

    CONTROL FILE이 손상되었으나 이용가능한 BACKUP FILE이 없을 경우

    데이타베이스 이름을 변경할 경우

    DATA FILE, LOG FILE의 MAX 개수를 확장할 때

    1. DATABASE SHUTDOWN

    2. 모든 DATABASE FILE을 BACKUP 받는다.

    3. INSTANCE를 START

    4. CONTROL FILE을 생성한다.

       SQLDBA> CREATE CONTROLFILE [REUSE]

               [SET] DATABASE ORA7

               LOGFILE ‘/usr/oracle/dbs/log1ORA7.dbf’,

                       ‘/usr/oracle/dbs/log2ORA7.dbf’

               NORESETLOGS [RESETLOGS]

               DATAFILE

                       ‘/usr/oracle/dbs/systORA7.dbf’,

                       ‘/usr/oracle/dbs/rbsORA7.dbf’,

                       ‘/usr/oracle/dbs/tempORA7.dbf’,

                       ‘/usr/oracle/dbs/userORA7.dbf’,

                       ‘/usr/oracle/dbs/dataORA7.dbf’

               MAXLOGFILES 10

               MAXDATAFILES 60;

        [REUSE] 기존에 CONTROL FILE이 존재하는 경우에 사용. 생략하면

                ?/dbs 디렉토리에 CONTROL FILE이 없어야 한다.

        [SET]   데이타베이스 이름을 변경할 때 사용

    5. ?/dbs/initORA7 혹은 ?/dbs/config.ora(ORACLE7의 경우) FILE 내의

       CONTROL_FILES PARAMETER에 새로 생성된 CONTROL FILE을 추가한다.

       CONTROL_FILES = (/usr/oracle/dbs/ctrl1ORA7.ctl,

                        /usr/oracle/dbs/ctrl2ORA7.ctl)

    6. 데이타베이스를 MOUNT, RECOVER, OPEN한다.

       SQLDBA> SHUTDOWN

       SQLDBA> STARTUP MOUNT

       [NORESETLOGS] OPTION을 사용한 경우

       SQLDBA> RECOVER DATABASE

       SQLDBA> ALTER DATABASE OPEN;

       [RESETLOGS] OPTION을 사용한 경우

       SQLDBA> RECOVER DATABASE

               USING BACKUP CONTROLFILE

               UNTIL CANCEL;

       SQLDBA> ALTER DATABASE OPEN RESETLOGS;

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.