안녕하세요~ 회사일이 바빠서 자주 못들어오고 공부도 밀리고 잇네여 ㅠㅠ
Snapshot too old 관련 질문이 있습니다
보통 책등에서 snapshot too old 를 줄이려면 불필요하게 커밋을 자주 수행하지 말라고 되어있습니다
그 이유가 무엇일까요..??
delayed 블록 클린 아웃건이 아니라는 가정하에(자주 커밋을 수행하므로 버퍼블록수가 많을거라고 가정한다면)
이전 이미지를 가진 undo 블록이 이미 재사용되어 기존 이미지를 가진 블록을 찾지 못해서 난다면,
커밋여부랑 상관이 없을거 같아서 질문을 올립니다..
( 커밋을 하든 안하든 undo 블록에 이전 이미지의 레코드들은 쌓이고 있으므로.
. undo 블록 사용량은 똑같을 것 같습니다..)
내용이... 이해가 잘 안가신다면
한줄요약)
'SNAPSHOT TOO OLD 를 줄이는 방법 중 불필요하게 자주 커밋을 하지 않는다'의 이유가 궁금합니다.
매번 정말 감사합니다
좋은 하루 보내십시오~!!!~!~
여기 참조해 보세요.
http://www.dba-oracle.com/t_frequent_commits_and_ora-01555.htm
if you commit more frequently, you make it more possible for ORA-01555 errors to occur. Because your work will be scattered among more undo segments, you increase the chance that a single one may be overwritten if necessary, thus causing an ORA-01555 error for those that require it for read consistency.