Snapshot too old 관련 질문입니다 0 4 1,642

by 인생설계중 [2015.03.01 13:49:13]


안녕하세요~ 회사일이 바빠서 자주 못들어오고 공부도 밀리고 잇네여 ㅠㅠ

Snapshot too old 관련 질문이 있습니다

보통 책등에서 snapshot too old 를 줄이려면 불필요하게 커밋을 자주 수행하지 말라고 되어있습니다

그 이유가 무엇일까요..??

delayed 블록 클린 아웃건이 아니라는 가정하에(자주 커밋을 수행하므로 버퍼블록수가 많을거라고 가정한다면)

이전 이미지를 가진 undo 블록이 이미 재사용되어 기존 이미지를 가진 블록을 찾지 못해서 난다면,

커밋여부랑 상관이 없을거 같아서 질문을 올립니다..

( 커밋을 하든 안하든 undo 블록에 이전 이미지의 레코드들은 쌓이고 있으므로.

. undo 블록 사용량은 똑같을  것 같습니다..)

 

내용이... 이해가 잘 안가신다면

한줄요약)

    'SNAPSHOT TOO OLD 를 줄이는 방법 중 불필요하게 자주 커밋을 하지 않는다'의 이유가 궁금합니다.

 

매번 정말 감사합니다

좋은 하루 보내십시오~!!!~!~

 

 

by 타락천사 [2015.03.01 18:30:19]

짧은 생각으로.

Undo 입장에서 commit 된, expired block 은 overwrite 가 더 잘 되겠죠. ( Undo 입장에서 ) 

내가 찾고자 하는 Undo Block 이 Overwrite 되냐 안되냐가 관건이니.

 

by 인생설계중 [2015.03.02 22:35:55]

아 ㅠㅠ 정말 죄송합니다.. 이제서야 확인했습니다. 답변 정말 감사합니다. 커밋한경우랑 차이가 거기서 생길 수 있겟네여. 정말 감사합니다~


by DJ [2015.03.02 12:57:32]

여기 참조해 보세요.

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.
 

 

 


by 인생설계중 [2015.03.02 22:45:44]

확인이 늦어져서 정말 죄송합니다. 답변 정말 감사합니다. 골라주신 문장에 답이 있는거 같네여..

영어는.. 매번 볼수록 어렵군요..

답변 정말루 감사합니다~!~!~!~!~

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입