⚙️Backend/DB5 [DB] 로킹(Locking) 단위 , 로킹과 병행성, DB 로킹 기법 로킹 단위란?로킹(locking) 단위란 데이터베이스에서 말그대로 ‘잠그는 단위’를 나타낸다. 로킹 기법이란 하나의 트랜잭션이 데이터를 엑세스하는 동안, 다른 트랜잭션이 해당 데이터 항목을 엑세스 할 수 없도록 하는 병행 제어 기법이다. ‘동시성 제어 기법’ 이라고도 한다.여기에서 록(lock)은 데이터를 사용하는 단위라고 볼 수 있다.마치 운영체제의 스레드 스케줄링처럼, 한 번에 하나만 사용하도록 하는 단위를 ‘로킹 단위’라고 한다.실질적인 예시를 들어보자면,프로젝트를 진행할 때 팀원과 DB를 관리해야하는 일은 빈번하다. 만약 내가 데이터를 추가하거나 수정하는 동안 다른 팀원도 동시에 같은 데이터를 건들게 될 경우, 오류가 발생하거나 올바르게 데이터를 처리하는 데에 문제가 발생한다. ❗️이 경우, 로킹.. 2025. 2. 26. [DB/OracleDB] Oracle DB 삭제한 데이터 복구하기 (TIMESTAMP) Oracle DB 삭제한 데이터 복구하기 (TIMESTAMP) 문제상황 1. 프로젝트를 진행하며 중복된 상품이 메인화면에 뜨는 오류가 발생해서 DB 정리를 맡게되었고, 쿼리문으로 테이블에 있는 데이터들을 정리시작.2. 'ORA-02292: 무결성 제약조건이 위배되었습니다- 자식 레코드가 발견되었습니다.' 라는 오류가 뜨며 해당 데이터가 삭제되지 않음. (해당테이블은 여러 자식테이블이 참조하고 있었기 때문이다..)3. 그래서 쿼리문을 통해 여러 테이블을 이것저것 삭제를 하다가 , 전혀 상관없는 상위의 쌩(?)데이터를 삭제하는 대실수를 저지름... (이제 해당 테이블로부터 작동하던 모든 동작에 오류발생... ㅎ) 찾아보니 삭제한 데이터를 시간을 기준으로해서 해당 테이블을 복구하는 방식이 있었다.. 2025. 1. 23. [DB] MyBatis vs. JPA 백엔드에서 데이터베이스를 사용하는 프레임워크에는 가장 흔하게 MyBatis와 JPA가 있다. MyBatis와 JPA의 차이에 대해 정리해보자! 1. DB와 연동하기 위한 기술DB와 연동하기 위한 기술에는 두 가지가 있다. (프레임워크) 1) SQL Mapper 2) ORM (Object Relational Mapping) SQL Mapper: 개발자가 작성한 SQL 실행 결과를 객체에 매핑함.ORM (Object Relational Mapping): 객체, DB데이터를 자동으로 매핑한다 -> 두 기술은 DB에 데이터를 저장한다는 공통점을 가지지만, 서로 다른 접근 방식을 가진다. 2. MyBatis vs. JPA MyBatis 는 SQL Mapper 기술을 제공하며,JPA는 ORM .. 2024. 10. 16. [DB/OracleDB] SQL문 조회, 함수 정리 SELECT *FROM EMPLOYEE;--모든행 행(WHERE 이하 조건이 없으므로) 과 모든 컬럼조회 · 논리연산자 AND, OR 는 ' &&와 || ' 가 아닌 AND, OR로 사용한다.-- 부서코드가 'D6'이면서, 이름이 '유재식'인 사원의 모든 정보 조회SELECT *FROM EMPLOYEEWHERE DEPT_CODE = 'D6' AND EMP_NAME = '유재식'; · 여러 컬럼의 결과나 값을 '하나의 컬럼'으로 묶을때 ' || ' 사용한다.SELECT EMP_ID || EMP_NAME || '사원' FROM EMPLOYEE; · 비교연산자 중 '같지않다' : != , ^=, · LIKE 연산자: 입력한 숫자, 문자가 포함된 정보를 조회할때 사용하는 연산자 1) '_' : .. 2024. 9. 9. [DB/OracleDB] Oracle Cloud , DBeaver 개발 환경 설정하기 Oracle Cloud 1. 2. 자율 운영트렉색션 처리 (ATP) 사용 자율 운영 데이터베이스(Autonomous Database): 기존의 DBA가 수행하던 데이터베이스 보안, 백업, 업데이트 및 기타 업무를 자동화하는 클라우드 데이터베이스이다. 3.기존에 생성해둔 Multi0729 라는 이름의 데이터베이스가 보인다. 클릭해서 들어가쟈 4. 데이터베이스 작업 > SQL 클릭 5.명령어를 통해 유저 생성, 권한부여, 유저삭제 등이 가능하다. DBeaver 에 데이터베이스 연결시키기전자지갑이용TNS 이름 나중에 DBeaver에 입력하는 코드에 넣어줘야됨.. -DBeaver +내용추가할 예정 2024. 9. 8. 이전 1 다음