* 테이블 스페이스의 용량이 다 찰 경우, 해당 테이블 스페이스를 참조하고 있는 테이블들이 정상적으로 I/O가 일어날 수 없으므로 장애로 연결된다. 1. 전체 테이블 스페이스 확인(TEMP_USED 미포함) SELECT A.TABLESPACE_NAME, ROUND(SUM(A.BYTES) / (1024 * 1024 * 1024)) "전체(GB)", ROUND(SUM(B.FREES) / (1024 * 1024 * 1024)) "여유(GB)", ROUND(SUM(B.FREES) * 100 / SUM(A.BYTES), 2) AS "잔여공간비율(%)" FROM (SELECT FILE_ID, TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY FILE_I..
1. 순간적인(1~2분 사이) 과다 실행된 SQL 찾기 * 잠잠하던 DB서버의 CPU가 특정시간 대에 갑자기 사용률이 증가했을 때, 해당 시간대에 문제가 된 SQL 원인을 찾아야 함 * 하지만 AWR(Automatic Workload Repository), ADDM(Automatic Database Diagnostic Monitor)은 수집주기가 30분으로 길어서, 5분 이내 순간적인 SQL 부하는 찾기가 어려움 * 이런 경우 ASH(Active Session History)를 통해서 조회가 가능함 * ASH는 실시간(1초)마다 수집하기 때문에 SQL_ID가 많이 보이는 쿼리를 의심할 수 있음 2. (예시) 2022년 05월02일 03시30분 ~ 03시35분 사이 많이 수행된 SQL 찾기 SELECT *..
1. 플래시백(FlashBack)이란? * 과거 일정시점의 데이터를 조회할 수 있는 기능(오라클 9i부터 지원) * 커밋을 완료한 데이터도 조회 가능 * 무한대의 과거 시점 조회는 불가능(undo 영역에 남아있어야 조회처리가 가능) - init.ora -> undo_retention 설정(디폴트: 10800(3시간)) 2. 플래시백 사용 방법 --30분 이전의 해당 테이블 데이터 조회 SELECT * FROM CM_PRG_MST AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '30' MINUTE) WHERE PRG_ID = 'OD014' --3시간 이전의 해당 테이블 데이터 조회 SELECT * FROM CM_PRG_MST AS OF TIMESTAMP (SYSTIMESTAMP ..
1. 어떤 경우에 DB Lock이 걸릴까? (1) 프로시저를 컴파일 할 때 문법에러도 아닌데 컴파일이 안되는 경우 - 잘못된 DB 링크를 참조하고 있거나, 프로시저 내에서 수행되는 테이블에 DB Lock이 걸리면 정상 컴파일이 되지 않고 무한 대기상태로 돌입 (2) 프로시저를 참조하는 배치가 끝나지 않고 Running 상태인 경우 2. Lock 발생 테이블 조회 쿼리 --1. lock 발생 사용자와 SQL, OBJECT 조회 SELECT DISTINCT X.SEESION_ID, A.SERIAL#, D.OBJECT_NAME, A.MACHINE, A.TERMINAL, A.PROGRAM, B.ADDRESS, B.PIECE, B.SQL_TEXT FROM V$LOCKED_OBJECT X, V$SESSION A, ..