Oragne for Oracle Session Monitoring 권한 부여 1. 다른 User에서 Session Monitoring 권한 기능을 사용 시, 필요권한 grant SELECT ANY DICTIONARY to USER1; grant SELECT_CATALOG_ROLE to USER1; grant SELECT ANY TRANSACTION to USER1;
Bulk insert TEST 시나리오 1. create table create user test_user01 identified by "test01#$"; grant connect, resource to test_user01; drop table test_user01.test01; create table test_user01.test01 (id1 number, id2 number, name varchar2(10), date1 varchar2(8), date2 varchar2(8), date3 date, phone varchar2(13), price number, qty number, test1 number, test2 varchar2(5), test3 varchar2(4) ) nologging; dro..
1. Table에 FGA 설정 TEST 1) 유저생성 CREATE USER USER1 IDENTIFIED BY "oracle4321" ; GRANT CONNECT, RESOURCE, CREATE VIEW TO USER1 ; CREATE TABLE USER1.T_TEST1 ( C1 NUMBER , C2 VARCHAR(10) ); INSERT INTO USER1.T_TEST1 VALUES(1,'TEST1'); COMMIT; 2) 감사 설정 begin dbms_fga.add_policy(object_schema => 'USER1', object_name => 'T_TEST1', policy_name => 'T_TEST1_DEL_POLICY', -- audit_condition => NULL, -- audit_..
1. TM Lock Table을 보호하는 락 경합 발생시 enq:TM - contention 대기 2. TM Lock MODE 구분 모드 Ex LEVEL 2 RS(ROW Shared Table Locks), SS(Subshare Table Locks) LOCK TABLE EMP IN ROW SHARE MODE; LEVEL 3 RX(ROW Exclusive Table Locks), SX(Subexclusive Table Locks) LOCK TABLE EMP IN ROW EXCLUSIVE MODE; LEVEL 4 S(Share Table Locks), SS(Subshare Table Locks) LOCK TABLE EMP IN SHARE MODE; LEVEL 5 SRS(Share Row Exclusive ..
1. Object 변경작업시 고려해야 할 상황 사용량이 많은 Table에 column을 추가하려고 할때 ORA-0054: resource busy and acquire with NOWATI specifed 에러가 발생하거나 행이걸린 상황이 발생할 수 있다. alter 명령어는 dynamic sql로 밖에 실행을 할 수 없기 떄문에, 이 부분에서 hard parsing을 유발시킨다. Table 변경의 가장 큰 문제는 작업 테이블과 연관된 Object들이 Invaild 상태로 빠졋을 경우 recompile 해주는 작업이다. 2. Object 변경 작업 전 (dependency check) SELECT decode(name, UPPER('&&object_name'), 'REF', 'REF BY') ref, d..
1. Direct Patch I/O 일반적인 블록 I/O는 DB 버퍼 캐시를 경유한다. 읽고자 하는 블록을 먼저 버퍼캐시에서 찾아보고, 찾지 못할 때만 디스크에서 읽는다. 데이터 변경도 버퍼캐시에 적재된 블록에서 이루어지며, DBWR 프로세스가 주기적으로 변경된 블록(Dirty Buffer Blcok)을 데이터파일에 기록한다. -> 오라클은 버퍼 캐시를 경유하지 않고 데이터블록을 읽고 쓸 수 있는 Direct I/O 기능을 제공한다. Temp Segment Block을 읽고 쓸 떄 병렬 쿼리로 Full scan을 수행할 때 Nocache 옵션을 지정한 LOB Column을 읽을 때 Direct 옵션을 지정하고 export를 수행할 때 Parleele DML을 수행할 때 Direct Path Insert를..