Oracle 데이터베이스 startup mount 시 오류 처리 (ORA - 01078 & LRM - 0109, ORA - 00845, ORA - 01102, ORA - 00205)

10986 단어 Oracle
ORA-01078 &LRM-00109
  • startup mount 를 실행 하 는 중 오류:
  • SQL> startup mount
    ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'
    
  • 오류 원인: Oacle9i, 10g, 11g 최근 몇 가지 버 전에 서 데이터 베 이 스 는 기본적으로 spfile 로 데이터 베 이 스 를 시작 합 니 다. spfile 이 존재 하지 않 으 면 상기 오류 가 발생 합 니 다.
  • 해결 방법: pfile 파일 위 치 를 조회 하고 pfile 디 렉 터 리 에 있 는 init. ora. 182020183512 형식의 파일 copy 를 $ORACLEHOME / dbs 디 렉 터 리 아래 에 initorcl. ora 라 고 명명 하면 됩 니 다.구체 적 인 조작 은 다음 과 같다.
  • [oracle@localhost ~]$ echo $ORACLE_BASE
    /u01/app/oracle
    [oracle@localhost ~]$ find /u01/app/oracle -name pfile
    /u01/app/oracle/admin/orcl11g/pfile
    [oracle@localhost ~]$ cd /u01/app/oracle/admin/orcl11g/pfile
    [oracle@localhost pfile]$ ls
    init.ora.2182020183512
    [oracle@localhost pfile]$ echo $ORACLE_HOME
    /u01/app/oracle/product/11.2.0/db_1
    [oracle@localhost pfile]$ cp init.ora.2182020183512 /u01/app/oracle/product/11.2.0/db_1/initorcl.ora
    [oracle@localhost pfile]$
    

    이 조작 후 데이터베이스 startup mount 가 성공 할 수 있 습 니 다.
    ORA-00845: MEMORY_TARGET not supported on this system
  • 오류 보고:
  • SQL> startup mount
    ORA-00845: MEMORY_TARGET not supported on this system
    
  • 가능 한 원인: memorymax_target/memory_target 설정 이 너무 커서 인 스 턴 스 를 시작 할 수 없습니다. ORA - 00845 오 류 를 보고 합 니 다.이 오류 보기:
  • [oracle@localhost dbs]$ cd /u01/app/oracle/product/11.2.0/db_1/bin
    [oracle@localhost bin]$ oerr ora 00845
    00845, 00000, "MEMORY_TARGET not supported on this system"
    // *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
    // *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.
    [oracle@localhost bin]$
    
  • 해결 방법: 나 는 initorcl. ora 의 memorytarget 을 0 으로 설정 한 후 이 문 제 를 해결 하 였 습 니 다.단, 아래 의 방법 을 사용 하 는 것 을 권장 합 니 다:
       Oracle 11g for linux                    ,      sys /dev/shm 。 alert.ora             :
      Starting ORACLE instance (normal)
      WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least 419430400 bytes. /dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current available is 413466624 and used is 0 bytes. Ensure that the mount point is /dev/shm for this directory.
       memory_target needs larger /dev/shm  
    
  • 해결 방법 중 하나:
              tmpfs       :  
      /etc/fstab tmpfs    ;
        tmpfs   /dev/shm  tmpfs defaults 0 0   tmpfs /dev/shm tmpfs default,size=1024M 0 0,  tmpfs   1G,  mount /dev/shm    。 
    [root@yft ~]# vi /etc/fstab
    tmpfs                   /dev/shm                tmpfs   defaults,size=420m        0 0
    [root@yft ~]# mount -o remount /dev/shm
    [root@yft ~]# df -h
     Filesystem            Size  Used Avail Use% Mounted on
     tmpfs                 420M     0  420M   0% /dev/shm
     
     SQL> startup
     ORACLE instance started.
     
     Total System Global Area  418484224 bytes
     Fixed Size            1336932 bytes
     Variable Size          406849948 bytes
     Database Buffers        4194304 bytes
     Redo Buffers            6103040 bytes
     Database mounted.
     Database opened.
    

    이 글 을 참고 하 였 습 니 다: 매개 변 수 를 초기 화 하 는 memorytarget
    ORA-01102: cannot mount database in EXCLUSIVE mode
  • 오류 보고:
  • SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area  217157632 bytes
    Fixed Size		    2211928 bytes
    Variable Size		  159387560 bytes
    Database Buffers	   50331648 bytes
    Redo Buffers		    5226496 bytes
    ORA-01102: cannot mount database in EXCLUSIVE mode
    
  • 가능 한 원인: Oracle 이 이상 하 게 닫 혔 을 때 자원 이 방출 되 지 않 았 습 니 다. 1) Oracle 의 공유 메모리 세그먼트 나 신 호 량 이 방출 되 지 않 았 습 니 다.2) Oracle 의 백 엔 드 프로 세 스 (예 를 들 어 SMON, PMON, DBWN 등) 가 닫 히 지 않 았 습 니 다.3) 메모리 잠 금 에 사용 할 파일 lk 와 sgadef. dbf 파일 이 삭제 되 지 않 았 습 니 다.
  • 해결 방향: HA 시스템 이 라면 다른 노드 가 인 스 턴 스 를 시작 하여 Oracle 프로 세 스 가 존재 하 는 지 확인 하고 존재 하면 프로 세 스 를 죽 이 고 신 호 량 이 존재 하 는 지 확인 하 며 존재 하면 신 호 량 을 제거 합 니 다.공유 메모리 세그먼트 가 존재 하 는 지 확인 하고 존재 하면 공유 메모리 세그먼트 를 삭제 합 니 다.메모리 파일 lk 와 sgadef. dbf 가 존재 하 는 지 확인 하고 존재 하면 삭제 합 니 다.
  • 여기 서 나 는 아래 의 절차 에 따라 이 문 제 를 해결 했다. (내 가 직면 한 문 제 는 잠 금 파일 과 공유 메모리 세그먼트 문제 가 존재 하 는 것 이다): 1) lk 와 sgadef. dbf 파일 이 존재 하면 삭제 합 니 다.
  • [oracle@localhost dbs]$ ls sgadef*$ ls sgadef*
    ls:     sgadef*:          
    [oracle@localhost dbs]$  cd $ORACLE_HOME/dbs
    [oracle@localhost dbs]$  ls lk*
    lkORCL11G
    [oracle@localhost dbs]$  rm lk*
    

    다시 시작 할 때 다음 오류 가 발생 했 습 니 다 (ORA - 00205: error in identifying control file, check alert log for more inf). 계속 해결 하 십시오.
    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area  217157632 bytes
    Fixed Size		    2211928 bytes
    Variable Size		  159387560 bytes
    Database Buffers	   50331648 bytes
    Redo Buffers		    5226496 bytes
    ORA-00205: error in identifying control file, check alert log for more inf
    

    2) a. 공유 메모리 세그먼트 관련 정보 보기
    [oracle@localhost dbs]$  ipcs -map
    [oracle@localhost dbs]$  ipcs -map
    
    ---------      PID -----------
    msqid           lspid      lrpid  
       
    --------         /      PID ----------
    shmid           cpid       lpid      
    524288     root       19972      19995     
    557057     root       19972      18169     
    1540098    root       19972      19972     
    851971     root       19972      18169     
    819204     root       20214      18169     
    884741     root       19972      19972     
    983046     root       20276      18169     
    1998855    oracle     82166      6116      
    1114120    root       19972      18169     
    1146889    root       19972      19972     
    2195466    oracle     6387       6429      
    1376268    root       19972      19972
    
    

    b. ID 번호 에 따라 메모리 세그먼트 공유
    [oracle@localhost dbs]$ ipcrm  -m 1998855
    

    여기 서 작업 이 성공 하지 못 했 습 니 다. 다음 작업 을 사용 하 는 데 성 공 했 습 니 다. c. 신 호 량 보기
    [oracle@localhost dbs]$  ipcs -s
    
    ---------       -----------         
    semid                  nsems     
    0x2a306eac 557056     oracle     660        154       
    0x5c23a1bc 950273     oracle     660        154 
    

    d. Oacle 신 호 량 제거
    [oracle@localhost dbs]$  ipcrm -s 557056
    [oracle@localhost dbs]$  ipcrm -s 950273
    

    e. 재 조회 확인
    [oracle@localhost dbs]$ ipcs -s
    
    ---------       -----------         
    semid                  nsems   
    
    

    공유 메모리 세그먼트 를 다시 조회 해도 문제 가 없습니다.
    [oracle@localhost dbs]$  ipcs -m
    
    ------------       --------------         
    shmid                         nattch             
    0x00000000 524288     root       777        16384      1                   
    0x00000000 557057     root       777        2129920    2                   
    0x00000000 1540098    root       777        1916928    1                   
    0x00000000 851971     root       777        2129920    2                   
    0x00000000 819204     root       600        524288     2                   
    0x00000000 884741     root       777        327680     1                   
    0x00000000 983046     root       600        524288     2                   
    0x00000000 1114120    root       600        524288     2                   
    0x00000000 1146889    root       777        1916928    1                   
    0x00000000 1376268    root       777        1916928    1               
    

    이 문제 해결:
    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area  217157632 bytes
    Fixed Size      	    2211928 bytes
    Variable Size             159387560 bytes
    Database Buffers           50331648 bytes
    Redo Buffers                5226496 bytes
    Database mounted.
    

    3) Oracle 프로 세 스 가 닫 히 지 않 았 다 면: $kill - 9

    좋은 웹페이지 즐겨찾기