※ 컨트롤 파일 재생성

어느 DB던지 상관없이 MOUNT이상 올라간(control file 사용하는) 상태에서
SQL> alter database backup controlfile to trace as '/data/temp/re.sql';



$ vi /data/temp/re.sql

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TESTDB" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 (
    '/data/temp/redo01.log'
  ) SIZE 50M,
  GROUP 2 (
    '/data/temp/redo02.log'
  ) SIZE 50M,
  GROUP 3 (
    '/data/temp/redo03.log'
  ) SIZE 50M
DATAFILE
  '/data/temp/system01.dbf',
  '/data/temp/undotbs01.dbf',
  '/data/temp/sysaux01.dbf',
  '/data/temp/users01.dbf',
  '/data/temp/ts_new01.dbf',
  '/data/temp/ts_new02.dbf'
CHARACTER SET KO16MSWIN949


▶ DB이름, LOGFILE의 경로, DATAFILE의 경로나 내용은
    본인의 환경이나 상황에 맞게 편집해서 사용하면 된다.




※ 활용 특이사항
1. NORESETLOGS로 재생성 하려면
2번째줄 
CREATE CONTROLFILE REUSE DATABASE "TESTDB" RESETLOGS  ARCHIVELOG
진한 부분을 

CREATE CONTROLFILE REUSE DATABASE "TESTDB" NORESETLOGS  ARCHIVELOG


로 하면 된다.



2. CloneDB 생성할 경우
2번재 줄 
CREATE CONTROLFILE REUSE DATABASE "TESTDB" RESETLOGS  ARCHIVELOG
진한부분을

CREATE CONTROLFILE SET DATABASE "newDB" RESETLOGS  ARCHIVELOG


로 하면된다.
newDB부분은 임의의 새로운 디비 이름을 파라메터파일의 이름(db_name=newDB) 과 같게 설정해 주면 된다.


Posted by 딩구르
,