2017-10-11 10 views
0

sqlplus를 사용하여 제어 파일을 생성하는 데 도움이 필요합니다. 나는 제어 파일을 만들 다음 명령을 사용하여, 나는 SPFILE, 종료 데이터베이스 시작 NOMOUNT을 변경, 다음 단계를 사용했지만 실패했습니다 :SQLPLUS oracle을 사용하여 제어 파일 생성

create controlfile 
set database orcl 
logfile controlnew1 
('\oracle\oradata\orcl\controlnew1.log’, 
'\oracle\oradata\orcl\controlnew1.log’) 
resetlogs; 

내 사양은 위치 CONTROL01에서 contronew1 및 controlnew2라는 이름의 2 개의 새로운 controlfiles를 만드는 것입니다. 오라클 설명서에서 관련 문서를 발견했지만 비정상적으로 이해할 수 없습니다. 이 문제를 해결할 수있는 도움을 주신다면 고맙겠습니다.

답변

1

이것은 DBA 스택 교환에 포함되어야하지만 어떻게해야하는지 잘 모르겠습니다.

난 당신이 내가이 복사 할 기존 제어 파일이없는 것을 의미 가정 controlfiles을 만드는 경우 Creating Control Files

에 대한 오라클의 12C 문서를 읽어 보시기 바랍니다 것입니다. 제어 파일 복사는 새로운 제어 파일을 작성하는 것보다 훨씬 간단합니다. 제어 파일의 모든 기존 사본이 없거나 제어 파일 구성 또는 데이터베이스 이름을 수정하는 경우에만 새 제어 파일을 작성해야합니다.

당신은 당신이 할 수있는 복사 할 기존 제어 파일이없는 경우 :

  • 데이터베이스를 종료합니다.
  • 운영 체제 명령을 사용하여 기존 제어 파일을 새 위치로 복사하십시오.
  • 데이터베이스 초기화 매개 변수 파일에서 CONTROL_FILES 매개 변수를 편집하여 새 제어 파일 이름을 추가하거나 기존 제어 파일 이름을 변경하십시오.
  • 데이터베이스를 다시 시작하십시오.

기존 제어 파일이있는 경우 sqlplus의 추적 파일에 기록 할 수 있습니다 (diagnostic_dest로 이동해야 함). 이는 제어 파일을 작성하거나 복사하는 데 필요하지는 않지만 도움이 될 수 있습니다.

ALTER DATABASE BACKUP CONTROLFILE TO TRACE; 

기존 제어 파일을 복사 할 수 없습니다 여기 새로 만들어야하는 경우 로그 파일 절, REDO 로그를하지를 지정하는 데 사용됩니다

  • 당신의 CREATE CONTROLFILE 명령에 대한 몇 가지주의 사항이 있습니다 새로운 제어 파일.
  • 당신은 당신은 어떤 데이터 파일

이없는 로그 파일 controlnew1

  • 에 같은 파일 이름이 다음 CONTROLFILE을 만들 오라클의 예입니다. 새 제어 파일을 작성하는 첫 번째 단계는 데이터베이스의 모든 데이터 파일 및 다시 실행 로그 파일의 목록을 작성하는 것입니다. 리두 로그 파일은 LOGFILE 섹션에 저장되고 데이터 파일은 DATAFILE 섹션에 저장됩니다.

    CREATE CONTROLFILE 
    SET DATABASE orcl 
    LOGFILE GROUP 1 ('/u01/oracle/prod/redo01_01.log', 
           '/u01/oracle/prod/redo01_02.log'), 
         GROUP 2 ('/u01/oracle/prod/redo02_01.log', 
           '/u01/oracle/prod/redo02_02.log') 
    RESETLOGS 
    DATAFILE '/u01/oracle/prod/system01.dbf' SIZE 3M, 
         '/u01/oracle/prod/rbs01.dbs' SIZE 5M, 
         '/u01/oracle/prod/users01.dbs' SIZE 5M, 
         '/u01/oracle/prod/temp01.dbs' SIZE 5M 
    MAXLOGFILES 50 
    MAXLOGMEMBERS 3 
    MAXLOGHISTORY 400 
    MAXDATAFILES 200 
    MAXINSTANCES 6 
    ARCHIVELOG; 
    

    파일을 만든 후에는 CONTROL_FILES init 매개 변수를 편집하고 데이터베이스를 열어야합니다. 데이터베이스의 상태에 따라 당신을 열기 전에 추가 복구를 수행해야 할 수 있습니다 및 제어 파일은 RESETLOGS를 사용한 경우

    ALTER DATABASE OPEN RESETLOGS; 
    

    을 사용해야 할 수도 있습니다.