반응형

oracle 43

통계정보

#통계정보란 # 히스토그램 수집 아래 키워드 누락시. 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

index(인덱스)

인덱스 인덱스란? - 검색을 빠르게 하기 위해 사용 - 인덱스 구성시 자동정렬이 이루어짐 - 사용을 해야하는 경우 . 테이블에 행의 수가 많을때 . 조건절인 where 문에 column 수가 많을 때 . join , null 포함하는 컬럼이 많을 떄 - 사용하지 말아야 하는 경우 . 테이블의 행의 수가 적을 때 . where 문에 해당 컬럼이 자주 사용되지 않을 때 . 테이블의 DML 작업이 많은 경우 - 확인 . USER_INDEXES : 인덱스 이름 및 고유성 . USER_IND_COLUMNS : 인덱스 이름, 테이블 이름, 열 이름 -index 생성법 . create index index명 on table명(index걸어줄 table에 colum명); ex)create index idx_emp_en..

Oracle/index 2022.01.24

expire 해제

사용자 EXPIRE 시 HASH값을 찾아서 그값으로 변경. -> EXPIRE 풀림 - HASH 값 조회 구문 select name, password from user$ where name='TVANON' - 변경 구문 ALTER USER TVANON IDENTIFIED BY VALUES '3296C3D2F7AFC316'; - metadata.gett_ddl 패키지를 활용하여 HPC_CP 유저의 스크립트 추출 select dbms_metadata.get_ddl('USER', USERNAME) from dba_users where USERNAME = 'HPC_CP'; - 유저의 기존 패스워드를 모를 경우 해당 HASH 값을 가지고 유저를 생성하면 그대로 패스워드가 적용됨 CREATE USER "HPC_CP"..

Oracle/user 2022.01.24

테이블 종류 및 관리

### 테이블 관리 DBA_TABLES DBA_OBJECTS 테이블 종류 1) 일반테이블 2) 분할테이블 ( PARTITION ) 3) 인덱스 구성 테이블 4) 클러스터화된 테이블 oracle 내장 데이터 유형 char , nchar, varchar2, nvarchar2 CLOB = 대형 고정 너비 문자 데이터 저장 ( ex : 게시판 ) NCLOB = 대형 고정 너비 국가별 문자 집합 데이터 저장 BLOB = 구조화되지 않은 데이터를 저장 ( 사진, 영상 등... ) BFILE = 구조화되지 않은 데이터를 운영 체제 파일에 저장 create table data_test( ch char(5), nch nchar(5), vchar varchar2(5), nvchar nvarchar2(5)) ; insert..

Oracle/user 2022.01.24
반응형