스포츠 토토 9.3.25 문서화 | ||||
---|---|---|---|---|
사설 토토 : 문서 : 9.3 : WAL 구성 | 사설 토토 : 문서 : 9.3 : 신뢰성과 쓰기 로그 | 29 장. 신뢰성 및 쓰기 전달 로그 | 롤 토토 : 문서 : 9.3 : 롤 토토 테스트 |
WAL자동으로 활성화됩니다. 관리자에게는 조치가 필요하지 않습니다. 에 대한 디스크 공간 요구 사항Wal로그가 충족되고 필요한 튜닝 완료되었습니다 (섹션 29.4).
Wal로그는에 저장됩니다 예배 규칙서pg_xlog데이터에 따라 디렉토리, 일련의 세그먼트 파일로서 일반적으로 16MB 크기 각각 (그러나 크기는를 변경하여 변경할 수 있습니다.-With-Wal-segsize빌드시 옵션을 구성하십시오 섬기는 사람). 각 세그먼트는 페이지로 나뉩니다. (이 크기는를 통해 변경할 수 있습니다.-with-blocksize옵션 구성). 로그 레코드 헤더는에 설명되어 있습니다.access/xlog.h; 레코드 내용은 다음에 따라 다릅니다 기록중인 이벤트 유형. 세그먼트 파일이 제공됩니다 이름으로 숫자가 계속 증가하고000000010000000000000000. 숫자는 감싸지 않고 그러나 사용 가능한 것을 소진하는 데 매우 오랜 시간이 걸릴 것입니다. 숫자의 주식.
로그가 다른 디스크에있는 경우 유리합니다. 기본 데이터베이스 파일에서. 이것은 이동하여 달성 할 수 있습니다PG_XLOG다른 위치로의 디렉토리 (물론 서버가 종료되는 동안) 기본 데이터 디렉토리의 원래 위치에서 새로운 위치.
목표Wal데이터베이스 레코드가 변경되기 전에 로그가 작성되었지만 이것은 거짓보고하는 디스크 드라이브에 의해 전복 될 수 있습니다. 실제로 커널에 쓰기, 실제로는 캐시 만했을 때 데이터는 아직 디스크에 저장되지 않았습니다. 그러한 정전 상황은 방해 할 수없는 데이터 손상으로 이어질 수 있습니다. 관리자는 디스크를 보유하고 있는지 확인해야합니다스포츠 토토'sWal로그 파일은 그러한 허위 보고서를 작성하지 않습니다. (보다섹션 29.1.)
체크 포인트가 만들어지고 로그가 플러시 된 후 Checkpoint의 위치는 파일에 저장됩니다PG_CONTROL. 따라서 회복이 시작될 때 서버가 먼저 읽습니다PG_CONTROL및 그런 다음 체크 포인트 레코드; 그런 다음 REDO 작업을 수행합니다 체크 포인트에 표시된 로그 위치에서 앞으로 스캔 기록. 데이터 페이지의 전체 내용이 Checkpoint (가정) 후 첫 페이지 수정에 로그인하십시오.full_page_writes비활성화되지 않음), 체크 포인트가 다음과 같이 모든 페이지가 변경되었습니다. 일관된 상태로 복원.
사건을 처리하려면PG_CONTROL부패 했으므로 기존 스캔 가능성을 지원해야합니다. 로그 세그먼트를 역순으로 - 가장 새롭고 가장 오래된 것 - 찾기 위해 최신 체크 포인트. 이것은 아직 구현되지 않았습니다.PG_CONTROL는 충분히 작습니다 (1보다 작습니다 디스크 페이지) 부분 쓰기 문제가 발생하지 않으며 이 글에서 데이터베이스 실패에 대한보고는 없었습니다. 전적으로 읽을 수 없다는 것만PG_CONTROL자체. 그래서 그것은 이론적으로 a입니다 약점,PG_CONTROL그렇지 않은 것 같습니다 실제로 문제