2009-11-19 1 views
2

다른 삽입 문으로 생성 된 재실행 량을 확인하려고합니다. 트랜잭션의 첫 번째 삽입에 대해 다시 실행 크기가 0으로 표시됩니다. 바로 다음 삽입은 2664 바이트의 재실행을 생성합니다 (아마도 마지막 두 삽입에 대한 것입니다). 이후의 모든 삽입은 예상 된 재실행 횟수를 생성합니다.Oracle 10g : 트랜잭션의 첫 번째 삽입 문에 대해 생성 된 재실행 량

내가 사용하고 데이터베이스는 이런 일이 발생하는 이유

sql> insert into temp values (2, user, sysdate); 

1 row created. 


Statistics 
------------ 
2664 redo size 

sql> insert into temp values (3, user, sysdate); 

1 row created. 


Statistics 
---------------------------------------------------------- 
1300 redo size 

sql> insert into temp values (4, user, sysdate); 

1 row created. 


Statistics 
---------------------------------------------------------- 
1368 redo size 

누군가를 설명시겠습니까 ...

create table temp (
    x int, y char(1000), z date); 

Table created. 

set autotrace traceonly statistics; 

sql> insert into temp values (1, user, sysdate); 

1 row created. 


Statistics 
---------------------------------------------------------- 
      1 recursive calls 
      5 db block gets 
      1 consistent gets 
      0 physical reads 
      0 redo size 
     358 bytes sent via SQL*Net to client 
     319 bytes received via SQL*Net from client 
      3 SQL*Net roundtrips to/from client 
      1 sorts (memory) 
      0 sorts (disk) 
      1 rows processed 

10.2.0.4 이후의 삽입을위한 크기를 다시에만 --Showing입니까?

감사합니다.

Rajesh.

+1

은 할 수 없습니다 레 '10.2.0.1.0'에서 생성 – Quassnoi

+1

첫 번째 삽입물에 대해 재실행 금액이 표시됩니까? (10.2.0.1에서) 이것은 내 버전 정보입니다 .. Oracle Database 10g Enterprise Edition 릴리스 10.2.0.4.0 - 64bi PL/SQL 릴리스 10.2.0.4.0 - 제작 CORE 10.2.0.4.0 Production TNS 용 Solaris : 버전 10.2.0.4.0 - 제작 NLSRTL 버전 10.2.0.4.0 - 제작 – Rajesh

+1

11.1.0.6에서 재생산 됨 –

답변

1

XE에서 재생산되었습니다.

Google의 "메모리에서 실행 취소"및 "개인용 다시 실행 스레드"와 관련하여 몇 가지 논의가있을 수 있습니다. EG는 this

작은 "거래"를 ", 10g 개인 리두를 생성하고 은 커밋 때까지 블록에 변경 사항을 적용하지 않는다. 그러나 플래그 (X의 $의 bh.flag)는 비트 3가 개인 재실행이 블록 있는지 표시하는 1로 설정.

를 커미트 할 때 발생하는 상기 재실행 는 블록 dirty로 표시되는 점 의 블록에 적용되는 상기 전용 재실행은 인에 복사 됨공개 재실행 버퍼 및 LGWR이 으로 게시되어 재실행 내용이 디스크에 쓰여집니다. (관련의 처리는 블록 이 유사하다 취소). "게리는 지적

1

이 beaviour 인해 개인 리두 메커니즘 사실이다. 그러나, 변경은 이후 대중 가닥에 밀어 빨간색의 상당한 금액이 발생하지 후 커밋합니다.이 질문은 오라클 기술 포럼에 답하고있다

. 다음 스레드에서 조나단 루이스와 Tanel Poder에 의해 코멘트를 읽어 보시기 바랍니다. http://forums.oracle.com/forums/thread.jspa?messageID=3915905&#3915905