RDBMS 3

[DB / Oracle / Table 저장 데이터 용량 확인]

✅ ISSUE 형상관리 부서에서 현재 우리 부서에서 관리하고 있는 프로그램 DB들에 대한 데이터 저장 현황을 요청해서 조사해야 할 일이 있었다. 조사해야할 내용은, 테이블 이름, ROW 수, 데이터 크기(MB, GB)였다. ✔ 작성 쿼리 SELECT TABLE_NAME, /* 테이블 명 */ NUM_ROWS, /* ROW 개수 */ NUM_ROWS * AVG_ROW_LEN as BYTE, /* 행 갯수와 로우 평균 데이터(avg_row_len)을 곱하여 전체 용량(byte) 계산 */ ROUND((NUM_ROWS * AVG_ROW_LEN / 1024 / 1024), 2) AS MB, /* mb 계산 */ ROUND((NUM_ROWS * AVG_ROW_LEN / 1024 / 1024 / 1024), 2) ..

개발/DB 2023.01.30

[DB / SQL / 다중 행 가로 출력]

✅ ISSUE 현재 보고서 관리 프로그램을 만들고 있는데, 한 건의 보고서에는 총 4명의 담당자가 등록되어야 한다. 보고서 구분은 'REPORTPK'라는 컬럼으로 한다. 이 컬럼은 담당자 테이블에 상속되어 1건의 보고서에 4명의 담당자가 등록될 수 있는 역할을 한다. 4명의 담당자를 등록하기 위해, 담당자 테이블(WORKER_TB)을 따로 만들고 'WORKERKIND'라는 컬럼을 두어, 해당 컬럼으로 하여금 어떤 담당자인지 구분할 수 있게 하였다. 'WORKERKIND'는 총 4개(수신자, 발신자, 담당관, 확인관)이고, 담당자 조회화면을 구현하기 위해 4개 행을 한 행으로 출력해야하는 Issue가 발생하였다. ✔ 일반 조회 시(여러 행) SELECT * FROM WORKER_TB; reportpk wo..

개발/DB 2022.12.04

[DB / Tibero / JDBC-5072 / Failure converting NUMBER to or from a native Type]

ER-WIN에서 외래키 설정을 잘못하는 바람에 기존에 작성한 스키마들을 모두 날려야하는 상황이 생겼다. 그래서 데이터 삭제하고 Casecade 걸고 모두 다 삭제 하면 되겠지? 하고 쿼리 실행을 눌렀는데 오류가 발생했다. JDBC-5072 : Failure converting NUMBER to or from a native Type. 쿼리 실행하기 전에 분명히 데이터도 다 날리고 delete를 실행 했는데 뭘까... 구글링을 해보니 티베로 오류라고 한다. (역시... 구글이 최고의 선생님이다...) 원인은 _DD_TBL 테이블의 ROW_CNT가 NUMBER가 아닌 Null로 설정되어있기 때문에 오류가 나타난 것이다. ✅ Solution 1. Sys내의 테이블을 수정해야 하는 작업이므로, root 계정에 ..

개발/DB 2022.07.15