본문 바로가기
  • 읽고보고쓰고

PROGRAMMING97

[ORACLE] ORA-01840: 입력된 값의 길이가 날짜 형식에 비해 부족합니다 날짜형으로 Convert 하는 TO_DATE() 함수를 사용시, 'YYYY-MM-DD' 와 같은 형식으로 값을 넣어줘야 함에도 불구하고 숫자형으로 23 과 같이 넣어주면 발생하는 에러이다. 2022. 9. 7.
[ORACLE] ORA-00911: 문자가 부적합합니다 대부분 이런 오류는 XML 에서 ";"문자가 포함되어 발생하는 문제다. 2022. 9. 7.
[ORACLE] DB Object 목록 가져오기 쿼리 원하는 DB Object를 쿼리로 호출해서 찾아야할 때가 있다. 언제일까? 2 개의 동일한 DB의 Object를 비교해야 하는 상황이라고 할까? 개발 DB와 운영 DB를 비교해야 하는 상황에도 필요하겠다. /* 오라클 Function 목록 가져오기 */ select Object_Name from user_objects where object_type = 'FUNCTION' order by Object_Name; /* 오라클 Procedure 목록 가져오기 */ select Object_Name from user_objects where object_type = 'PROCEDURE' order by Object_Name; /* 오라클 View 목록 가져오기 */ select Object_Name from .. 2022. 9. 4.
[ORACLE] 테이블 스페이스 확인 쿼리 테이블 스페이스의 정보를 확인 하는 쿼리다. SELECT A.TABLESPACE_NAME, ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) CURRENT_SIZE, ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) FREE_SIZE, ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) USED_SIZE, ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) FREE_RATE, 100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) USED_RATE, ROUND(MAXBYTES/1048576,2) MAX.. 2022. 9. 4.
[ORACLE] 테이블 설명과 Row 수 확인 테이블 설명과 Row수를 확인해야 할 때가 있다. 간혹 count(*) 로 테이블 row 카운트를 구하는 경우도 있는데, 전체 테이블에 대한 것은 아래로 구해도 될 것 같다. SELECT A.TABLE_NAME , B.COMMENTS , A.num_rows FROM ALL_TABLES A , ALL_TAB_COMMENTS B WHERE A.TABLE_NAME = B.TABLE_NAME and A.owner = B.owner and A.owner = 'HR' ORDER BY A.TABLE_NAME; 2022. 9. 4.
[ORACLE] DB Lock 확인 쿼리 DB Lock 걸렸는지를 확인하는 절차를 아래의 쿼리를 순차적으로 처리하여 알 수 있다. /* 1. check lock object */ SELECT OBJECT_ID , SESSION_ID , ORACLE_USERNAME , OS_USER_NAME FROM V$LOCKED_OBJECT; /* 2. check sid, serial no , object name */ SELECT A.SID , A.SERIAL# , OBJECT_NAME , A.SID || ', ' || A.SERIAL# AS KILL_TASK FROM V$SESSION A INNER JOIN V$LOCK B ON A.SID = B.SID INNER JOIN DBA_OBJECTS C ON B.ID1 = C.OBJECT_ID WHERE B.T.. 2022. 9. 4.
[ORACLE] 테이블 명세서 추출 쿼리 오라클에서 사용하는 테이블명세서 추출 쿼리다. SELECT A.OWNER , A.TABLE_NAME , A.COLUMN_ID , A.COLUMN_NAME , B.COMMENTS , A.DATA_TYPE , A.DATA_LENGTH , A.NULLABLE FROM ALL_TAB_COLUMNS A inner join ALL_COL_COMMENTS B on A.owner = B.owner and A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME WHERE A.OWNER = 'HR' /*DB 소유자를 넣어줌*/ ORDER BY A.TABLE_NAME, A.COLUMN_ID; 2022. 9. 4.
[ORACLE] 로그 찍어 보기 대개 로그는 아래와 같이 찍어야 볼 수 있다. DBMS_OUTPUT.PUT('로그 내용'); 하지만, 이렇게 찍어도 보여지지 않을 때가 있는데 이유는 아래의 설정을 하지 않았기 때문이다. 아래의 2줄을 모두 호출하여 결과 값에 ON 이 나오도록 한다. (간혹 OFF가 나오면 다시 호출해 주면 됨) SHOW SERVEROUTPUT; SET SERVEROUTPUT ON; 그럼 이제 원하는 로그를 찍어서 볼 수 있을 것이다. 2022. 9. 4.
[ORACLE] Oracle Developer에서 Template 기능 사용하기 Oracle Developer 에서 내가 매우 잘 쓰는 기능은 단연 불필요한 키보딩을 줄여주는 Template 기능이다. 내가 사전에 만들어놓은 약어, 가령 "ord" 를 치고 Ctrl + Spacebar를 누르면 자동완성된다. 같은 키워드가 포함된 template이 많은 경우, 목록이 표시된다. Template 설정은 Oracle Developer 의 [도구] > [환경설정] 을 클릭 해야 하며, 열린 팝업에서는 아래 처럼 [데이터베이스] > [SQL편집기 코드 템프리트] 를 선택해야 한다. 목록에서 왼쪽 컬럼의 ID는 키워드를 의미하고, 오른쪽 (템플리트) 컬럼은 코드조각이 위치하는 곳이다. 템플리트 컬럼에 마우스를 갖다대면, 오른쪽에 연필모양(수정) 버튼이 나오고, 이를 클릭하며 아래와 같이 코드 .. 2022. 9. 4.
[빌드에러] ojdbc14-10.2.0.4.jar in project 'OOO' cannot be read or is not a valid ZIP file jar가 제대로 받아지지 않아서 나는 에러다. 기존에 제대로된 jar를 복사해, 해당 경로에 넣어주니 잘 동작한다. 이런 일이 왜 일어날까를 생가해보면, 폐쇄망에서 간혹 잘 발생할 수 있는 상황이라 보인다. 보통은 Nexus 를 통해 이런 문제가 없게 할 수도 있지만, 놓친 경우가 아닌가 싶기도 하다. 2022. 9. 4.
[데이터베이스] ORA-01013 사용자가 현재 작업의 취소를 요청했습니다. (user requested cancel of current ope ORA-01013 오류는 TimeOut 오류다. 대부분의 글들을 보면, TimeOut 시간을 늘려주라해서 문제를 해결했는가 본데, 내경우는 달랐다. Java 에서 해당 Insert 문을 프로시저를 통해 처리했는데, 아직 Transaction이 완료되지 않은 상황에서 바깥에서 한 번 더 Insert 문을 처리한 경우였다. (결국 중복) 원인은 한 번 더 Insert를 생성하던 부분에서 아래와 같은 어노테이션이 발견된 것인데, 이런 연유는 이커머스 결제 특성상 PG사 결제를 처리해야했기 때문에 별도의 Transaction을 넣어준게 원인이었던 것. @Transactional(propagation=Propagation.REQUIRES_NEW) 하지만 위 코드의 문제는 아니다. 지금까지 문제는 없었다. 그저 앞.. 2022. 8. 28.
Window 10 파일 권한 에러 첨부파일 업로드 시 에러. UAC (사용자계정 컨트롤)을 변경해줘야 하는 듯. 2019. 5. 20.
반응형