본문 바로가기

👩‍💻TIL/DB10

[ORA-12953]The request exceeds the maximum allowed database size of 11 GB [ORA-12953]The request exceeds the maximum allowed database size of 11 GB 📌오라클 11g express 버전 용량 제한 에러 express 버전 라이센스의 경우, 개발, 프로토타임, 내부 데이터 처리, 교육 등을 위한 목적으로만 무료로 이용이 가능하다. 사용용도 외에 환경 상의 제약도 아래와 같이 있다. Any use of the Oracle Database Express Edition is subject to the following limitations; Express Edition is limited to a single instance on any server; (단일 인스턴스로 제한된다) Express Edition may be inst.. 2021. 8. 23.
[ORA-01691] unable to extend lob segment by 1024 in tablespace SYSTEM 해당 이슈는 오라클 테이블스페이스에 여유공간이 없어서 발생하는 이슈 -> 테이블 스페이스 공간 늘려주는 것이 필요하다! 1️⃣먼저, 테이블 스페이스에 남은 용량은 확인한다. select substr(a.tablespace_name,1,30) tablespace, round(sum(a.total1)/1024/1024,1) "TotalMB", round(sum(a.total1)/1024/1024,1)-round(sum(a.sum1)/1024/1024,1) "UsedMB", round(sum(a.sum1)/1024/1024,1) "FreeMB", round((round(sum(a.total1)/1024/1024,1)-round(sum(a.sum1)/1024/1024,1))/round(sum(a.total1)/.. 2021. 8. 23.
[DB] JPA와 mapper 방식 비교 및 장단점 [DB] JPA와 mybatis, mapper 방식 비교 및 장단점 갈수록 JPA를 사용하는 곳이 늘어나고 있다. 최근에 진행한 프로젝트에서 jpa로 진행하는 경우가 많았는데, 사용할 수록 두 가지의 장단점이 뚜렷하여 mybatis를 사용한 mapper 방식과 여러가지로 비교가 될 수 밖에 없었다. 간단히 정리해보자면, 다음과 같다. 장점 💡 관리 및 유지보수가 쉽다 : SQL 쿼리문을 직접적으로 작성하지 않고 객체를 바탕으로 데이터베이스를 동작시키므로 유지보수가 간결하다. 쿼리가 수정되면 그를 담을 DTO 필드에 모두 변경이 일어나야하지만 JPA는 엔티티 클래스 정보만 변경하면 쉽게 관리가 가능하다. 💡 생산성 향상 : 기존에는 개발자가 CRUD용 쿼리를 하나하나 작성해야 하며, DB에서 컬럼이 추가되.. 2021. 5. 8.
[DB] DB확장을 하는 두가지 방법- 스케일 아웃(scale out)과 스케일 업 (scale up) [DB] DB확장을 하는 두가지 방법- 스케일 아웃(scale out)과 스케일 업 (scale up) 서버를 운영하다보면 이용자의 증가, 서비스의 확장 등의 이유로 더 많은 용량과 성능이 더 필요하게 된다. 이때, 수평적으로 부하를 분산하는 스케일 아웃(scale out) 방식으로 확장을 할 지 아니면 해당 서버의 용량 자체를 올리는 스케일 업 (scale up) 방식으로 확장을 할지 선택해야 한다. 그렇다면 두 가지 방식이 각각 어떤 차이가 있을까? 💡 스케일 아웃 ‘스케일 아웃’이란 접속된 서버를 여러 대 추가하여 처리 능력을 향상하는 방법이다. 수평 스케일로 불리기도 한다. 예를 들어, 하나의 처리 능력을 가진 서버에 동일한 서버 6대를 더 추가하여, 총 7의 처리 능력을 만드는 것이다. 서버가 .. 2020. 7. 20.
[MySQL] The server time zone 에러 해결 The server time zone value ‘KST’ is unrecognized or represents more than one time zone 에러 The server time zone value ‘KST’ is unrecognized or represents more than one time zone : The server time zone value ‘KST’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone.. 2020. 4. 10.
[MyBatis] BindingException: Invalid bound statement (not found) 에러 Invalid bound statement (not found): 에러가 발생하는 이유가 몇 가지 있는데 원인은 아래와 같다. Mapper Interface와 mapping되는 xml파일에 오타가 있는 경우 : 예를 들면 id와 Interface에 메소드명이 일치하지 않는 경우 classpath에 경로가 잘못된 경우 xml이 저장될 경로는 잘못 생성한 경우 나는 첫번째 방법으로 mapper의 메소드명과 xml파일의 id를 일치시켜주니 해결이 되었다! 2020. 4. 10.
[SQL 튜닝] 드라이빙 테이블(DRIVING TABLE)의 개념/결정 규칙 [SQL 튜닝] 드라이빙 테이블(DRIVING TABLE)의 개념/결정 규칙 💡 먼저, 드라이빙 테이블(DRIVING TABLE)이란? JOIN시 먼저 액세스 돼서 ACCESS PATH를 주도하는 테이블을 드라이빙테이블이라고 한다. 즉, 조인시 먼저 액세스되는 쪽을 드라이빙 테이블(DRIVING TABLE, OUTER TABLE)이라고 하며, 나중에 액세스 되는 테이블을 드리븐 테이블(DRIVEN TABLE, INNER TABLE)이라고 한다. 인덱스(INDEX)의 존재 및 우선순위 혹은 FROM절에서의 TABLE 지정 순서에 영향을 받으며 어느 테이블이 먼저 엑세스되느냐에 따라 속도의 차이가 크게 날 수 있으므로 많은 양의 데이터를 다룰 때, 드라이빙 테이블은 매우 중요하다. 예를 들어, 조건을 만족하.. 2020. 3. 9.
[SQL 튜닝] 오라클 힌트(hint)의 개념/ 사용법/자주쓰이는힌트 정리 [SQL 튜닝] 오라클 힌트(hint)의 개념/ 사용법 정리 💡 힌트(Oracle Hint)란 무엇일까? 힌트란 SQL 튜닝의 핵심 부분으로 일종의 지시 구문이다. 즉, 오라클 옵티마이저(Optimizer)에게 SQL문 실행을 위한 데이터를 스캐닝하는 경로, 조인하는 방법 등을 알려주기 위해 SQL사용자가 SQL 구문에 작성하는 것을 뜻한다. 오라클이 항상 최적의 실행 경로를 만들어 내기는 불가능하기 때문에 직접 최적의 실행 경로를 작성해 주는 것이다. 사용자가 특정 SQL 문장에서 어떤 인덱스가 선택도가 높은지 알고 있는 경우 Optimizer에 의존한 실행 계획보다 훨씬 효율적인 실행 계획을 구사할 수 있다. 단, 힌트, 인덱스, 조인의 개념을 정확히 알고 사용하지 않은 무분별한 힌트의 사용은 성능의.. 2020. 3. 9.
[DB]트랜잭션(Transaction)이란?/트랜잭션의 개념,특징, 연산과정/savepoint 트랜잭션(Transaction)이란?/트랜잭션의 개념,특징/UNDO 복구와 REDO복구 💡 트랜잭션(Transaction)이란? 컴퓨터 과학분야에 트랜잭션은 "쪼개질 수 없는 업무처리의 단위"를 의미합니다. ATM으로 계좌이체를 한다고 생각해보면, 1. A 은행에서 출금하여 B은행으로 송금하려고 합니다. 2. 송금 중, 알 수 없는 오류가 발생하여 A은행 계좌에서 돈은 빠져 나갔지만 B은행의 계좌에 입금되지 않았습니다. 3. 이와 같은 상황을 막기위해 거래가 성공적으로 모두 끝나야 이를 완전한 거래로 승인하고, 거래 도중 뭔가 오류가 발생했을 때는 이 거래를 처음부터 없었던 거래로 완전히 되돌리는 것입니다. 이렇게 거래의 안전성을 확보하는 방법이 트랜잭션입니다. 데이터베이스에선 테이블에서 데이터를 읽어 .. 2020. 2. 16.
[DB]SQL(관계형 데이터베이스)과 NoSQL(비 관계형 데이터베이스) 개념/비교/차이 SQL(관계형 데이터베이스)과 NoSQL(비 관계형 데이터베이스) 개념/비교/차이 ※ 아래의 포스팅은 ACADEMIND의 SQL vs NoSQL or MySQL vs MongoDB 내용을 번역한 것입니다. 👉🏻https://academind.com/learn/web-dev/sql-vs-nosql/ # Overview 웹 개발을 위한 첫 걸음을 내딛고 나서, 하나의 선택을 하게 됩니다. MySQL와 같은 SQL을 사용할 것인가? 아니면 MongoDB같은 NoSQL을 사용할 것인가? Node.js로 작업할때 NoSQL (MongoDB)이 더 좋다는 인상을 가지고 계실지도 모르겠지만 잘못된 생각입니다. 이 글에서는 SQL과 NoSQL 데이터베이스의 핵심개념을 소개한 다음, 각 솔루션의 차이점과 장단점을 설명하.. 2020. 2. 13.