본문 바로가기

오라클

(4)
ORA-00060: Deadlock Detected 오류 해결 방법 [SQL] ORA-00060: Deadlock Detected 오류 해결 방법1. ORA-00060 오류란?ORA-00060 오류는 두 개 이상의 트랜잭션이 서로의 자원을 점유한 상태에서,각자 상대방의 자원이 해제되기를 기다리면서 무한 대기 상태에 빠질 때 발생합니다.이를 데드락(Deadlock)이라고 합니다.2. 데드락이 발생하는 상황서로 다른 세션이 같은 테이블을 동시에 업데이트하거나,순서가 다른 트랜잭션 간에 서로 락을 걸면서 발생합니다.-- Session ABEGIN;UPDATE employees SET salary = salary + 100 WHERE id = 1;-- 동시에 Session B에서 실행BEGIN;UPDATE employees SET salary = salary + 200 WHER..
[SQL 성능 최적화 & 튜닝] SQL VIEW와 MATERIALIZED VIEW 차이 및 활용법 [SQL] SQL VIEW와 MATERIALIZED VIEW 차이 및 활용법1. VIEW란?VIEW(뷰)는 실제 테이블이 아닌,하나 이상의 테이블을 기반으로 한 **가상 테이블(Virtual Table)** 입니다.데이터를 효율적으로 관리하고 복잡한 SQL 쿼리를 간소화하는 데 유용하게 사용됩니다.✔ **VIEW 기본 사용법**-- VIEW 생성CREATE VIEW employee_view AS SELECT emp_id, name, salary FROM employees WHERE salary > 5000;-- VIEW 조회SELECT * FROM employee_view;✅ **특징:** - **물리적인 데이터 저장 공간을 차지하지 않음**- 테이블처럼 사용 가능하지만, **실제 데이터는 원본 테이블에..
[데이터 무결성 & 트랜잭션] 오라클 LOCK 종류와 동작 방식 (Row Lock vs Table Lock) [SQL] 오라클 LOCK 종류와 동작 방식 (Row Lock vs Table Lock)1. LOCK이란?LOCK(잠금)은 데이터베이스에서**동시에 여러 사용자가 데이터를 수정할 때 발생할 수 있는 충돌을 방지**하기 위한 기법입니다.오라클은 트랜잭션의 일관성을 유지하면서도 성능을 최적화하기 위해 다양한 LOCK 메커니즘을 제공합니다.2. LOCK의 주요 목적✔ **동시성 제어(Concurrency Control):** 여러 트랜잭션이 동시에 접근할 때 데이터 정합성을 유지✔ **데이터 일관성 유지(Consistency):** 변경 중인 데이터를 다른 트랜잭션이 읽거나 수정하지 못하도록 방지✔ **교착 상태(Deadlock) 방지:** 여러 트랜잭션이 서로의 자원을 기다리며 무한 대기 상태에 빠지는 현상..
[SQL 성능 최적화 & 튜닝] 오라클 INDEX 종류와 활용법 (B-Tree, Bitmap) [SQL] 오라클 INDEX 종류와 활용법 (B-Tree, Bitmap)1. INDEX란?데이터베이스에서 INDEX(인덱스)는 검색 성능을 최적화하기 위해 사용되는 데이터 구조입니다.INDEX를 적절히 사용하면 WHERE 조건, JOIN 연산, ORDER BY 등의 SQL 성능을 크게 향상시킬 수 있습니다.2. INDEX의 기본 개념INDEX는 테이블 내 데이터를 빠르게 조회하기 위한 **색인** 역할을 합니다.✔ 테이블의 특정 컬럼에 대해 정렬된 데이터 구조를 유지✔ 검색 시 전체 테이블 스캔을 방지하고, 필요한 데이터만 빠르게 찾음✔ 하지만 INSERT, UPDATE, DELETE 성능이 저하될 수 있음 (INDEX 재구성 필요)3. 오라클에서 지원하는 주요 INDEX 유형INDEX 유형설명사용 예제..