본문 바로가기
728x90
반응형

oracle9

컬럼의 항목별 5건씩 뽑아주세요 메신저로 DB작업 요청이 들어옵니다. 구글에 검색하고, 챗봇에게 질문하면서, 테스트를 진행합니다. 눈을 비벼봅니다. 수천건의 빈 ROW들이 보입니다. 이상하다... NULL 제거했는데? 공백인가!? TRIM 도 해보고 길이값도 체크해봅니다. 중구난방 제각각인 데이터 길이에, TRIM을 해도 줄어들지 않습니다. 데이터를 개별적으로 열어보니 NULL 데이터가 아니라, 줄바꿈이 들어간게 수천건이었습니다. SELECT REPLACE(CONT,CHR(10),'') AS RE_CONT, 여차저차 결과를 도출합니다. 데이터를 추출해서 송부합니다. 작업 후 샘플을 글로 남깁니다. Oracle에서 GROUP BY를 사용하여 A 컬럼으로 필터링하고, 각각의 A 컬럼 값에 대해 전체 데이터 중 5건씩 뽑는 쿼리를 작성할 수.. 2024. 2. 23.
ORACLE 기간별 통계 : 일간, 주간, 월간 업무상 요청으로 제공한 쿼리의 샘플입니다. 각 기간별 통계를 제공하였습니다. 일간/주간/월간의 통계를 산출합니다. 주간 쿼리는 주차에 대한 기간정보를 요청에 의해 추가하였습니다. 요부분이 좀 까다로워서 찾아봤네요. -- 일간 쿼리 SELECT '일간' AS div,TO_CHAR(DTM, 'YYYY-MM-DD') AS day , COUNT(SEQ) AS cnt FROM TBL GROUP BY TO_CHAR(DTM, 'YYYY-MM-DD') ORDER BY day desc; -- 주간 쿼리 SELECT '주간' AS div, TO_CHAR(DTM, 'YYYY-IW') AS year_week , COUNT(SEQ) AS CNT , TO_CHAR(TRUNC(DTM, 'IW') , 'YYYY-MM-DD') AS .. 2024. 2. 21.
ORA-22835 버퍼가 너무 작아 CLOB를 CHAR 또는 BLOB에서 RAW로 변환할 수 없습니다 ORA-22835 저는 이 방식으로 해결하였습니다 맵으로 그냥 받는 경우, clob 객체가 찍힙니다. resultMap에서 String으로 치환해서 받아서 처리하였습니다. .... CLOB를 RESULTMAP에 담는 경우 RESULTMAP은 MyBatis에서 사용하는 개념 중 하나입니다. MyBatis는 데이터베이스에서 조회한 결과를 자바 객체로 변환하는 데에 ResultMap을 사용합니다. ResultMap을 정의하면 데이터베이스의 결과를 매핑하여 자바 객체로 변환할 수 있습니다. 만약 CLOB 데이터를 ResultMap을 사용하여 자바 객체에 매핑하려면, 일반적으로 다음과 같은 방법을 사용할 수 있습니다. 아래 예제는 MyBatis에서의 ResultMap을 사용한 CLOB 데이터 매핑의 간략한 예시입.. 2024. 1. 30.
Downloading external resources is disabled 갑자기 왜 그러냐 갑자기 오류가 넘쳐납니다. 한두개가 아닙니다. 수십개의 여러개의 오류가 표시되고 있습니다. 특별한건 없어요. 최신버전 이클립스를 깔았을 뿐인데 오류가 납니다. 멀쩡히 돌아가던 소스입니다. 그렇다면, 소스가 아닌 환경의 문제입니다. 환경셋팅 관련 해결방법들을 서칭합니다. Downloading external resources is disabled 일단 제일 윗줄의 오류, 그리고 막 작업하려던 쿼리 파일부터 확인합니다. 음.. 문법이 안 맞다는 말도 있고, 오탈자 이야기도 있습니다만 pass. 그렇군요. 설정을 확인해보라는 글이 있습니다. 신뢰도와 호감도가 상승하고 있습니다. 먼저 이클립스의 window – preperence – Maven – User Settings로 들어갑니다. 저는 .. 2024. 1. 22.
ORACLE TABLE COLUMN COMENT 정보 조회 산출물이나 기타 목적으로 테이블에서 코멘트 또는 컬럼 정보 등, 데이터 외의 정보를 출력해야 할 때가 있습니다. 한땀한땀 확인하는 수작업 말고 간단한 쿼리로 조회하는 방법을 정리해보았습니다. 테이블 컬럼정보 조회 Oracle 데이터베이스에서 테이블의 컬럼 정보를 얻기 위해 사용할 수 있는 방법은 다양합니다. 가장 일반적인 방법 중 하나는 다음과 같은 쿼리를 사용하여 원하는 테이블의 컬럼 정보를 가져오는 것입니다. DESCRIBE 테이블명; 위의 쿼리에서 '테이블명'에는 조회하려는 실제 테이블의 이름을 넣어주시면 됩니다. 이 쿼리는 특정 테이블에 대한 컬럼 정보를 보여줍니다. ALL_TAB_COLUMNS 또 다른 방법으로는 시스템 카탈로그 뷰인 'ALL_TAB_COLUMNS'을 사용하여 테이블의 컬럼 정보.. 2023. 12. 21.
[ERROR] ORA-12801 / ORA-01722 오라클 대용량 테이블에 HINT를 사용한 쿼리에서 오류가 발생하였다. INDEX_FFS(T PK_MEASURE_DATA) PARALLEL_INDEX(T PK_MEASURE_DATA) PARALLEL(T 4) ... ORA-12801: error signaled in parallel query server P002 언제나 처음보는 오류는 당황스럽다. 나올만한, 익숙한 오류는 그냥 올게 왔구나 하는 심정인 반면에, 이렇게 초면인 오류는 낯을 가리게 된다. 조심스럽게 접근한다. 오류구문을 구글/블로그/stackoverflow/GPT 등 세대를 망라한 온갖 잡신들을 영접한다. 비나이다 비나이다 답변을 알려주소서... ORA-12801: error signaled in parallel query server P0.. 2023. 12. 19.
대용량 테이블 전체 건수 조회 한 테이블에 건수가 많으니 카운팅도 오래 걸린다. 힌트나 실행계획을 이해를 해야 하는데, 이렇게 찾아보고 있다. 나는 천만단위 데이터에서 헉헉대고 있는데, 고수분들은 억단위까지는 커버하시는구나. 대단하다.. 책을 한번 찾아봐야 할것 같다. 아래 2개 블로그의 케이스 모두 효과를 확인하였다. 현재 나의 상황에서는 데브포유 님의 케이스가 가장 빠른 효과를 보여주었다. 정희락님의 케이스도 준수한 속도를 보여주었다. GOOD. 추후에 비슷한 케이스가 있을 때 참조하기 위해 2가지 모두 기록해둔다. 고수님들 감사합니다. 출처: https://dev4u.tistory.com/248 인덱스를 이용해서 index fast full scan + parallel로 하는 방법입니다. ----------------------.. 2023. 12. 6.
대용량 페이징 속도가 안나옵니다. 정렬하니 한세월이네요. 갑자기 대용량 데이터를 처리할 상황이 되었습니다. 한 테이블에 3천만건 가량의 데이터가 들어가 있고, 한그룹의 데이터가 2700만건 정도가 됩니다. 데이터는 더 늘어나겠지요. 통계데이터는 배치작업으로 별도 계산한 값을 조회하도록 처리했습니다. 하지만, 원자료를 조회하는 화면에서는 정렬 처리 또는 페이징 처리 과정에서 분단위로 속도가 나오더군요. 쉽게 갈 수 없을거라 생각했다.. 아무생각 없이 무지성으로 조회하다가 앗뜨거, 놀라서 검색을 했습니다. 다행히 아래 예제에서 보여주는 내용들이 많은 도움이 되었습니다. DBMS의 실행계획에 대해서도 공부를 좀 해봐야 할 것 같습니다. 머리에 다 들어가진 않더라도 이렇게 찾으려면 키워드는 머리 속에 좀 넣어둬야 도움이 될 것 같습니다. 참고 : https://m.b.. 2023. 12. 5.
oracle update with select 2가지 방법 Oracle에서 SELECT 후 UPDATE를 수행하는 방법은 크게 두 가지입니다. 각각은 다음과 같습니다: 1. 서브쿼리를 사용한 UPDATE 서브쿼리를 사용하여 SELECT 결과를 기반으로 UPDATE를 수행할 수 있습니다. 예를 들어, 다음과 같이 사용할 수 있습니다. UPDATE your_table SET column_to_update = new_value WHERE your_condition AND your_column IN (SELECT your_column FROM your_table WHERE your_select_condition); 이 예시에서는 `your_table`에서 일부 조건을 충족하는 행들에 대해 `column_to_update` 값을 업데이트하는 쿼리입니다. 2. MERGE .. 2015. 4. 24.
728x90
반응형