Oracle 5

[Oracle] 오라클 시퀀스가 동시성 이슈를 보장해주는 이유

서론이전 회사에서 오라클 시퀀스를 활용해 선착순 이벤트 처리를 한 경험에 대해 복기하던 도중, 오라클 시퀀스가 어떻게 그걸 보장해주는지가 궁금해졌다.오라클을 사용하지 않는다면 Redis를 사용해서 동시성 이슈를 제어하거나, 자바 단에서 thread, callback 등을 통해서 제어하는 방식이 있을텐데, 오라클에서 제공하는 기능을 활용해 훨씬 간단하게 업무를 처리한 기억이 있다.아마 이런식으로 업무처리하신 분이 나 말고도 있을 것 같은데, 그게 어떻게 가능한건지 알아보도록 하자. 간단한 포스팅이니 이해가 쉬울듯.시퀀스가 뭔지, 이런것들에 대한 내용은 다른 블로그를 참고하도록 하자.참고https://velog.io/@norighthere/Oracle-%EC%98%A4%EB%9D%BC%ED%81%B4-%EC..

Backend/DB 2024.06.11

[ORACLE] TRUNC 함수 사용법

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 목차 개요 TRUNC 함수에 대해 알아보자. 시간이나 숫자를 절사할 때 쓰는 함수로, 시간의 경우 TO_DATE 함수를 쓰면 귀찮아지니.. 사용가능하다면 이걸 잘 활용해주도록 하자. 참고 www.w3resource.com/oracle/datetime-functions/oracle-trunc(date)-function.php Oracle TRUNC (date) function - w3resource Oracle TRUNC (date) function: The TRUNC (date) function returns the date with the time portion of the day truncated to a specific unit of meas..

Backend/DB 2021.01.21

[Oracle] ORA-02437: cannot validate (~~) - primary key violated

문제 사항 원인 분석 기존에 있던 PK를 변경해야되서 삭제 후 다시 설정하려고했는데, 이런 에러가 났다. 검색해보니까 중복된 값이 존재해서라고 한다. 해결 방법 1. 직접..지우기 이거는 뭐.. 어쩔수가없다. 어떤 내용을 지워야되고 어떤걸 남겨야되는지는 사람이 판단해야 하기때문에.. PK속성을 가지고있던 컬럼들이 어떤게 중복되는지 봐야한다. 필요하다면 SELECT 문으로 뽑아내서 구별 한 뒤에 삭제하던지. 그렇게해야지. 다음은 중복되는 row를 삭제하는 쿼리다. 참고참고~ 만약 기본키가 여러개라면 PARTITION BY 컬럼명 1 -- num의 값이 1초과인 데이터들만 삭제 ) ); 참고 m.blog.naver.com/PostView.nhn?blogId=yka21&logNo=70019484646&prox..

Backend/DB 2020.10.06

[Oracle] date 타입 컬럼 String으로 가져오기

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 개요 date형식으로 db에 저장되어있는 값을 String으로 입맛대로 변환시켜 불러보자! 참고 https://enzycut.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4-DATE-%EB%82%A0%EC%A7%9C-%ED%83%80%EC%9E%85 [오라클] DATE 날짜 타입 [오라클] 날짜 타입 String으로 변환하기 오라클에서 날짜를 가지고 오는 방법 예제 SELECT SYSDATE FROM DUAL; 2017-12-10 00:00:00 위와 같이 년월일 시분초순으로 나타난다. 다음을 String형식으로 변환하면... enzycut.tistory.com 진행 과정 1. date타입에 대하여 기본적으로 YY..

Backend/DB 2020.07.30