IT/DBMS 3

[Oracle/MySQL] 교착 상태 해결하는 방법

교착 상태는 데이터베이스 시스템의 일반적인 문제일 수 있으며 신속하게 해결하지 않으면 심각한 성능 문제를 일으킬 수 있습니다. 교착 상태는 두 개 이상의 트랜잭션이 서로 리소스를 해제하기를 기다리고 있을 때 발생하며 그 결과 어떤 트랜잭션도 진행할 수 없는 교착 상태가 됩니다. Oracle 및 MySQL 데이터베이스에서 교착 상태 세션을 찾고 해결하는 방법을 살펴보겠습니다. Oracle에서 교착 상태 세션 식별 Oracle에는 교착 상태 감지 메커니즘이라고 하는 교착 상태를 감지하고 해결하는 내장 메커니즘이 있습니다. 이 메커니즘은 교착 상태를 감지하고 이를 해결하기 위해 필요한 조치를 취하는 역할을 합니다. 교착 상태가 감지되면 Oracle은 경고 로그 파일에 오류 메시지를 기록하고 영향을 받은 세션에..

IT/DBMS 2023.02.17

[MySQL] 1071 ERROR (767 byte 오류)

MySQL 1071 오류 해결방법은? 프로젝트를 진행 중 MySQL 설치 후 DB를 사용 중 1071 오류가 발생했다. 오류 내용에는 767 byte에 관련으로 로그가 나타났다. 솔직히 원인이 도대체 무엇인지 알 수가 없었다. 그래서 결국 Google 의 힘을 빌어서 검색한 끝내 MySQL로는 나타나지 않았지만, 유사한 증사으로 오류가 발생하는 MariaDB 관련 이슈 내용을 확인하게 되었다. 간단하게 설명하면 innodb의 file fomat을 변경에 줘야 한다. 아래의 두 명령어를 사용하면 이슈는 해결된다. 1. innodb_file_format=barracuda 2. innodb_large_prefix=on 이해하기가 어려울 때는 그냥 간단하게 이슈처리 내용만 알고 있는 것도 방법인 것 같다. 자세..

IT/DBMS 2020.11.11

[MySQL] 쿼리 조회 시 대소문자 구별, 구분 방법

MySQL쿼리 사용 시 대소문자 구분 방법은? 프로젝트를 진행하던 중 생각지도 못한 이슈를 확인하였다. 우선 사용되는 버전은 5.6 이다. MySQL은 테이블명이나 컬럼명이 대소문자를 구분하는 것은 알고 있었다. 하지만 쿼리에서 대소문자가 구분이 안된다는 것은 전혀 생각지 못했다...;;; 방법을 찾아보니 다 향한 케이스들로 처리하는 방법이 존재하였다. 1. 쿼리 작성 시 WHERE절에 binary를 설정 => SELECT * FROM test_table WHERE BINARY yn = 'Y'; 일반적으로 BINARY를 사용하지 않으면 y, Y 모두 검색된다. 2. 테이블 생성 시 컬럼에 binary 옵션을 주어 테이블을 생성 => create table test_table (yn varchar(1) b..

IT/DBMS 2020.11.09