Oracle Study 의 -- Oracle 대기 이벤트 (3)

Oracle Study 의 -- Oracle 대기 이벤트 (3)
Db file parallel read 는 오 도 를 일 으 키 기 쉬 운 대기 이벤트 입 니 다. 실제로 이 대기 이벤트 와 병행 작업 (예 를 들 어 병렬 조회, 병렬 DML) 은 관계 가 없습니다.이 사건 은 데이터 베 이 스 를 복구 해 야 할 때 일부 데이터 블록 이 복구 되 어야 할 때 Oracle 은 데이터 파일 에서 메모리 로 읽 어 들 여 복구 작업 을 병행 합 니 다.이 대기 이벤트 에는 세 개의 인자 가 포함 되 어 있 습 니 다: Files: 읽 어야 할 파일 개수 입 니 다.Blocks: 읽 어야 할 데이터 블록 갯 수 를 조작 합 니 다.Requests: 실행 할 I / O 횟수 입 니 다.
사례 분석:
11:06:16 SYS@ prod>conn scott/tiger
Connected.
11:06:19 SCOTT@ prod>insert into emp1 select * from emp1;
286720 rows created.
Elapsed: 00:00:02.04
11:07:22 SCOTT@ prod>/
573440 rows created.
11:08:07 SYS@ prod>r
  1  select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 4449          .04
db file scattered read                                                  1650          .02
db file single write                                                      36          .39
db file async I/O submit                                                 133         8.69
db file parallel read                                                     37          .19
Elapsed: 00:00:00.02
11:08:20 SYS@ prod>r
  1  select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 7561          .03
db file scattered read                                                  1785          .02
db file single write                                                      36          .39
db file async I/O submit                                                 160        10.29
db file parallel read                                                     39          .19
Elapsed: 00:00:00.02

Db file parallel write 는 배경 대기 이벤트 입 니 다. 사용자 의 병렬 작업 과 관계 가 없습니다. 배경 프로 세 스 DBWR 에서 발생 합 니 다. 배경 프로 세 스 DBWR 이 디스크 에 더러 운 데 이 터 를 기록 할 때 이 대기 가 발생 합 니 다.DBWR 은 디스크 에 해당 하 는 데이터 파일 에 더러 운 데 이 터 를 대량으로 병렬 적 으로 기록 합 니 다. 이 일괄 작업 이 완료 되 기 전에 DBWR 에 이 대기 이벤트 가 발생 합 니 다.이 대기 이벤트 만 있 으 면 사용자 의 작업 에 큰 영향 을 주지 않 습 니 다. free buffer waits 대기 이벤트 가 발생 할 때 메모리 에 사용 할 수 있 는 공간 이 부족 하 다 는 것 을 설명 합 니 다. 이 때 사용자 의 작업 에 영향 을 줄 수 있 습 니 다. 예 를 들 어 사용자 가 더러 운 데이터 블록 을 메모리 에 읽 는 데 영향 을 줄 수 있 습 니 다.db file parallel write 대기 이벤트 가 발생 했 을 때 운영 체제 의 비동기 I / O 를 사용 하 는 방식 으로 이 기다 림 을 완화 할 수 있 습 니 다.비동기 I / O 를 사용 할 때 DBWR 은 모든 데이터 블록 이 디스크 에 기 록 될 때 까지 기다 릴 필요 가 없습니다. 이 데 이 터 를 백분율 로 기록 한 후에 후속 작업 을 계속 할 수 있 습 니 다.이 대기 이벤트 에는 두 개의 인자 가 있 습 니 다: Requests: 실행 해 야 할 I / O 횟수 입 니 다.Timeouts: 기다 리 는 시간 초과.
사례 분석:
1、  ASYNC I/O:
11:25:47 SYS@ prod>show parameter sync
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io                       boolean     FALSE
tape_asynch_io                       boolean     TRUE
11:25:53 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
11:25:58   2  where upper(event) like 'DB FILE%';
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 2036          .02
db file scattered read                                                   844          .01
db file single write                                                      27          .69
db file parallel write                                                    38         1.69
2、        
11:24:02 SCOTT@ prod>conn scott/tiger
Connected.
11:26:19 SCOTT@ prod>begin
11:26:38   2    for i in 1..100000 loop
11:26:38   3    execute immediate 'insert into t1 values ('||i||')';
11:26:38   4    end loop;
11:26:38   5    end;
11:26:38   6    /
11:24:06 TOM@ prod>conn tom/tom
Connected.
11:26:47 TOM@ prod>begin
11:26:57   2    for i in 1..100000 loop
11:26:57   3    execute immediate 'insert into scott.t1 values ('||i||')' ;
11:26:57   4    end loop;
11:26:57   5    end;
11:26:57   6    /
11:22:41 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 3216          .02
db file scattered read                                                   846          .01
db file single write                                                      27          .69
db file parallel write                                                    67         2.78
Elapsed: 00:00:00.02
3、    
11:22:42 SYS@ prod>show parameter sync
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io                       boolean     TRUE
tape_asynch_io                       boolean     TRUE
11:22:43 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                11801          .05
db file scattered read                                                  1920          .03
db file single write                                                      54          .35
db file async I/O submit                                                 266         7.78
db file parallel read                                                     39          .19
'db file parallel write '        !

좋은 웹페이지 즐겨찾기