반응형

oracle 43

2PC_PENDING

-- 분산 트랜잭션 행 확인 select * from DBA_2PC_PENDING; -- 아래의 쿼리로 행 풀기. select 'rollback force '''||LOCAL_TRAN_ID||''';' from dba_2pc_pending; select 'COMMIT force '''||LOCAL_TRAN_ID||''';' from dba_2pc_pending; -- 안풀리면 서버 들어가서 아래와 같이 강제적으로 정리 COMMIT 진행 필요 exec dbms_transaction.purge_lost_db_entry('105.28.196344'); COMMIT 필수 이유. JDBC 로 붙을 경우 POOL 형식이 분산트랜잭션을 사용하게 되면 발생됨. 기본적으로 RAC 경우 2번 노드가 죽으면, 1번노드가 찾..

Oracle/etc 2022.01.25

undo, rollback

언두 - 서버프로세스가 사용자별로 언두세그먼트를 할당해서 언두 데이터를 관리 - 인스턴스당 여러개가 존재하지만 - 사용되는것은 하나 - 9i 부터는 aum (automatic undo management) - 트랜잭셔널 롤백 - 리두 콘시스턴씨 ( Read Consistency = CR ) - 씨알 작업을 통해 트랜잭션이 끝나지 않은 데이터는 변경전 데이터를 보여줌 select rowid, dbms_rowid.rowid_relative_fno(rowid) as fno, dbms_rowid.rowid_block_number(rowid) as blkno from A where rownum = 1; ALTER SYSTEM DUMP DATAFILE 1 BLOCK 77481 ; Block header dump: ..

Oracle/etc 2022.01.25

sequence

- 생성 구문 CREATE SEQUENCE SQ01_TH_SP_AUTH_HST INCREMENT BY 1 START WITH 00000000001 MAXVALUE 99999999999 CYCLE CACHE 100 ; - 시퀀스 생성 문법 CREATE SEQUENCE sequence_name [INCREMENT BY n1] [START WITH n2] [MAXVALUE n3 or NOMAXVALUE] [MINVALUE n4 or NOMINVALUE] [CYCLE or NOCYCLE] [NOORDER or ORDER ] [CACHE or NOCACHE]; sequence_name : 생성하고자 하는 시퀀스 명 INCREMENT BY n1 : 해당 시퀀스의 증가값을 지정한다. 생략하면 1로 지정됨. 오름차순 ..

Oracle/etc 2022.01.25

partition index

파티션 인덱스(partition index) 종류 1. Partition Index 1) Global Partition Index - Global Premixed Index - Global Non-premixed Index => 지원 x 2) Local Partitionn Index - Local Premixed Index - Local Non-premixed Index 2. NON Parititon Index 1. 파티션 구분 Global / Local 1) Global - 테이블 파티션 키와 인덱스 파티션 키가 서로 다름 2) Local - 테이블 파티션 키와 인덱스 파티션 키가 같음 => 파티션 테이블에서 대부분의 경우가 Local Index 성능이나, 가용성 및 관리의 용이성이 Global 보다 ..

Oracle/partition 2022.01.25

PARTITION

파티션이란 ? - 파티션테이블은 하나의 큰 테이블을 물리적으로 나눠놓은 것 - 물리적으로 나눠놨지만, 논리적으로는 하나의 테이블로 간주 파티션 종류 1) RANGE 2) LIST 3) HASH 4) INTERVAL 1) RANGE - 가장 많이 쓰이는 형식 CREATE TABLE TEST_P( DAT CHAR(8) NOT NULL, NUM CHAR(8) NOT NULL, PRODUCT CHAR(8) NOT NULL) PARTITION BY RANGE (DAT) ( PARTITION P_08 VALUES LESS THAN ('20150832') TABLESPACE PBJ, PARTITION P_09 VALUES LESS THAN ('20150932') TABLESPACE PBJ, PARTITION P_10..

Oracle/partition 2022.01.25

lock & latch

* lock --------------------- *lock 란 ? - db환경에서 concumency, consistency, 무결성 유지하기 위한 기능 * 공유 lock , 배타적 lock 1) 공유 Lock - 공유 Lock는 데이터를 읽고자 할 때 사용 - 다른 공유 Lock 와 호환되지만 배타적 Lock와 호환되지 않음 2) 배타적(Exclusive) Lock - Exclusive Lock는 데이터를 변경하고자 할때 사용됨. 트랜젝션이 완료 될때까지 유지 - 해당 Lock 해제 될 떄까지 다른 트랜 젝션은 해당 Resource 접근할 수 없음. * 블로킹, 교착상태 1) 블로킹 - Lock 경합이 발생해 특정 세션이 작업을 진행하지 못하고 멈춘 상태 - 공유 Lock, 배타적 Lock 함게 설..

Oracle/lock 2022.01.24

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
반응형