본문 바로가기
반응형

IT115

art1 [Oracle] 오라클 더 크고, 작은 값 비교와 주의할 점 GREATEST, LEAST(최대/최소값) GREATEST와 LEAST는 SELECT 절에 쓰이는 MIN, MAX() 그룹함수와 유사하지만 각기 다른 값들의 크기를 비교하는데 주로 쓰입니다. 가장 빠른 날짜를 구하거나 가장 큰 숫자를 구할 때 자주 쓰입니다. 사용방법에 대해서 알아보겠습니다. GREATEST, LEAST 함수 사용법 두 함수는 기본적으로 사용법이 동일하고 매우 간단히 나열만 하면 됩니다. 최대값 반환 = GREATEST( 변수1, 변수2, 변수3, ... ) 최소값 반환 = LEAST( 변수1, 변수2, 변수3, ... ) SELECT GREATEST( 1, 2, 3, 4, 5 ) , LEAST( SYSDATE, TO_DATE('2021-12-08', 'YYYYMMDD') ) DAUL 주의사항(DATA Type, NULL, lis.. 2022. 1. 18.
art1 Cause: java.lang.NumberFormatException : For input string: 해결방법 For input string: "" 혹은 "N", "Y" 등의 오류는 자바에서 Mybatis를 사용할 때 if test 등의 구문 사용에서 오류가 발생하는 경우입니다. 주로 "" String값에 null이 오거나, 문자와 숫자 비교 등 형변환 오류입니다. For input string: ""의 경우 위와 같이 mybatis 구문 중 PARAM의 값이 파라미터가 null이 왔을 가능성이 있는지 확인합니다. 이 문제는 아래와 같이 해결할 수 있습니다. 1. 값을 넘길 때 default 값을 넣어 null이 되지 않도록 합니다.. 2. AND 문으로 앞에 null 체크를 먼저 합니다. For input string: (String) 문자열의 경우 test문을 감싸는 '(싱글쿼테이션), "(더블쿼테이션)의 차.. 2022. 1. 12.
art1 [Excel] 엑셀 중복값 제거 방법 엑셀을 쓰다보면 중복된 값을 제거하고 싶은 경우가 많습니다. 아주 간단한 조작으로 중복값을 제거하는 방법에 대해 알아보겠습니다. 중복값 제거 예시 아래와 같이 1부터 4의 숫자가 나열되있고 중복을 제거하고자 합니다. 중복 제거 할 영역을 전체 선택하고, 데이터 > 중복된 항목 제거를 선택합니다. 팝업창이 뜰 텐데, 중복 제거할 열을 선택하면 됩니다. 이미 선택되 있다면 그대로 확인. 확인을 누르면 몇 개의 데이터가 지워지고, 몇 개의 데이터가 남았는지 알림이 뜨고, 중복된 값이 제거됩니다. 중복되지 않은 값을 뽑아내려면? 열을 추가해서 중복 제거된 값으로 vlookup 해서 필터를 걸면 중복이 없는 값만 뽑을 수 있습니다. [엑셀 함수] Excel Vlookup 사용방법 및 예제 엑셀을 하다보면 자주 쓰.. 2021. 12. 31.
art1 [Oracle] 오라클 시퀀스(Sequence) 생성/수정/삭제/currval/nextval DB에서 주로 pk값의 채번을 위해 자주 사용하는 시퀀스에 대해 알아보도록 하겠습니다. 현재 계정이 가지고 있는 전체 시퀀스 조회 방법, 생성, 수정, 삭제 방법 그리고 각 시퀀스 현재값, 다음값 조회 방법까지 알아보겠습니다. 목차 1. 시퀀스 조회 (전체 조회, 현재값, 다음값) 2. 시퀀스 생성/수정/삭제 1. 시퀀스 조회 1) 시퀀스 전체 조회 (Oracle Dictionary) -- 오라클 딕셔너리 조회 SELECT * FROM ALL_SEQUENCES 각 시퀀스의 소유자, 명칭, 최소/최대값, 증감, 현재 채번된 마지막 번호까지 한 번에 조회가 가능합니다. 시퀀스 전수조사할 일이 있을 때 사용하면 간단히 해결됩니다. 2) 시퀀스 현재/다음값 조회 (currval, nextval) -- 현재값 S.. 2021. 12. 30.
art1 [LINUX] 리눅스 SFTP 파일 업로드/다운로드 리눅스 환경에서 다른 서버로 SFTP로 접근하는 방법과 파일을 업로드, 다운로드하는 방법에 대해 알아보겠습니다. 업무를 하면서 선임이 서버로 붙어서 파일 땡겨와서 DB에 적재하라고 하면 이 포스팅을 참고하시면 됩니다. SFTP 접속 방법 접속 전 알아야할 정보 1. 대상 서버 IP 2. 서버의 계정(ID/PW) 위 정보를 Remote 대상 서버의 담당자에게 요청하여 받아야하고, 방화벽도 뚫려 있어야 합니다. 접속 방법 접속하려는 서버의 shell에서 아래 명령어로 접속합니다. sftp [계정 ID]@[대상 IP] // 예시 sftp if_user@127.0.0.1 SFTP 접속 후 현재 위치 조회 방법 pwd로 현재 위치를 찾은 뒤 다운받으려는 파일의 위치로 cd를 통해 이동합니다. -- 리모트 서버 현.. 2021. 12. 28.
art1 [LINUX] 리눅스 Alias 등록 및 조회 (tail -f log 등록) 주로 개발/운영 log를 보기 위해 자주 사용하는 Alias의 존재를 모르고 그냥 "리눅스 들어가서 was_log, wlog치면 로그 나올거야"라고만 알고 있는 경우가 많습니다. 리눅스 서버에서 자주 사용하는 명령어를 저장하는 Alias 조회와 등록에 대해 알아보겠습니다. Alias 조회 Alias를 조회하는 법은 간단합니다. 아무 위치에서 그대로 아래 명령어를 치면 됩니다. 주로 Log 파일 위치가 등록되 있으므로, 로그 파일 어딨나 모를 때는 한번 쳐 보시는게 좋습니다. alias [실행결과 예] ls='ls -al' alog='app/logs/WAS_LOG.log' blog='app/logs/BATCH_LOG.log' Alias 등록 Alias 등록 명령어의 경우는 아래와 같이 사용합니다. 아래 코.. 2021. 12. 24.
art1 [ORACLE] ORA-01732 : 뷰에 대한 조작이 부적합합니다. ORA-01732의 경우 뷰를 INSERT, UPDATE, DELETE 하는 경우 발생할 수 있습니다. 예시 SQL UPDATE V_USER_INFO SET PWD = '1111' WHERE USER_ID = 'A' 아마 해당 에러가 발생하신 분들은 이와 같은 뷰에 대해 직접 수정을 하려고 하고 있을 것입니다. 일반적인 뷰의 경우에는 문제없이 수행되지만 뷰가 UNION, GROUP BY 등으로 선언된 경우는 ORA-01732가 발생합니다. 해결 방법 이런 경우 뷰를 직접 수정하면 안 되고 뷰 내부의 테이블에 직접 수정해야 합니다. Description을 통해 뷰를 열어봅시다. (오렌지의 경우 F4) CREATE VIEW V_USER_INFO ( USER_ID, PWD ) AS SELECT USER_ID .. 2021. 12. 22.
art1 [Linux] 리눅스 배치 크론탭 crontab 설정 ( 조회, 등록, 삭제) 요즘은 배치솔루션이 많아 사용이 줄고 있지만 여전히 리눅스의 cron을 활용하는 경우가 많습니다. cron은 꼭 배치를 위한 것은 아니지만 스케줄 역할을 하며 주로 배치 등록 및 실행에 주로 쓰입니다. 리눅스 환경에서 배치 실행을 위해 crontab 설정 방법에 대해 알아보겠습니다. 크론(Cron) 과 크론탭(Crontab) 차이 Cron은 정해진 스케줄에 따라 작업을 수행하는 데몬. Crontab은 데몬이 바라보는 작업 리스트 입니다. 보통 cron과 crontab을 구분하지 않고 쓰긴 하지만 배치를 만들건데 리눅스의 Cron을 활용하면 되고, Shell 파일 만들어서 Crontab에 등록해야 합니다. 와 같이 쓰는 것이 정확합니다. Crontab 기본 형태 분(0-59) 시(0-23) 일(1-31) .. 2021. 12. 20.
art1 서버 기동 시 META-INF/versions/9/ 관련 에러 (TOMCAT/JENKINS 등) 이번 log4j 버전 이슈로 업데이트를 하는 와중에 로컬 환경과 jenkins(Ant)에서 서버를 시작할 때 META-INF/versions/9/...와 같은 오류가 났습니다. 왜 발생하는지와 해결방법을 공유하겠습니다. 에러 내용 [WEB-3911] Processing @HanlesTypes of ServletContainerInitializers failed for the class [META-INF/versions/9/org/apache/logging/log4j/util/StackLocator.class] but the deployment process will continue. java.lang.IllegalArgumentException ... log4j-core-2.16.jar ... 원인 추가.. 2021. 12. 16.
art1 [LINUX] 리눅스 chage 명령어 패스워드 만료기간 변경(You must wait longer to change your password) 서버 패스워드를 변경하기 위해 passwd 명령어를 날렸는데 You must wait longer to change your password라는 메시지가 나오고 진행이 불가할 때 조치 방법에 대해 알아보겠습니다. 패스워드 만료 설정 확인 정보 확인을 위해 chage -l [계정명] 입력 위 내용을 요약하면, 2021.12.15에 패스워드를 바꿨고, 7일(min) 안에는 바꿀 수 없다. 90일(max) 후인 2022.03.15에 만료되고 7일 전에 경고를 한다. * You must wait longer to change your password 이 메세지를 봤다면 대부분 권한이 부족한 것이라 아래 절차를 해도 진행이 안 될 수 있습니다. 아래 방법으로 안되면 서버 관리자에게 문의하셔야 합니다. 패스워드 만.. 2021. 12. 16.
art1 엑셀 특정 글자, 문자 바꾸기 심화 (REPLACE, SUBSTITUTE) 엑셀에서 특정 문자를 다른 문자로 바꿔주는 함수인 REPLACE(특정 위치의 문자 변경)와 SUBSTITUTE(특정 문자를 찾아서 변경) 함수에 대해 알아보겠습니다. 특정 문자가 포함된 개수를 세서 원하는 위치의 문자만 바꾸는 방법까지 알아보겠습니다. REPLACE REPLACE 함수는 특정 위치의 문자를 강제로 바꾸는 함수입니다. 셀에 =REPLACE( 를 입력하면 아래 매개변수를 입력하라고 나옵니다. old_text : 작업이 필요한 대상 문자열(특정 셀 선택) start_num : 변경을 시작할 위치의 숫자 num_chars : 몇자리를 바꿀지 정하는 숫자 new_text : 변경할 문자를 ""로 감싸준다. 위 예제는 3번째 글자 1개(동)를 "대로"로 변경하는 예제입니다. 다른 동은 정상 변경되지.. 2021. 12. 9.
art1 [Linux] 리눅스 mkdir 명령어 - 폴더 만들기, 폴더 생성하기 리눅스에서 폴더를 만드는 명령어인 mkdir에 대해 알아보겠습니다. mkdir은 make directory의 줄임말입니다. mkdir [옵션] [디렉토리명] 옵션의 종류 아래와 같은 옵션이 있지만 보통 -p를 주로 사용한다. --help 도움말 -m 폴더의 권한을 설정 -p 하위 디렉토리를 함께 생성할 때 사용한다. 없으면 자동 생성하고, 있으면 패스한다. -v 생성, 실패의 결과를 표시 사용 예시 // 모든 권한을 부여한 새폴더 생성 mkdir -m 777 새폴더 // 하위 디렉토리도 함께 생성 mkdir -p /2021/12/06/새폴더 // 생성 결과 mkdir -v 새폴더 -p를 주로 사용하는 이유는 예를들어 /2021/ 폴더 안이 비었다고 가정하자. mkdir /2021/12/06/new 위 명.. 2021. 12. 6.