--------------------------------------------------------------------------------
CONTROL FILE 재생성하는 방법 Bulletin no : 10069
--------------------------------------------------------------------------------
다음 자료를 참조해서 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 이름을 항상 알아둔다.
SQLDBA > 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
SQLDBA > SELECT * FROM V$LOGFILE
GROUP# STATUS MEMBER
------ ------ ------
1 /usr/oracle/dbs/log1ORA7.dbf
2 /usr/oracle/dbs/log2ORA7.dbf
CONTROL FILE 생성 절차
1. DATABASE를 SHUTDOWN한다.
SQLDBA > SHUTDOWN;
2. 모든 DATABASE FILE을 BACKUP 받는다. (DATA FILE, ONLINE REDO LOG FILE)
3. INSTANCE를 START한다.
SQLDBA > STARTUP NOMOUNT
4. CONTROL FILE을 생성한다.
SQLDBA > 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/config.ora ( ORACLE 7의 경우) 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
Media recovery complete.
SQLDBA > ALTER DATABASE OPEN;
[ RESETLOGS ] OPTION을 사용한 경우
SQLDBA > RECOVER DATABASE
USING BACKUP CONTROLFILE
UNTIL CANCEL;
incomplete cancel-based recovery를 실행한다.
SQLDBA > ALTER DATABASE OPEN RESETLOGS;
Statement processed
![]() | ![]() ![]() | 12-27 | 1961 | |
![]() | ![]() ![]() | 12-11 | 1440 | |
53 | ![]() ![]() | 03-15 | 1197 | |
52 | ![]() ![]() | 01-31 | 1359 | |
51 | ![]() ![]() | 01-31 | 1139 | |
50 | ![]() ![]() | 01-31 | 1046 | |
49 | ![]() ![]() | 01-19 | 1359 | |
48 | ![]() ![]() | 01-11 | 1192 | |
47 | ![]() ![]() | 01-03 | 1696 | |
46 | ![]() ![]() | 12-27 | 1961 | |
45 | ![]() ![]() | 12-19 | 1462 | |
44 | ![]() ![]() | 12-14 | 1428 | |
43 | ![]() ![]() | 12-11 | 1440 | |
42 | ![]() ![]() | 12-09 | 1158 | |
41 | ![]() ![]() | 12-01 | 1354 | |
40 | ![]() ![]() | 12-01 | 1519 | |
39 | ![]() ![]() | 12-01 | 1021 |
댓글 없음:
댓글 쓰기