반응형

Oracle 59

STATSPACK 설치 및 삭제

# sys user 실행 - 패키지 설치 @$ORACLE_HOME/rdbms/admin/spcreate.sql # perfstat user 실행 - 스냅샷 자동 스케줄링 등록 $ORALCE_HOME/rdbms/admin/spauto.sql SQL> EXEC STATSPACK.SNAP(i_snap_level =>7); #스냅샷 확인 SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT; # 수동 스냅샷 실행(perfstat) EXEC STATSPACK.SNAP # statspack 삭제 @$ORACLE_HOME/rdbms/admin/sptrunc.sql # statspack 리포트 cd $ORACLE_HOME/rdbms/admin/spreport.sql Enter value f..

Oracle/statspack 2022.01.24

TDE

## TDE (Transparent Data Encryption) - 운영체제의 해킹, 스토리지 및 백업 미디어의 도난으로 인한 데이터 유출 방지 1) 테이블레벨암호화(10gR2) = Transparent Data Encryption = 컬럼 레벨 암호화 2) 테이블스페이스암호화(11g) = Tablespace Encryption - 암호화키 1) 테이블 키 : 테이블의 데이터를 암호화 2) 마스터 키 : 테이블키를 암호화하여 저장 Oracle wallet 이라는 패스워드 기반 PKCS#12 호환컨테이너에 저장되어 보호 ( 10gR2 ) Hardware Security Module (HSM) 에 따로 저장할 수 있는 방법을 제공 => 솔루션 - ORACLE 10gR2 부터 제공되는 Oracle Advan..

Oracle/tde 2022.01.24

dbms_stats.lock_table_stats

통계정보 갱신 방지 exec dbms_stats.lock_table_stats('HPC_CP','GRADE_LOYALTY_BRAND'); 통계정보 LOCK 확인 select * from user_tab_statistics where stattype_locked='ALL' 통계정보 카피 EXEC dbms_stats.copy_table_stats('HPC_USR', 'TB_RESV_TRX_PT', srcpartname => 'PR_201512', dstpartname => 'PR_201502', FORCE => TRUE ); 통계정보 삭제 EXEC DBMS_STATS.DROP_STAT_TABLE( ownname => 'SYSTEM', stattab =>'mystats'); 통계정보 restore exec d..

Oracle/통계정보 2022.01.24

Histogram 사용하다가 중지할 경우 발생되는 이슈, 장애처리

====== PC_MC_TRD_AUTH 테이블 실행 계획 변경 이슈 분석 (10053 trace 사용) ======== #################### 정리 //** 발생 이슈 : 2018년 1월 2일 PN_MC_TRD_AUTH관련 쿼리의 실행계획이 변경됨 (2018/01/02 04시경, 2018/01/02/22시경) - Auth_dt 컬럼이 포함된 인덱스인 IDX_PN_MC_TRD_AUTH_01를 사용하도록 플랜이 변경되었으며 이로 인해 성능 이슈 발생 - IDX_PN_MC_TRD_AUTH_01를 사용한 쿼리의 조건절은 "auth_dt IN" 또는 "auth_dt >=" 사용 //** 조치 사항 : Profile 적용하여 변경 전 실행계획으로 고정 (2018/01/02 23:30경) //** 원인..

Oracle/통계정보 2022.01.24

통계정보

#통계정보란 # 히스토그램 수집 아래 키워드 누락시. Default 수집하게 되어있음, method_opt=>'FOR ALL COLUMNS SIZE 1' -- 수집 안함 * FOR ALL COLUMNS SIZE 1 = 칼럼에 대한 통계정보도 수집 FOR COLUMNS = 칼럼에 대한 통계정보 수집하지 말아라 #파티션 통계정보 재생성 EXEC DBMS_STATS.GATHER_TABLE_STATS (ownname=>'SPP',TABNAME=>'ORD_DTL',PARTNAME=>'P201710', GRANULARITY=>'PARTITION', DEGREE => '4' ,CASCADE => TRUE) #파티션 통계정보 카피 EXEC dbms_stats.copy_table_stats('PBJ', 'TEST_P' ..

Oracle/통계정보 2022.01.24

partition global index 추출

#완성 SELECT A.TABLE_OWNER, A.TABLE_NAME, B.INDEX_NAME, B.INDEX_TYPE, B.GLOBAL_STATS, B.PARTITIONED FROM DBA_TAB_PARTITIONS A, (SELECT * FROM DBA_INDEXES WHERE OWNER NOT IN ('SYS','SYSTEM') AND PARTITIONED='NO') B -- NO : 글로벌 YES : 로컬 , GLOBAL_STATS : 통계정보시 해당 인덱스도 분석을 하겠냐(YES) WHERE B.TABLE_NAME = A.TABLE_NAME AND B.OWNER = A.TABLE_OWNER GROUP BY A.TABLE_OWNER, A.TABLE_NAME, B.INDEX_NAME, B.INDEX..

Oracle/index 2022.01.24

index invisible

*INVISIBLE 이란 인덱스를 그대로 유지하되 실행계획에서는 반영을 하지 않음. 장점 : 인덱스를 DROP 하기 전 EXECUTION PLAN 의 변화를 미리 TEST 가능 APP 단의 영향을 주지 않고 특정 APP 단에서만 TEMPORARY 하게 INDEX 사용 가능. 주의 OPTIMIZER_USE_INVISIBLE_INDEXES 파라미터가 TURE 로 되어 있으면 INVISIBLE 상태여도 실행 계획에 반영함. SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME LIKE '%invisible%' 운영 중 파리미터 변경 가능 optimizer_use_invisible_indexes = false => invisible 인덱스 사용안함 opt..

Oracle/index 2022.01.24

index monitoring

인덱스 사용 현황 모니터링 1. 개요 - 새로운 인덱스를 생성하거나, 기존의 인덱스의 변경으로인해 사용되지 않는 인덱스가 생겨날 수 있다. 이러한 인덱스를 찾아 수정하거나 제거할 필요성이 제기 된다. 실제로 튜닝 작업 이후 기존에 있던 인덱스를 제거하려는 경우, 실제로 어떤 인덱스를 제거해야 할지 결정하기만 쉽지 않다. - 특정 기간동안의 쿼리에 대한 엑세스 유형을 분석하고, 인덱스의 사용유무를 모니터링 한 이후에 사용되지 않는 인덱스를 제거해야만 할 것이다. 2. 뷰 - 오라클 9i 부터 제공되는 다이나믹 뷰 v$object_usage 를 이용하여 위의 작업을 수행 및 결과를 토대로 인덱스 사용현황을 파악할 수 있다. 3. v$object_usage INDEX_NAME NOT NULL VARCHAR2(..

Oracle/index 2022.01.24
반응형