Oracle
-
오라클 incident 폴더 정리Oracle 2020. 11. 9. 07:27
앗! 오라클 홈 파티션이 100% 이다. 긴급상황 ! 임시 디렉토리랑 이것저것 정리해도 여전히 간당간당하다. ㅠㅠ 일단 어떤 폴더가 공간을 많이 차지 하고 있나 확인했더니 희한하게 diag 폴더가 10G 이상을 차지고 있었다. 그중에서도 incident 폴더가 특히나 컸다. 확인해본 결과 로그성 파일임을 알았다. www.dadbm.com/oracle-database-housekeeping-methods-adr-files-purge/ 기본은 1년을 저장한다는데 30일 만 보관 하도록 위 사이트 설명처럼 adrci 로 접근하여 purge -age 43200 -type INCIDENT 여기서 43200 의 단위는 분이다. ( = 60분 x 24시간 x 30일 = 43200) 용량 확보 성공! * 참고 : 쉘스..
-
프로시져 output 변수 있는 경우 사용방법Oracle 2017. 7. 6. 11:01
output 변수가 없는경우는 단순히 call "프로시저명" 만 사용하면 호출 되었는데 output 변수가 있는 경우는 아래와 같이 변수 선언과 함께 호출을 해야한다. 아래 예는 PROC_FUNCTION 이름의 프로시저에 2개의 파라메터('1234', '567') 와 output 변수 v_result 1개를 호출하는 예이다. SET SERVEROUTPUT on ;DECLARE v_result VARCHAR2(4000);BEGIN PROC_FUNCTION('1234', '567',v_result ); dbms_output.put_line (' output value is '||v_result ); END; 또한 Mybatis 에서 호출하는 경우는 아래와 같이 호출이 가능하다. call PROC_FUNCTI..
-
CentOS7 + 오라클 11g 설치Oracle 2017. 1. 7. 16:32
centOS 7 초기에 한번 설치하려했다가 잘안돼서 좌절했던 기억이 있는데 이제는 먼가 안정화도 됐겠고 많은사람들이 이미 쓰고 있을거라는 예상하에 다시한번 설치해보기로 했다. 2017년도 이니 새마음으로 CentOS6.x 을 벗어나서 7로 ~~~ 음하하 .. 일단 OS 설치는 그닥 어렵지 않게 성공! 늘 해오던 것처럼 1. .bash_profile 에 설정해주고 ###################################################### Oracle Settings ##################################################### PS1="`hostname`:\$PWD>" export ORACLE_BASE=/home/oracle export ORACLE..
-
오라클 정규식 활용Oracle 2016. 11. 7. 16:12
-- 날짜 형식 체크 정규식 ymd 는 YYYYMMDD 형식의 데이터 필드 select ymd, (CASE WHEN ymd IS NULL THEN 'NULL' WHEN NOT REGEXP_LIKE(ymd, '^[0-9]{4}(((0[13578]|(10|12))(0[1-9]|[1-2][0-9]|3[0-1]))|(02(0[1-9]|[1-2][0-9]))|((0[469]|11)(0[1-9]|[1-2][0-9]|30)))$') THEN '날짜형식이 틀림' WHEN NOT REGEXP_LIKE(SUBSTR(ymd, 1, 4), '((1[6-9]|[2-9]\d)([02468][48]|[2468][048]|[13579][26]))|((16|[2468][048]|[3579][26])00)') AND SUBSTR(ymd..
-
오라클 rowid 활용Oracle 2016. 7. 6. 11:54
중복 데이터가 존재하고 해당 중복 데이터 끼리 순번을 업데이트하고 싶은경우 ex) 이렇게 같은 계약번호 끼리는 순번을 1번부터 다시 매기고 싶은경우 계약번호 순번 A000 1 A000 2 UPDATE 테이블 TB SET 순번컬럼 = (SELECT rn FROM (SELECT ROWID rid , ROW_NUMBER() OVER(PARTITION BY 특정컬럼 ORDER BY 정렬기준) rn FROM 테이블 ) WHERE rid = TB.ROWID ); 중복 데이터 삭제 -- 중복데이터 제거 : 아래의 PARTITION BY에 들어가는 것은 PK -- 중복데이터 가운데 ORDER BY 에 의한 최초의 것을 제외한 나머지 삭제 DELETE FROM 테이블명 WHERE ROWID IN (SELECT ROWID..