보통 softmax 값은 기본 100으로 지정되는데
이는 크래쉬복구 시 로그파일을 1개 쓴다는 의미가 됩니까?
만약 insert 작업 시 3개의 acive log를 쓰고 있다가 crash 가 일어나서
크래쉬 복구를 하게 되면 1개의 액티브 로그로 복구를 한다는 이야기 인지요?
그렇게 되면 데이터 불일치가 발생 할 것 같은데....
크래쉬 recover 시 softmax의 용도가 무엇인지 궁금 합니다.
이 매개변수는 다음과 같이 사용됩니다.
응급 복구 시 필요한 로그의 수에 영향을 주기 위해 데이터베이스 관리 프로그램은 이 매개변수를 사용하여 페이지 클리너를 트리거하여 지정된 복구 창보다 오래된 페이지가 이미 디스크에 기록되었는지 확인합니다.
전원 공급 중단 등으로 인해 데이터베이스 오류가 생기면 다음과 같은 데이터베이스에 대한 변경이 일어날 수 있습니다.
데이터베이스가 재시작되면 로그 파일이 데이터베이스의 응급 복구를 수행하는 데 사용되어 데이터베이스가 일관성 있는 상태에 있도록 합니다. (커미트된 모든 트랜잭션은 데이터베이스에 적용되고, 모든 언커미트 트랜잭션은 데이터베이스에 적용되지 않습니다.)
로그 파일에서 어느 레코드가 데이터베이스에 적용되어야 하는지를 판별하기 위해 데이터베이스 관리 프로그램은 로그 제어 파일을 사용합니다. 이 로그 제어 파일은 주기적으로 디스크에 기록되며, 이 이벤트의 빈도에 따라 데이터베이스 관리 프로그램은 커미트된 트랜잭션의 로그 레코드를 적용하거나 이미 버퍼 풀에서 디스크로 기록된 변경사항을 설명하는 로그 레코드를 적용합니다. 이 로그 레코드는 데이터베이스에는 영향을 미치지 않지만, 이러한 로그 레코드를 적용할 경우 데이터베이스 재시작 프로세스에 얼마간의 오버헤드가 발생하기도 합니다.
로그 파일이 가득 찰 때와 소프트 점검점을 실시 중에는 로그 제어 파일이 항상 디스크에 기록됩니다. 이 구성 매개변수를 사용하여 추가 소프트 점검점을 트리거할 수 있습니다.
소프트 점검 시기는 logfilsiz 의 백분율로 제공되어 『현재 상태』와 『기록된 상태』의 차이에 따라 정해집니다. 『기록된 상태』는 디스크에서 로그 제어 파일에 나타난 가장 오래된 유효 로그 레코드로 판별됩니다. 반면에 『현재 상태』는 메모리 내의 로그 제어 정보로 판별됩니다. (가장 오래된 유효 로그 레코드란 복구 프로세스가 읽게 되는 첫 번째 로그 레코드입니다.) 소프트 점검점은 다음 공식으로 계산된 값이 이 매개변수의 값보다 크거나 같으면 사용됩니다.
( (기록된 상태와 현재 상태간의 차이) / logfilsiz ) * 100
권장사항: 승인 가능한 복구 창이 한 로그 파일보다 큰지 여부에 따라 이 매개변수의 값을 늘리거나 줄일 수 있습니다. 이 매개변수의 값을 줄이면 데이터베이스 관리 프로그램이 페이지 클리너를 더욱 자주 트리거하게 되고 소프트 체크포인트를 더 자주 사용하게 됩니다. 이와 같은 조치로 처리에 필요한 로그 레코드의 수와 응급 복구시 처리되는 중복 로그 레코드의 수가 감소됩니다.
그러나 페이지 클리너를 더 많이 트리거하고 소프트 체크포인트를 자주 사용하게 되면 데이터베이스 로그와 관련된 오버헤드를 증가시켜 데이터베이스 관리 프로그램의 성능에 영향을 줄 수 있습니다. 또한 다음의 경우에는 소프트 체크포인트를 더 자주 사용한다고 데이터베이스 재시작에 필요한 시간이 줄어들지는 않습니다.
두 경우에서 모두 메모리에 유지되는 로그 제어 정보가 자주 변경되지 않으면 로그 제어 정보를 디스크에 기록할 때 아무런 이익을 얻을 수 없습니다.
도데체 무슨이야기인지 모르겠네용
트랜젝션이 발생하고 데이터를 디스크에 기록할 때 Bufferpool - log buffer - log file - disk 순서로 하게 되는데 bufferpool의 변경된 data가 disk에 기록이 되었는지를 체크하는 시기를 지정하는 것으로 보입니다. 그래서 이 작업을 자주하게 되면 메모리상에는 변경이 되었지만 disk에 기록되지 않은 data의 갯수는 줄어 들지만 자주 메모리의 데이터를 디스크로 기록을 하는데에 대한 비용이 증가하기 때문에 성능을 저하 시킬수가 있고 체크시 기록되는 data의 양도 적기 때문에 크레쉬복구시 시간을 단축시키는데는 별로 도움이 안된다는 내용 같습니다.