반응형

Oracle 59

tablespace

#테이블 스페이스 및 데이터 파일 oracle 은 데이터를 논리적으로 테이블스페이스에 저장 물리적으로는 데이터 파일에 저장 테이블스페이스 조회 SELECT A.TABLESPACE_NAME, ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) CURRENT_SIZE, ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) FREE_SIZE, ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) USED_SIZE, ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) FREE_RATE, 100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_A..

Oracle/tablespace 2022.01.25

audit

audit - 사용자의 행동을 감시하거나 데이터베이스에 관한 통계자료를 얻는 목적으로 사용됨. - 누가 어떤 테이블을 언제 사용하고, 언제 어떤 작업을 하는지를 기록할 수 있음. - 레코드에 대한 auditing 은 불가능. - auditing 걸게되면 시스템 부하를 줄 수 있음. *종류 1) STATEMENT AUDITING : 명령의 종류에 따라서 auditing 설정 ex) audit table by scott by access whenever successful; => scott 유저가 내리는 명령중 테이블에 관련된 명령어(create table, drop table 등..) 이 성공한 경우 기록함 2) PRIVILEGE AUDITING : 사용되는 PRIVILEGE 에 따른 auditing 설정..

Oracle/etc 2022.01.25

SYSAUX

*SYSAUX TBS 가 비정상적으로 늘어날 경우 아래와 같은 문구로 Shrink 가능 - 늘어나는 이유. DB에서는 스냅샷 보관주기가 설정되어 있어 과거의 스냅샷은 delete 가 이루어짐. 하지만 자동으로 shrink를 해주지 않음. 결국 공간만 계속 늘어나는 것. 이 외에 비정상적인 부분 스냅샷 보관주기 만큼 테이블(WRH$_ 테이블들) 이 가지고 있어야 하는데 그러지 못하는 경우 - 버그임 기본적으로 아래의 패키지를 이용하여 스냅샷을 삭제함. 그러나 너무 오래 걸리고 비효율적이라 생각됨. 수행 패키지 EXEC DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(:MIN sanp, :MAX snap); > 삭제만 되고 줄여주진 않음 (rebuild 가 안됨) 해당 패키지..

Oracle/etc 2022.01.25

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

HWM

HWM 확인 및 Resize 예상치 확인 * move & rebuild 작업 이후 HWM 줄어든 것을 확인 하기 위함 사용률 계산 식은 아래와 같음. 마지막 줄에 계산하는 쿼리 넣었음 filed_id 명 확인 select ','''||file_id||'''', tablespace_name, autoextensible, bytes/1024/1024 MB, MAX(bytes/1024/1024) "maxextendM" FROM DBA_DATA_FILES where tablespace_name = 'TBS_PARI_PART' group by file_id, tablespace_name, autoextensible, byteS order by 3,4 desc filed_id 명으로 마지막 block_id, blo..

Oracle/tablespace 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
반응형