No. 10069
CONTROL FILE 재생성하는 방법
============================
ORACLE SERVER MANAGER의 경우 V7.2 이하에서는 SQLDBA가, V7.3 이상에서는
SVRMGR이 사용되며 본 내용에서는 SVRMGR을 사용함을 알려드립니다.
다음 자료를 참조해서 control file을 작성하시면 되겠습니다.
CONTROL FILE은 다음과 같은 경우에 다시 생성한다.
. CONTROL FILE이 손상되었는데, 이용 가능한 BACKUP FILE이 없을 경우
. 데이타베이스 이름을 변경할 경우
. DATA FILE, LOG FILE의 MAX 갯수를 확장할 때
CONTROL FILE을 다시 생성하는 경우 ONLINE REDO LOG FILE 및 DATA FILE이
손상될 경우가 있으므로, CONTROL FILE을 생성하기 전에 모든 데이타베이스의
FULL BACKUP을 실행한다.
CONTROL FILE을 재생성하기 위해서는 DATABASE에 관계되는 모든 FILE NAME을
알아야 한다. 다음 SQL 문을 DB 구조가 변경될 때 즉 DATA FILE을 추가하거나
DROP할 때 실행하여 DATA FILE과 LOG FILE 이름을 항상 알아둔다.
SVRMGR > SELECT * FROM V$DBFILE;
FILE# NAME
----- ------------------------------
1 /usr/oracle/dbs/systORA7.dbf
2 /usr/oracle/dbs/rbsORA7.dbf
3 /usr/oracle/dbs/tempORA7.dbf
4 /usr/oracle/dbs/userORA7.dbf
SVRMGR > SELECT * FROM V$LOGFILE
GROUP# STATUS MEMBER
------ ------ ------
1 /usr/oracle/dbs/log1ORA7.dbf
2 /usr/oracle/dbs/log2ORA7.dbf
CONTROL FILE 생성 절차
----------------------
1. DATABASE를 SHUTDOWN한다.
SVRMGR > SHUTDOWN;
2. DB를 내린 상태에서 모든 DATABASE FILE을 BACKUP 받는다.
(DATA FILE, ONLINE REDO LOG FILE)
3. 인스턴스를 START한다.
SVRMGR > STARTUP NOMOUNT
4. CONTROL FILE을 생성한다.
SVRMGR > CREATE CONTROLFILE [REUSE]
[SET] DATABASE ORA7
LOGFILE '/usr/oracle/dbs/log1ORA7.dbf',
'/usr/oracle/dbs/log2ORA7.dbf',
'/usr/oracle/dbs/log3ORA7.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/configORA7.ora ( ORACLE 7의 경우) 화일 내의
CONTROL_FILES 파라미터에 새로 생성된 CONTROL FILE을 추가한다.
CONTROL_FILES = (/usr/oracle/dbs/ctrl1ORA7.ctl,
/usr/oracle/dbs/ctrl2ORA7.ctl)
6. 데이타베이스를 MOUNT, RECOVER, OPEN한다.
SVRMGR > SHUTDOWN
SVRMGR > STARTUP MOUNT
[ NORESETLOGS ] OPTION을 사용한 경우
SVRMGR > RECOVER DATABASE
Media recovery complete.
SVRMGR > ALTER DATABASE OPEN;
[ RESETLOGS ] OPTION을 사용한 경우
SVRMGR > RECOVER DATABASE
USING BACKUP CONTROLFILE
UNTIL CANCEL;
incomplete cancel-based recovery를 실행한다.
SVRMGR > ALTER DATABASE OPEN RESETLOGS;
Statement processed
'DATABASE > ORACLE' 카테고리의 다른 글
[SQL] NEW FEATURE:AUTOTRACE IN SQL*PLUS 3.3 (0) | 2012.07.11 |
---|---|
간단한 EXPORT & IMPORT 사용 방법 (0) | 2012.07.11 |
CONTROL FILE 에 존재하는 RECOVERY 관련 정보 (0) | 2012.07.11 |
OS 명령으로 DATAFILE을 삭제한 경우 : ORA-1157, ORA-1110 (0) | 2012.07.11 |
BACKUP AND RECOVERY USING RMAN (0) | 2012.07.11 |