반응형

Dev/Database 48

[MSSQL] DB DeadLock 원인 쿼리찾기, 데드락 원인, 교착상태

DB DeadLock 이란? 모든 프로세스가 대기 상태이며 각 프로세스가 다른 프로세스가 가지고 있는 자원을 기다리고 있는 상태 기본적으로 SQL Server 데이터베이스 엔진은 교착 상태에 있는 작업에 대해 주기적으로 검사한다. 모니터가 교착상태를 감지하면 작업 중 하나를 선택하여 오류와 함께 트랜잭션을 종료한다. 이렇게 하면 다른 태스크가 해당 트랜잭션을 완료할 수 있다. 오류로 종료된 트랜잭션이 있는 애플리케이션은 트랜잭션을 다시 시도할 수 있으며, 일반적으로 교착 상태의 다른 트랜잭션이 완료된 후에 완료된다. SQL Server 에서 기본적으로 DeadLock 상태를 해제해주지만, DeadLock 을 자주 발생시키는 쿼리를 확인하고 개선할 수 있다. (단, DeadLock 을 유발한 쿼리는 발생 ..

Dev/Database 2023.10.25

[MSSQL] 테이블 디스크립션 확인, 테이블 description

MSSQL 테이블 description 확인하는 쿼리 DECLARE @TABLE_NAME NVARCHAR(50) = '테이블이름'; SELECT D.COLORDER AS COLUMN_IDX -- Column Index , A.NAME AS TABLE_NAME -- Table Name , C.VALUE AS TABLE_DESCRIPTION -- Table Description , D.NAME AS COLUMN_NAME -- Column Name , E.VALUE AS COLUMN_DESCRIPTION -- Column Description , F.DATA_TYPE AS TYPE -- Column Type , F.CHARACTER_OCTET_LENGTH AS LENGTH -- Column Length , F..

Dev/Database 2023.07.12

[Oracle/DBeaver] 'Keep-Alive monitor' 에 문제점이 발생했습니다. Java heap space (메모리 부족 오류) / 메모리사용량 / 메모리증설 / 메모리추가

DBeaver 에서 csv 파일로 데이터 가져오기를 하던 도중 다음과 같은 에러가 발생했다. 대용량 테이블을 이관하거나, CSV 파일 작업을 할 때 Java heap space 부족 오류가 발생하는 경우가 있다. DBeaver 메모리를 증설하는 방법으로 위의 에러를 해결할 수 있다. [ Window 환경에서의 DBeaver 메모리 증설 ] 1. DBeaver 아이콘 마우스 우클릭 > 속성 대상에 -vmargs -Xms8192m 를 추가한다. (Xms는 DBeaver 가 구동시 확보하는 최소 메모리 사이즈이며, Xmx는 최대 메모리양이다. 8192m 으로 설정하면 최대 8GB의 메모리를 끌어다 쓸 수 있다.) 2. DBeaver의 메모리 사용량 보이게 하기. 상단의 윈도우(W) > 설정 > 힙 상태 표시(W)

Dev/Database 2023.06.12

[Oracle] TRUNCATE, DELETE, DROP 차이, 테이블 데이터 삭제

1. 테이블 구조는 남기고 데이터 전체 삭제 - DDL - 트랜잭션 로그에 한번만 기록되므로 성능이 DELETE보다 좋음 - ROLLBACK 불가능 - 테이블 용량이 초기화됨 TRUNCATE TABLE [테이블명]; 2. 테이블 존재 자체를 삭제 - DDL - 테이블 정의, 테이블에 대한 데이터, 인덱스, 트리거, 제약조건 및 권한 모두 제거 DROP TABLE [테이블명]; 3. 조건절 이용해서 특정 행만 삭제 - DML - 테이블 용량 감소 X - 행 잠금(LOCK)을 사용하여 실행됨 - 삭제된 각 행에 대해 트랜잭션 로그를 기록하므로 TRUNCATE 보다 느림 - 인덱싱 된 VIEW 와 함께 사용가능 - ROLLBACK 가능 DELETE TABLE [테이블명] WHERE ROWNUM > 2 ;

Dev/Database 2023.06.12
반응형