Enq: FB – contention we can assume that two sessions have simultaneously tried to format the same new batch of blocks and one of them is waiting for the other to complete the format.

 

ASM에서 대량의 DML에서 세션끼지 서로 새로운 블럭을 포맷할려고 할때 발생하는 이벤트로써,

 

1. 이슈 확인 (테이블스페이스, 블럭등.)

select session_id,SQL_ID,EVENT,P1,P1text,P2,P3,WAIT_TIME,SESSION_STATE,TIME_WAITED from v$active_session_history where event like '%FB%';

 

select name from v$tablespace where ts#=P2; #위에 P2 값으로 조회

 

SELECT dbms_utility.data_block_address_block(p3) "BLOCK", dbms_utility.data_block_address_file(p3) "FILE" from dual;  #위에 P3값으로 조회

 

2. 완화 조치

 

ASSM에서는 PCT%값을 조정해도 무시함으로 아래 작업후 segment_fix_status로 고정이 필요함

 

SQL> alter table <TABLE> INITRANS 10 PCTFREE 40;
SQL> alter index <IND_NAME> rebuild partition <Partition_name> initrans 50 PCTFREE 40;
SQL> alter table <schema.table_name> modify default attributes tablespace <TS_NAME> initrans 10;
SQL> ALTER INDEX INDEX_NAME INITRANS 10 ;

 

exec dbms_repair.segment_fix_status('<Table_owner>','<Tab_Name>',dbms_repair.table_object);

exec dbms_repair.segment_fix_status('<index_owner>','<index_name>',sys.dbms_repair.index_object);

'RDB > Oracle' 카테고리의 다른 글

oracle csv 파일 생성  (0) 2020.06.10
enq: iv - contention 완화  (0) 2020.06.03
oracle 18c rman 백업 /복구  (0) 2020.04.24
oracle 18c flashback database  (1) 2020.04.23
oracle rman 복구  (0) 2020.04.07

+ Recent posts