728x90 SQL18 [PYTHON] 트랜잭션 격리 수준(Isolation Level)의 4가지 단계와 파이썬 제어 방법 금융 시스템이나 이커머스 플랫폼처럼 데이터의 원자성(Atomicity)과 일관성(Consistency)이 생명인 서비스를 개발할 때, 개발자가 마주하는 가장 까다로운 적은 바로 '동시성(Concurrency)'입니다. 여러 사용자가 동시에 같은 데이터를 수정하려 할 때, 데이터베이스(DB)는 어떤 기준으로 이를 허용하고 차단할까요? 이 메커니즘을 결정하는 것이 바로 트랜잭션 격리 수준(Isolation Level)입니다. 오늘 이 글에서는 ANSI/ISO SQL 표준이 정의하는 4가지 격리 수준의 차이를 분석하고, 파이썬의 대표적인 ORM과 드라이버에서 이를 실무적으로 제어하는 해결 방법을 심층적으로 다룹니다.1. 트랜잭션 격리 수준의 4단계 정의와 발생 현상 차이격리 수준이 높을수록 데이터 정합성은 강.. 2026. 3. 20. [ORACLE] SESSION_ROLES 완벽 가이드: 현재 세션에 활성화된 역할을 정확히 읽고, 점검하고, 통제하는 방법 SESSION_ROLES는 “지금 이 세션에서 실제로 쓰이고 있는 역할(role)”을 정확히 보여주는 가장 단순하면서도 강력한 뷰입니다. 권한 감사, 최소 권한 원칙(Least Privilege) 점검, 애플리케이션 세션 검증, 운영 이슈 재현 등에서 첫 번째로 확인해야 할 객체죠. 이 글은 오늘 바로 적용할 수 있는 점검 절차와 예제, 그리고 관련 뷰와의 정확한 비교표까지 담았습니다.핵심 요약: SESSION_ROLES는 “활성화된 역할 목록”을 한 줄에 한 개씩 반환합니다(열: ROLE). 부여는 되었지만 현재 세션에서 꺼져 있는 역할은 보이지 않습니다.1) 왜 SESSION_ROLES부터 봐야 할까?현재 영향 범위: 지금 실행되는 SQL/PLSQL이 어떤 역할의 시스템/객체 권한에 의해 허용되는지 .. 2025. 10. 9. [ORACLE] ROLE_ROLE_PRIVS : 롤 간 권한 상속을 한눈에 ROLE_ROLE_PRIVS는 롤(ROLE)과 롤 사이의 권한 상속 관계를 보여주는 Oracle 데이터 사전 뷰입니다. 사용자에게 직접 부여된 권한은 DBA_ROLE_PRIVS에서 확인할 수 있지만, 어떤 롤이 다른 롤을 포함하고 있는지를 정확히 파악하려면 ROLE_ROLE_PRIVS가 핵심입니다. 대규모 시스템이나 다단계 롤 체계를 운영할수록 “권한이 어디서 흘러들어왔는가?”를 추적하는 데 이 뷰가 가장 빠릅니다.1) 한눈에 이해하는 핵심 요약주제핵심 내용현업 활용 포인트역할롤 간 포함 관계(상속)를 조회“이 롤이 왜 강한가?”를 구조적으로 설명대표 컬럼ROLE, GRANTED_ROLE, ADMIN_OPTION, COMMON, INHERITED (버전에 따라 상이 가능)관리 권한 여부(ADMIN_OPT.. 2025. 9. 10. [ORACLE] ALTER() 예제 중심 설명 : 개발자가 꼭 알아야 할 핵심 내용 이 글에서는 Oracle Database에서 자주 사용되는 ALTER 문에 대해 심도 있게 설명합니다. 다양한 실무 예제를 통해 개발자가 실제 업무에 적용할 수 있도록 구성하였습니다.1. ALTER 문이란?ALTER 문은 데이터베이스 오브젝트의 구조를 변경할 때 사용됩니다. 주로 테이블, 컬럼, 제약조건 등을 수정할 때 활용되며, CREATE와 DROP 사이의 유연한 구조 변경을 위한 필수 문법입니다.2. 컬럼 추가 (ADD)기존 테이블에 새로운 컬럼을 추가하는 기본 구문입니다.ALTER TABLE employees ADD (email VARCHAR2(100));컬럼 여러 개를 동시에 추가하려면 괄호 안에 쉼표로 구분하여 작성합니다.ALTER TABLE employees ADD ( phone_numbe.. 2025. 6. 10. [ORACLE] COMMENT() 구문으로 테이블과 컬럼 설명 문서화하기 1. ORACLE COMMENT란?Oracle에서 COMMENT는 테이블, 칼럼, 뷰 등 객체에 대한 설명을 추가하는 기능입니다. COMMENT 구문은 메타데이터에 정보를 기록하여, 개발자와 DBA가 테이블 구조를 이해하는 데 도움을 줍니다.2. COMMENT 구문의 기본 문법COMMENT ON TABLE 테이블명 IS '설명문';COMMENT ON COLUMN 테이블명.컬럼명 IS '설명문';예제 1: 테이블에 주석 추가COMMENT ON TABLE employees IS '사원 기본 정보 테이블';예제 2: 컬럼에 주석 추가COMMENT ON COLUMN employees.salary IS '사원의 월급 정보';3. COMMENT 활용 목적데이터베이스 객체의 의미 명확화SQL Developer, TO.. 2025. 6. 9. [ORACLE] TABLE() 생성부터 제약 조건 설정까지 완전 정복 1. Oracle에서 TABLE이란?TABLE은 Oracle Database에서 데이터를 저장하는 가장 기본적인 객체입니다. 각 테이블은 행(Row)과 열(Column)로 구성되며, 데이터베이스의 핵심인 구조적 정보를 담고 있습니다.2. 테이블 생성 기본 문법CREATE TABLE 테이블명 ( 컬럼명 데이터타입 [제약조건], ...);예제: 기본 테이블 생성CREATE TABLE employees ( employee_id NUMBER PRIMARY KEY, first_name VARCHAR2(50), last_name VARCHAR2(50) NOT NULL, hire_date DATE, salary NUMBER(10,2));3. 데이터 타입 주요 종류데이터.. 2025. 6. 9. 이전 1 2 3 다음 728x90