회전:부적절한 디스크 추가로 인한 RAC 실패

최근에 프로덕션 라이브러리가 다운되었습니다.

데이터베이스가 정지되는 이유는 데이터베이스의 파일 시스템에 해당하는 디스크가 모두 손실되기 때문입니다.,그러나 백그라운드 로그를 참조하십시오

지금-00204이 오류,아니면 바이두, 양 장로님의 기사를 봤어요,그래서 수입은 제 블로그로갑니다,

다음 오류가 발생하면 RAC 아래에 디스크를 부적절하게 추가하면 데이터베이스가 다운됩니다.。

이것은 생산 환경의 실제 유지 관리 프로세스입니다.,RAC 테스트 환경의 공간 부족으로 인해,따라서 계획

ASM 확장 공간,그러나 ASM에 새 디스크 공간을 추가 할 때 오류가 발생했습니다.,그런 문제가 많다.

사용자의 프로덕션 환경에서도 발생할 수 있습니다.。

공간 확장을위한 작업 단계는 다음과 같습니다.:

ASM 장치를 관리하기 위해 RAC 환경의 노드 1에서 DBCA 도구를 시작했습니다.;

새로 추가 된 원시 장치는 ASM 그래픽 인터페이스에서 볼 수 없기 때문입니다.;

루트 사용자는 운영 체제의 Oracle 사용자에게 원시 장치에 대한 액세스 권한을 부여합니다.;

지금이 순간,이러한 원시 장치는 그래픽 인터페이스의 후보 디스크에서 이미 볼 수 있습니다.;

원시 장치는 그래픽 인터페이스를 통해 디스크 그룹에 추가됩니다.。

 

하지만이 작업으로 인해 두 가지 오류가 발생했습니다.:각각 ORA-15032 및 ORA-15075입니다.。

 

먼저 공식 Oracle 문서에서이 두 오류가 어떻게 설명되어 있는지 살펴보십시오.:

ORA-15032: 모든 변경이 수행되는 것은 아닙니다.

원인: 하나 이상의 ALTER DISKGROUP 작업이 실패했습니다..

동작: 와 함께 발행된 다른 메시지를 확인하십시오. 이 요약 오류.

ORA-15075: 디스크(에스) 클러스터 전체에 표시되지 않음

원인: ALTER DISKGROUP ADD DISK 명령이 다음을 수행할 수 있는 디스크를 지정했습니다.

RAC 클러스터 구성의 하나 이상의 노드에서 검색되지 않음.

동작: GV$OSM_DISK에서 문제를 일으키는 디스크를 확인합니다.

고정보기. 장치 및 저장소에 대한 운영 체제 권한 확인

디스크를 식별할 수 없는 RAC 클러스터의 각 노드에 대한 하위 시스템 구성.

 

사실 ORA-15075 오류의 정보는 충분히 명백합니다.。이 오류를 기반으로 한 분석은 신속하게 찾을 수 있어야 합니다.

문제의 원인。하지만 다른 사고로 인해,문제 해결 방향의 편차。

 

이 오류로 인해 이상한 동작이 발생합니다.:오류 메시지로 판단,작업이 실패했습니다,그러나 검사는 이러한 베어 장치를 발견했습니다.

DBCA의 ASM 구성에 이미 표시됨。

 

이 두 가지 오류 메시지를 확인할 때,동료가 노드 2의 인스턴스를 연결할 수 없다고 말했습니다.。

 

운영 체제 명령을 통해 확인하고 데이터베이스 인스턴스 2가 종료되었는지 확인하십시오.,그러나 이 노드의 ASM 인스턴스는 여전히 존재합니다.。

이 현상의 이상한 점은:ASM 작업으로 인한 오류,현재 ASM 인스턴스에는 오류가 없습니다.,하지만 또 다른

데이터베이스 인스턴스가 종료되었습니다.。

 

다음과 같이 경고 파일을 확인하십시오.,주목할만한 메시지는 제어 파일 액세스 오류가 있다는 것입니다.:

$ 꼬리 -500 알리다*

노드 목록:

......

목 29 17:25:36 2007

성공: 디스크 DISK_0017(17.4042303525) 디스크 그룹 DISK에 추가됨

성공: 디스크 DISK_0018(18.4042303520) 디스크 그룹 DISK에 추가됨

성공: 디스크 DISK_0019(19.4042303521) 디스크 그룹 DISK에 추가됨

성공: 디스크 DISK_0020(20.4042303522) 디스크 그룹 DISK에 추가됨

성공: 디스크 DISK_0021(21.4042303523) 디스크 그룹 DISK에 추가됨

성공: 디스크 DISK_0022(22.4042303524) 디스크 그룹 DISK에 추가됨

목 29 17:29:45 2007

성공: 디스크 그룹 DISK가 마운트 해제되었습니다.

성공: 디스크 그룹 DISK가 마운트 해제되었습니다.

목 29 17:29:46 2007

/data/oracle/admin/testrac/bdump/testrac2_lmon_2789.trc 파일의 오류:

지금-00202: 제어 파일:'+DISK/testrac/control01.ctl’

ORA-15078: ASM 디스크 그룹이 강제로 마운트 해제되었습니다.

목 29 17:29:46 2007

LMO: 오류로 인해 인스턴스 종료 204

목 29 17:29:46 2007

/data/oracle/admin/testrac/bdump/testrac2_pmon_2754.trc 파일의 오류:

지금-00204: 읽기 오류(차단하다 , # 블록 ) 제어 파일의

목 29 17:29:46 2007

로컬 인스턴스에 대한 시스템 상태 덤프가 생성됩니다.

목 29 17:29:46 2007

/data/oracle/admin/testrac/bdump/testrac2_lms1_2797.trc 파일의 오류:

지금-00204: 읽기 오류(차단하다 , # 블록 ) 제어 파일의

목 29 17:29:46 2007

/data/oracle/admin/testrac/bdump/testrac2_lms0_2793.trc 파일의 오류:

지금-00204: 읽기 오류(차단하다 , # 블록 ) 제어 파일의

시스템 상태 덤프 totrace 파일 /data/oracle/admin/testrac/bdump/

testrac2_diag_2756.trc

목 29 17:29:47 2007

/data/oracle/admin/testrac/bdump/testrac2_j001_677.trc 파일의 오류:

지금-00204: 제어 파일을 읽는 동안 오류가 발생했습니다.(조각 , # 조각 )

목 29 17:29:47 2007

/data/oracle/admin/testrac/bdump/testrac2_j000_3675.trc 파일의 오류:

지금-00204: 제어 파일을 읽는 동안 오류가 발생했습니다.(조각 , # 조각 )

목 29 17:29:47 2007

/data/oracle/admin/testrac/bdump/testrac2_rbal_2982.trc 파일의 오류:

지금-00204: 읽기 오류(차단하다 , # 블록 ) 제어 파일의

목 29 17:29:52 2007

LMON에 의해 ​​종료된 인스턴스, 손상 처리에 대한 추가 정보 2789

 

시스템을 다시 시작해보십시오,어떤 종류의 오류 메시지가 생성되는지 확인,이번에 본 표시 정보는 사실 또 파라미터 파일의 읽기 에러였다.:

$ sqlplus “/ sysdba로”

유휴 루틴에 연결。

SQL> 시작

지금-01078: 시스템 매개변수 처리 실패

지금-01565: '+DISK/testrac/spfiletestrac.ora 파일 식별 오류’

ORA-17503: ksfdopn:2+DISK/testrac/spfiletestrac.ora 파일을 열지 못했습니다.

ORA-15077: 필요한 디스크 그룹을 제공하는 ASM 인스턴스를 찾을 수 없습니다.

SQL> 이동통신사도 MPLS를 사용합니다.

지금-01034: 오라클을 사용할 수 없음

ORA-27101: 공유 메모리 영역이 존재하지 않습니다

SVR4 오류: 2: 해당 파일이나 디렉토리가 없습니다

 

무슨 일이야? 알람 로그를 한 줄씩 꼼꼼히 분석하면,사실, 경고 파일은 이미

오류의 원인을 명확하게 포함:

성공: 디스크 그룹 DISK가 마운트 해제되었습니다.

성공: 디스크 그룹 DISK가 마운트 해제되었습니다.

목 29 17:29:46 2007

/data/oracle/admin/testrac/bdump/testrac2_lmon_2789.trc 파일의 오류:

지금-00202: 제어 파일:'+DISK/testrac/control01.ctl’

ORA-15078: ASM 디스크 그룹이 강제로 마운트 해제되었습니다.

목 29 17:29:46 2007

/data/oracle/admin/testrac/bdump/testrac2_lmon_2789.trc 파일의 오류:

지금-00204: 읽기 오류(차단하다 35, # 블록 1) 제어 파일의

지금-00202: 제어 파일:'+DISK/testrac/control01.ctl’

ORA-15078: ASM 디스크 그룹이 강제로 마운트 해제되었습니다.

 

ASM의 디스크 그룹이 먼저 DISMOUNT되었습니다.,물론 나중에 ASM에 있는 파일에 액세스하는 데 문제가 있을 것입니다.,

우리가 로그를 읽을 때,주의가 쉽게 눈에 띈다、이해하기 쉬운、익숙한 매력,종종 무시

진짜 문제,이것은 인간의 선택적 주의입니다.

/data/oracle/admin/testrac/bdump/testrac2_j001_677.trc 파일의 오류:

지금-00204: 제어 파일을 읽는 동안 오류가 발생했습니다.(조각 , # 조각 )

목 29 17:29:47 2007

/data/oracle/admin/testrac/bdump/testrac2_j000_3675.trc 파일의 오류:

지금-00204: 제어 파일을 읽는 동안 오류가 발생했습니다.(조각 , # 조각 )

목 29 17:29:47 2007

/data/oracle/admin/testrac/bdump/testrac2_rbal_2982.trc 파일의 오류:

지금-00204: 읽기 오류(차단하다 , # 블록 ) 제어 파일의

목 29 17:29:52 2007

LMON에 의해 ​​종료된 인스턴스, 손상 처리에 대한 추가 정보 2789

 

이 ORA-204 오류 메시지를 참조하십시오,이것이 문제의 원인임을 당연하게 여기십시오.。

실제로 이어지는 시작 오류 메시지를 보면 문제가 있음을 알 수 있습니다.:

ORA-15077: 필수 디스크 그룹을 제공하는 ASM 인스턴스를 찾을 수 없습니다.。

 

공식 Oracle 문서에서는 이 오류를 다음과 같이 설명합니다.:

ORA-15077: 필요한 디스크 그룹을 제공하는 ASM 인스턴스를 찾을 수 없습니다.

원인: 인스턴스가 지정된 작업을 수행하는 데 실패했습니다.

필수 ASM 인스턴스를 찾지 않음.

동작: ASM 인스턴스를 시작하고 필요한 디스크 그룹을 마운트합니다..

 

이 경우,동시에 또 다른 정신적 함정을 만났다:방금 버그가 발생했습니다.,이 버그

주요 오류 메시지는 ORA-17503이기도 합니다.: ksfdopn:2 +DISK/testrac/ 파일을 열지 못했습니다.

spfiletestrac.ora。따라서 위의 주요 정보를 무시하십시오.,대신 버그에 집중하세요.,그리고 이 만남이

문제는 마지막 시간과 관련이 있을 수 있습니다.。

 

매개변수 파일을 읽을 수 없습니다,그것을 하는 방법? 당시 로컬 pfile 파일을 사용하여 데이터베이스를 시작하려고 했습니다.:

SQL> 시작 pfile=/export/home/oracle/inittestrac2.ora

ORACLE 루틴이 시작되었습니다。

전체 시스템 글로벌 영역 2147483648 바이트

고정 크기 2030296 바이트

가변 크기 503317800 바이트

데이터베이스 버퍼 1627389952 바이트

리두 버퍼 14745600 바이트

지금-00205: ?????????, ??????, ???????

 

오류 후,다시 오도하다,ORA 확인하러가기-00205에러 메시지。

지금-00205: 제어 파일 식별 오류, 자세한 내용은 경고 로그 확인

원인: 시스템이 지정된 이름과 크기의 제어 파일을 찾을 수 없습니다.

동작: 모든 제어 파일이 온라인 상태이고 동일한 파일인지 확인하십시오.

시스템이 콜드 스타트 ​​시간에 생성됨.

제어 파일 자체에는 발견될 때까지 아무런 문제가 없었습니다. 인스턴스 1이 정상적으로 실행 중이었습니다.。그제서야 깨달았다"길을 잃다”。

 

모든 오류 메시지와 오류 원인을주의 깊게 확인하십시오 - 디스크 그룹 추가 작업,마침내 문제를 찾았습니다

진짜 이유:그 때, 네이키드 디바이스를 인증할 때,노드 1에서만 승인됨,노드 2에서 수행하지 않고

승인,따라서 노드 1의 DBCA 구성 ASM 인스턴스는 디스크 그룹에 원시 장치를 성공적으로 추가할 수 있습니다.,동안

권한 부족으로 인해 노드 2에서 동일한 작업,디스크 그룹 DISMOUNT가 발생했습니다.,결국 데이터베이스로 이어졌습니다.

인스턴스 종료。

 

그런 다음 노드 2에서 베어 장치를 승인합니다.,ASM 인스턴스 다시 시작,문제 해결됨。

$ 이것의 –

비밀번호:

썬마이크로시스템즈. 썬OS 5.8 일반 패치 2001

# chown 오라클:oinstall/dev/dsk/c2t500601603022E66Ad6s1

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad6s3

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad6s4

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad6s5

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad6s6

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad6s7

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad7s1

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad7s3

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad7s4

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad7s5

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad7s6

# chown 오라클:oinstall/dev/rdsk/c2t500601603022E66Ad7s7

$ sqlplus “/ assysdba”

SQL> 이동통신사도 MPLS를 사용합니다.

지금-01507: 데이터베이스가 로드되지 않았습니다.

ORACLE 루틴이 종료되었습니다.。

 

$ srvctl 중지 asm -nracnode2

$ srvctl 시작 asm -nracnode2

$ sqlplus “/ assysdba”

유휴 루틴에 연결。

SQL> 시작

ORACLE 루틴이 시작되었습니다。

전체 시스템 글로벌 영역 2147483648 바이트

고정 크기 2030296 바이트

가변 크기 469763368 바이트

데이터베이스 버퍼 1660944384 바이트

리두 버퍼 14745600 바이트

데이터베이스 로드。

데이터베이스가 열려 있습니다。

간단한 질문값비싼。이 수업은 문제를 해결할 때 침착하게 분석하고 판단해야 함을 보여줍니다.,

그렇지 않으면 다른 정보 간섭에 의해 길을 잃기 쉽습니다.,문제 해결의 우회로로 이끄는。

특히,길을 잃는 과정에서,파괴적이거나 되돌릴 수 없는 작업을 수행했습니다.,운영 및 유지 보수

사고。이것에서 알 수 있다,DBA가 진단 중、문제를 분석하고 다룰 때,마음을 맑고 차분하게 유지하는 것이 얼마나 중요한지。

DBA 친구들과 공유。

원래의: https://blog.csdn.net/qq_34556414/article/details/80844431

답장을 남겨주세요