Oracle 데이터베이스 시작 (3) 데이터베이스 상태 유지 보수

8635 단어 데이터베이스
데이터베이스 시작
Oracle 데이터베이스의 시작 과정은 세 단계로 나뉘는데 그것이 바로 시작 실례, 데이터베이스 불러오기와 데이터베이스 열기이다.
  • 시작 실례는 데이터베이스 초기화 파라미터 파일에 따라 데이터베이스 실례를 만들고 SGA 메모리 영역을 분배하며 일련의 백엔드 프로세스와 서버 프로세스를 시작한다.시작 실례 단계는 데이터베이스에 접근하여 파라미터 파일을 초기화해야 하지만 제어 파일과 데이터 파일에 접근할 필요가 없기 때문에 제어 파일과 데이터 파일에 문제가 생겼을 때 이 단계에서 복구할 수 있다
  • 데이터베이스를 마운트하여 데이터베이스 파일에서 데이터베이스 이름, 데이터 파일, 로그 파일의 위치 등 정보를 얻고 데이터베이스를 열기 위해 준비하며 제어 파일이 손상되면 데이터베이스를 마운트할 수 없음
  • 데이터베이스를 열고 온라인 상태의 모든 데이터 파일을 열고 로그 파일을 다시 만듭니다. 만약에 파일 열기 오류가 발생하면 데이터베이스는 오류 정보를 되돌려주고 복구 처리를 해야 합니다
  • SQL Plus에서 데이터베이스를 시작하려면 startup 명령을 사용합니다.
    /*
     *	nomount:             
     *	mount:       、                
     *	open:       、        ,       
     *	force:               
     *	restrict:               ,              
     *	pfile:                          
     */
    startup [nomount|mount|open|force] [restrict] [pfile=filename]
    startup open
    

    데이터베이스 닫기
    Oracle 데이터베이스의 닫기 과정은 시작 과정과 상반된다. 먼저 데이터 파일을 닫고 로그 파일을 다시 만든 다음에 데이터베이스를 마운트 해제하고 제어 파일을 닫는다. 마지막으로 데이터베이스 실례를 닫고 메모리 자원을 방출하며 데이터베이스 서비스 프로세스와 백엔드 프로세스를 정지한다.
    /*
     1. normal:           ,                 。       ,Oracle                          
     2. transactional:                          ,                   ,                ,                     
     3. immediate:              ,          。                         ,       ,             ,       
     4. abort:         ,            ,        ,       。         ,             ,               
    */
    shutdown [normal|transactional|immediate|abort]
    

    데이터베이스 상태 변환 실행
    데이터베이스가 실행될 때 관리 및 유지보수 수요에 따라 데이터베이스의 운행 상태를 전환할 수 있다
  • 시작 상태 변환 데이터베이스는 시작할 때 nomount 상태에서 mount 상태로 전환할 수 있고 mount 상태는 오픈 상태로 전환할 수 있다.이러한 상태 변환은 제어 파일, 데이터 파일 또는 로그 파일을 다시 시작할 때 발생하는 문제를 복구하는 데 자주 사용된다
    startup nomount
    alter database mount;
    alter database open;
    
  • 읽기·쓰기 상태 변환 데이터베이스 시작 시 읽기 전용 상태(read only)로 설정되며, 사용자는 데이터만 조회할 수 있고, 데이터베이스 파일은 수정할 수 없으며, 다시 시작하여 읽기 및 쓰기(read write) 상태로 설정해야 수정할 수 있음
    alter database open read only;
    alter database open read write;
    
  • 제한과 비제한 상태 데이터베이스가 정상적으로 실행될 때 비제한 상태로 각종 사용자가 연결 작업을 할 수 있도록 한다. 제한 상태(restricted)로 설정되면create session과restricted session 시스템 권한이나sysdba와sysoper 시스템 권한이 있는 사용자만 데이터베이스에 연결할 수 있다.무제한 상태에서는 모든 사용자가 연결 작업을 수행할 수 있음
    alter system enable restricted session;
    alter system disable restricted session;
    
  • 침묵과 비정묵 상태 전환 데이터베이스가 침묵 상태(quiesce)일 때 DBA 사용자system만 데이터베이스에서 조회, 업데이트 등 작업을 수행할 수 있고 다른 사용자는 비정묵 상태(unquiesce)에서만 데이터베이스에서 등 관련 작업을 수행할 수 있다
    alter system quiesce restricted;
    alter system unquiesce;
    
  • 마운트와 비마운트 상태 변환 데이터베이스가 마운트 상태(suspend)에 있고 물리 파일에 대한 모든 입출력 작업 요청이 일시 정지되며 데이터베이스가 마운트 상태(resume)에서 종료되어야 실행할 수 있습니다.자동 상태와 다른 점은 DBA가 아닌 사용자의 데이터베이스 작업을 금지하지 않고 모든 사용자의 입출력 작업을 일시 중지하는 것
    alter system suspend;
    alter system resume;
    
  • 서버 초기화 매개 변수 파일 관리
    서버 초기화 파라미터 파일은 데이터베이스 실행을 지원하는 중요한 설정 파일로 데이터베이스 시작은 초기화 파라미터의 설정에 따라 SGA를 분배하고 백엔드 프로세스를 시작해야 하며 초기화 파일이 손상되면 시작할 수 없습니다
    9i 이전에 매개 변수 파일은 단지 하나였는데, 이것은 텍스트 형식으로 pfile이라고 불렸고, 9i 및 이후 버전에는 서버 매개 변수 파일이 추가되었는데, spfile이라고 불렸는데, 이것은 이진 형식이다.이 두 가지 파라미터 파일은oracle에서 읽을 수 있도록 파라미터 설정을 저장하는 데 사용되지만, 다른 점도 있다
    SPFILE은 로컬 또는 원격 부팅 데이터베이스와 상관없이 서버에서 저장되는 바이너리 파일로, 초기화 매개 변수에 대한 수정 사항은 영구적으로 파일에 저장할 수 있습니다.
  • 초기화 파라미터 파일 만들기create spfile 명령을 사용하여 텍스트 초기화 파라미터 파일이나 메모리의 현재 파라미터 설정 상황에 따라 서버 초기화 파라미터 만들기
    /*
     *	spfile                           ,                     
     *	pfile                       ,                       pfile     
     *	memory                           
    /*
    create spfile [='spfile_name'] from pfile [='pfile_name']|memory
    create spfile='D:\initorcl_1.ora' from pfile;
    carete spfile='D:\initorcl_2.ora' from memory;
    
  • 수정 초기화 매개 변수는 Oracle 데이터베이스에 수백 개의 초기화 매개 변수를 포함하고 데이터베이스 속성, 파일 속성과 SGA 메모리 설정 등 여러 종류와 관련된다.SQL Plus에서 사용자는 show parameter 명령을 통해 현재 사용자 세션에 사용되는 매개 변수 설정 상황을 볼 수 있고, show spparameter 명령을 통해 서버 초기화 매개 변수 파일의 모든 매개 변수 설정 상황을 볼 수 있으며, 사용자가 데이터베이스에서 사용하는 과정에서 필요에 따라alter session이나alter 시스템 문장을 사용하여 초기화 매개 변수를 수정할 수 있다.그 중에서altersession을 사용하여 수정한 매개 변수는 현재 세션에만 유효하다. 즉, 세션급 매개 변수에 대한 수정이고,altersystem 문장에서 수정한 매개 변수는 현재 실례의 모든 세션에 유효하다. 즉, 실례급 매개 변수에 대한 수정
    //                v$parameter   isses_modifiable     true       ,                 
    alter session set parameter_name=paramter_value
    //                   ,   alter system                   ,                   
    //                    ,   alter system                           ,      
    //Oracle                     ,                                     ,             
    alter system set parameter_name=parameter_value [scope=spfile|memory|both]
    //  scope=spfile  ,             ,                  
    alter system set open_cursors=400 scope=spfile;
    //  scope=memory  ,             ,                 ,                
    alter system set open_cursors=400 scope=memory;
    //  scope=both  ,         ,                ,                 ,          
    alter system set open_cursors=300 scope=both;
    
  • 서버 초기화 매개변수 파일 내보내기
    서버 초기화 파라미터 파일을 백업하거나 현재 모든 서버 초기화 파라미터의 설정 상황을 볼 때 서버 초기화 파라미터 파일을 텍스트 초기화 파라미터 파일로 내보내는 것을 고려할 수 있습니다
    //pfile_name                        
    //spfile_name                           ,      spfile_name   ,                
    create pfile[='pfile_name'] from spfile[='spfile_name']
    create pfile='D:\initorcl1.ora' from spfile;
    //      create pfile                                  
    create pfile='D:\initorcl.ora' from memory;
    

    서버 초기화 매개변수 파일 복원
    서버 초기화 파라미터 파일이 손상되거나 분실되면 데이터베이스를 시작할 수 없기 때문에 서버 초기화 파라미터 파일의 복구 작업이 필요합니다
  • 데이터베이스가 아직 실행 중일 때create spfile from memory 문장을 실행할 수 있다. 즉, 메모리에 있는 파라미터 데이터를 이용하여 서버의 파라미터 파일을 초기화할 수 있다.텍스트 초기화 파라미터 파일이 존재하면create spfile from pfile 문구를 사용하여 서버 초기화 파라미터 파일을 복구할 수 있습니다
  • 데이터베이스가 시작되지 않을 경우 Oracle 경고 로그 파일에 저장된 초기화 파라미터에 따라 텍스트 초기화 파라미터 파일을 구축한 다음create spfile from pfile 문구를 사용하여 서버 초기화 파라미터 문화를 복원할 수 있음
  • 좋은 웹페이지 즐겨찾기