본문 바로가기

Database (84)

반응형
Database/InfluxDB

InfluxDB Function 총정리

이번 글에서는 InfluxDB에서 제공하는 Function들에 대해 알아보겠습니다.Aggregate functionsFunciton설명COUNT지정된 Column에 대해 NULL이 아닌 값을 포함하여 수를 계산EX) SELECT COUNT(column_name) FROM measurement_name DISTINCT지정된 열에 대해 고유한 값을 반환EX) SELECT DISTINCT(column_name) FROM measurement_nameINTEGRAL적분을 계산할 때 주로 사용 (첫 번째 인자: 컬럼명, 두 번째 인자: N값)MEAN지정된 Column의 평균을 반환 (INT, FLOAT만 가능)EX) SELECT MEAN(column_name) FROM measurement_nameMEDIAN지정..

2021. 1. 21.
Database/InfluxDB

InfluxDB & Grafana 쿼리 총정리

Grafana에서 InfluxDB 쿼리 부분을 다룰 때 각 설정들에 대해서 알아보도록 하겠습니다.Grafana에서는 쿼리를 작성하는데 편리한 기능들을 제공해주기 때문에 그 기능들을 알면 편리하게 쿼리를 작성할 수 있습니다.Panel Setting노란 박스: InfluxDB와 Grafana를 연동할 때 설정한 DataSource 명을 선택해주시면 됩니다.하늘 박스: 지난 시간을 기준으로 데이터를 모니터링합니다. 즉, Last 6 hours는 6시간 전~현재의 데이터를 보여줍니다.주황 박스: 타이틀을 설정합니다. 즉, Used Memory빨간 박스: 차트의 종류들이 여러 개 있는데 이번에는 게이지를 나타내는 차트를 사용해보았습니다.초록 박스: 편리하게 쿼리 작성을 도와주는 부분입니다.보라 박스: 아이콘을 클..

2021. 1. 21.
Database/Debug Log

[Oracle - Error] ORA-00924: BY 키워드가 없습니다. - "ORA-00924: missing BY keyword"

이번 글에서는 ORA-00924: missing BY keyword 에러 해결 방법에 대하여 알아보겠습니다. ORA-00924: BY 키워드가 없습니다.ORA-00924: missing BY keyword 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 현재 날짜를 조회하는 예제입니다.위의 쿼리를 실행하니 ORA-00924: missing BY keyword 에러가 발생하였습니다.에러가 발생한 이유는 간단합니다. BY 키워드가 누락되었기 때문입니다.즉, ORDER가 아니라 ORDER BY 구문이 맞습니다.해결 방법BY절이 필요한 것에는 BY를 붙여줍니다. (ORDER BY, GROUP BY) 이제 BY 키워드를 붙여 다시 쿼리를 실행해 보도록 하겠습니다.BY 키..

2020. 12. 17.
Database/InfluxDB

InfluxDB와 Grafana 연동 방법

이번 글에서는 Grafana와 InfluxDB를 연동하는 방법에 대해 알아보겠습니다.생각외로, 어렵지 않고 매우 간단합니다.1. Grafana 홈 화면에서 DATA SOURCES 탭을 클릭합니다.2. InfluxDB를 선택합니다.3 체크된 부분을 작성합니다.Host : localhost:8086 Database : "사용할 데이터베이스명" User : " 사용할 유저 아이디"Password : "사용할 유저 비밀번호" 저는 User와 Password를 따로 설정하지 않았기 때문에 빈 값을 넣었습니다.다 입력하셨다면 Save & Test 버튼을 클릭합니다. 버튼을 클릭하니 "InfluxDB Error: Bad GateWay" 에러가 발생하였습니다. 혹시, 위와 같은 에러 "InfluxDB Error: Ba..

2020. 12. 16.
Database/InfluxDB

InfluxDB, Telegraf, Grafana 예제 및 총정리 2탄

지난 글에서는 InfluxDB에 mem과 cpu measurement가 적재된 것까지 확인해보았습니다. 설정만 잘하면 문제가 잘 생기지 않기 때문에 금방 하셨을 것이라고 생각됩니다. 이번 글에서는 InfluxDB에 적재된 데이터를 아래 사진처럼 Grafana에 시각화해보도록 하겠습니다.1. Grafana와 InfluxDB를 연동* 연동하실 때, Database는 telegraf로 설정해주셔야 합니다. * 혹시라도 연동하는 방법을 잘 모르시겠으면 아래 링크를 참조하시기 바랍니다.InfluxDB와 Grafana 연동 방법2. 패널 추가1) 우측 상단의 Add panel을 눌러서 패널을 추가하시고 Convert to row를 클릭합니다.2) Row를 클릭하여 Title을 Memory로 바꾸어 줍니다. Memo..

2020. 12. 16.
Database/InfluxDB

InfluxDB, Telegraf, Grafana 예제 및 총정리 1탄

이번 개발 주제가 IoT 모니터링이었습니다. 모니터링은 굉장히 많은 데이터를 실시간으로 저장하고 조회하는 것이 중요한데 데이터베이스로 InfluxDB의 저장 및 조회 성능, 유연한 확장성 등을 보면 아주 적절하였고, 그것을 시각화하는 데는 Grafana라는 툴이 이쁘게 잘 그려준다는 것을 알았습니다. 하지만, Grafana는 InfluxDB에 적재된 데이터를 이쁘게 그려주는 툴일 뿐입니다. 데이터를 담고 이쁘게 그려주는 것들은 준비가 되어있지만, 데이터를 수집해주고 InfluxDB에 저장해주는 것이 없었습니다.그러던 중 데이터를 수집하고 InfluxDB에 저장해주는 Telegraf라는 것을 알게 되었습니다.Telegraf에서 많은 오픈소스를 제공하여 최근에는 Telegraf & InfluxDB & Gra..

2020. 12. 15.
Database/Debug Log

[Oracle - Error] ORA-01847: 달의 날짜는 1에서 말일 사이어야 합니다. - "day of month must be bet

이번 글에서는 ORA-01847: day of month must be between 1 and last day of month 에러 해결 방법에 대하여 알아보겠습니다. ORA-01847 : 달의 날짜는 1에서 말일 사이어야 합니다.ORA-01847: day of month must be between 1 and last day of month 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 '20201232'의 문자열을 날짜 형식으로 바꿔보도록 시도한 예제입니다. 위의 쿼리에서 에러가 발생한 이유는 간단합니다. 12월은 1~31일까지 있습니다. 그런데, 12월 32일을 출력하려고 하니까 발생한 에러였습니다.해결 방법해당 월에 따라, 일자를 범위 안에서 작성하시..

2020. 10. 5.
Database/Debug Log

[Oracle - Error] ORA-01843: 지정한 월이 부적합합니다. - "not a valid month"

이번 글에서는 ORA-01843: not a valid month 에러 해결 방법에 대하여 알아보겠습니다. ORA-01843 - 지정한 월이 부적합합니다. ORA-01843 - "not a valid month" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 문자열인 '20209901'을 날짜 형식으로 바꿔보려고 작성한 예제입니다.위의 쿼리를 실행하니 ORA-01843 - "not a valid month" 에러가 발생하였습니다.에러가 발생한 이유는 'month'인 '월'은 1월부터 12월 즉 01~12의 값만 올 수 있습니다.즉, 월을 01~12 사이의 값으로 입력하지 않아 발생한 에러입니다.해결 방법포맷형식에서 월 부분을 01~12 사이로 입력하면 됩니다...

2020. 10. 4.
Database/Debug Log

[Oracle - Error] ORA-12899: "USER"."TABLE"."COLUMN" 열에 대한 값이 너무 큼(실제: x, 최대값: n) - "value too large for column actual x maximum n"

ORA-12899: "USER"."TABLE"."COLUMN" 열에 대한 값이 너무 큼(실제: x, 최대값: n) 에러 해결 방법에 대하여 알아보겠습니다. ORA-12899: "USER"."TABLE"."COLUMN" 열에 대한 값이 너무 큼(실제: x, 최대값: n)ORA-12899: "value too large for column actual x maximum n" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 DEPTNO와 DNAME 데이터를 추가하려고 작성한 예제입니다.에러가 발생한 이유는 위의 쿼리에서 DNAME에 대한 최댓값이 14라고 나와있습니다. DNAME의 최댓값이 14란 소리는 처음에 DNAME의 컬럼을 설정할 때 크기를 VARCHAR2(1..

2020. 10. 2.
Database/Debug Log

[Oracle - Error] ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다 - "cannot insert NULL into ("USER"."TABLE"."COLUMN")"

이번 글에서는 ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다ORA-01400: "cannot insert NULL into ("USER"."TABLE"."COLUMN")" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 DNAME에 'SALES'라는 데이터만 삽입하려고 작성한 예제입니다.에러가 발생한 이유는 DEPT의 테이블에는 기본키값인 DEPTNO와 DNAME, LOC가 존재합니다. 위의 쿼리가 만약 정상적으로 작동했다면 아래의 데이터로 삽입되었을 것입니다. D..

2020. 10. 1.
Database/Debug Log

[Oracle - Error] ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다. - "query block has incorrect number of result columns"

이번 글에서는 ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다. 에러 해결 방법에 대하여 알아 볻록 하겠습니다. ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다.ORA-01789: "query block has incorrect number of result columns" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 UNION을 이용하여 두 개의 조회된 내용의 쿼리를 합쳐서 조회하려고 작성한 예제입니다. 위의 쿼리에서 에러가 발생한 이유는 UNION의 절대적인 조건으로는 비교되는 컬럼의 수가 일치해야 합니다. 첫 번째 쿼리에서 EMPNO, ENAME, COMM 총 3개의 컬럼을 조회했다면, 두 번째 쿼리에서..

2020. 9. 30.
Database/Debug Log

[Oracle - Error] ORA-01821: 날짜 형식이 부적합합니다 - "date format not recognized"

이번 글에서는 ORA-01821: 날짜 형식이 부적합합니다 에러 해결 방법에 대하여 알아보도록 하겠습니다. ORA-01821: 날짜 형식이 부적합합니다ORA-01821: "date format not recognized" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 오늘 날짜 20200808을 조회하려고 작성한 예제입니다. 위의 쿼리를 실행하니 ORA-01821: "date format not recognized" 에러가 발생하였습니다.에러가 발생한 이유는 쿼리를 보시면 어느정도 감이 오실거라고 생각합니다.위의 날짜 포맷을 자세히 보니 'YYYYMMDDZ'라고 적혀져있습니다. 오타로 Z가 추가로 적혀있었습니다. 해결 방법날짜 포맷을 올바르게 적어주시면 됩니..

2020. 9. 28.
Database/Debug Log

[Oracle - Error] ORA-01858: 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다. - "a non-numeric character was found where a numeric was expected"

이번 글에서는 ORA-01858: 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다. 에러 해결 방법에 대하여 알아보겠습니다. ORA-01858: 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다.ORA-01858: "a non-numeric character was found where a numeric was expected" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 현재시간을 DATE형으로 변환해보려고 작성한 예제입니다.에러가 발생한 이유는 TO_DATE는 숫자타입을 날짜타입으로 변환시켜주는 형변환 함수입니다. 그렇게 되면 컬럼명에 숫자값이 와야합니다.즉, 첫 번째 인수로 숫자값이 아닌 문자값이 들어가서 발생한 에러였습니다...

2020. 9. 27.
Database/Debug Log

[Oracle - Error] ORA-00909: 인수의 개수가 부적합합니다 - "invalid number of arguments"

이번 글에서는 ORA-00909: 인수의 개수가 부적합합니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-00909: 인수의 개수가 부적합합니다 ORA-00909: "invalid number of arguments" 쿼리를 짜다가 아래와 같은 에러가 발생하였습니다. 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다. 아래의 쿼리는 LOC라는 컬럼이 NULL이라면 'IS NULL'이라고 조회하려고 작성한 예제입니다. 위의 쿼리를 실행하니 ORA-00909: "invalid number of arguments" 에러가 발생하였습니다. 에러가 발생한 이유는 NVL2의 인수로는 NVL2(컬럼명, 'NULL이 아니면 조회되는 값', 'NULL이면 출력되는 값') 총 3가지입니다. ..

2020. 9. 26.
Database/Debug Log

[Oracle - Error] ORA-00938: 함수의 인수가 충분하지 않습니다 - "not enough arguments for function"

이번 글에서는 ORA-00938: 함수의 인수가 충분하지 않습니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-00938: 함수의 인수가 충분하지 않습니다ORA-00938: "not enough arguments for function" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 coalesce라는 함수를 사용하여 null인 값을 바꾸어 조회하려고 작성한 예제입니다.에러가 발생한 이유는 COALESCE 함수의 인수로는 COALESCE("컬럼명", 'NULL일 경우 치환할 값')을 받아와야합니다. 즉, 인수를 2가지 적어야하는데 1가지만 적어서 발생한 에러입니다.해결 방법어떤 함수를 사용하셨다면 그 함수의 인수에 맞게 적어주시면 됩니다.COALESCE 함..

2020. 9. 25.
Database/Debug Log

[Oracle - Error] ORA-01747: 열명을 올바르게 지정해 주십시오 - "invalid user.table.column, table.column, or column specification"

이번 글에서는 ORA-01747: 열명을 올바르게 지정해 주십시오 에러 해결 방법에 대하여 알아 보도록 하겠습니다. ORA-01747: 열명을 올바르게 지정해 주십시오ORA-01747: "invaild user.table.column, table.column, or column specification" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 부서번호(deptno)가 50인 것을 94로 수정하려고 작성한 예제입니다. 위의 쿼리에서 에러가 발생한 이유는 UPDATE 문을 올바르게 작성하지 않아서 발생한 에러 혹은 불필요한 컴마 등에 의한 에러입니다.[ UPDATE 테이블명 SET 컬럼 WHERE ] 이게 대표적인 구문입니다. 이처럼 구문을 적지 않았거나 ..

2020. 9. 21.
Database/Debug Log

[Oracle - Error] ORA-30483: 윈도우 함수를 여기에 사용할 수 없습니다 - "window functions are not allowed here"

이번 글에서는 ORA-30483: 윈도우 함수를 여기에 사용할 수 없습니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-30483: 윈도우 함수를 여기에 사용할 수 없습니다 ORA-30483: "window functions are not allowed here".에러 발생예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 샐러리(sal)를 가장 많이 받는 사원의 이름, 샐러리를 조회하려고 작성한 예제입니다.위의 쿼리를 실행하니 ORA-30483: "window functions are not allowed here" 에러가 발생하였습니다.해결 방법윈도우 함수는 WHERE절에서는 사용할 수 없습니다.여기서 윈도우 함수란, ANK, DENSE_RANK, ROW..

2020. 9. 20.
Database/Debug Log

[Oracle - Error] ORA-00935: 그룹 함수의 중첩된 레벨이 너무 깊습니다. - "group function is nested too deeply"

이번 글에서는 ORA-00935: 그룹 함수의 중첩된 레벨이 너무 깊습니다. 에러 해결 방법에 대하여 알아보겠습니다. ORA-00935: 그룹 함수의 중첩된 레벨이 너무 깊습니다. ORA-00935: "group function is nested too deeply"에러 발생예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 sal의 합계에 대한 평균값 중 가장 작은 값을 조회하려고 작성한 예제입니다.위의 쿼리를 실행하니 ORA-00935: "group function is nested too deeply" 에러가 발생하였습니다.해결 방법에러가 발생한 이유는 그룹 함수는 한 컬럼을 기준으로 2개 까지는 중첩하여 사용할 수 있으나,3개 이상을 중첩하여 사용하면 위와 ..

2020. 9. 19.
반응형