Error 8

레거시 프로젝트 장애 처리 ORA-00001

[장애발생]기존 회사에는 20년이 넘은 메세지 관리자 레거시 프로젝트가 남아있다. 최근 해당 코드는 아에 업데이트를 하지않고 일부 계정만 사용을 하는데 관리자가 계정등록이 안된다는 메일을 확인하였다. 해당 계정이 등록되지 않은 이유는 0.1초 사이에 클릭이 2번 연속 되어 해당 DB에 값을 넣는 중 2번 넣어서 발생하는 문제였다. TBL_STAT_CONFIG -> TBL_ROUTING -> TBL_CPINFO -> TBL_DETAIL_CPINFO                                                 TBL_STAT_CONFIG -> TBL_ROUTING -> TBL_CPINFO -> TBL_DETAIL_CPINFO 이런식으로 디비에 값이 들어가는 중 중복으로 값이 들어가는..

Error 2025.02.06

Oracle 데이터베이스 컬럼 조회 시 발생하는 ORA-00904 에러 해결하기

1. 문제 상황기존 웹 사이트에는 9개의 서버와 DB가 연결되어 있고 해당 GW를 1개만 작업한 경우에 발생한 문제이다. 프로젝트에서 Oracle 데이터베이스의 테이블 컬럼을 조회하는 과정에서 ORA-00904: "TYPE": invalid identifier 에러가 발생했습니다. 이 에러는 주로 존재하지 않는 컬럼을 참조하거나, 컬럼의 권한 문제로 인해 발생합니다.  1.1 에러 로그Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "TYPE": invalid identifier at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509) at oracle.jdbc.driver.T..

Error 2024.11.07

문자 깨짐 인코딩 문제(utf-8, euc-kr) 웹(html), DB

웹단에서 DB 로 한글을 입력하니 하단과 같이 한글이 변환되는 문제점이 있었다. 해당 DB에서 다른 테이블에는 한글이 잘 들어가는데 왜 해당 테이블에 값을 넣으면 문제가 발생하는지 당황했다. 확인한 내용은 1. DB 문자 인코딩 정보였다. -> 문제 없이 AL32UTF8 로 한글 사용에 문제가 없었다. 당연히 다른 테이블에는 입력이 잘 가능했기 때문에 혹시 몰라 확인을 하였다. 2. 페이지 소스 코드 문자 인코딩 설정을 확인하였다. 코드 상단에 추가하여 페이지의 문자 인코딩을 명시적으로 UTF-8로 설정되었는지. 브라우저가 페이지를 올바르게 해석할 수 있는지 확인하였다. 잘 작성이 되어있었다. 3. 톰켓의 경우 server.xml에서 기본 인코딩을 확인했더니 이도 정상적으로 설정이 되어있었다. 4. 최종..

Error 2024.03.26

Data too long for column 장애 처리 과정

이번에 웹을 마이그레이션 후 서비스를오픈 하고 고객 측에서 로그인이 안된다는 문제가 있었다. 해당 로그인이 안되는 계정 정보를 전달 받은 후 해당 WAS 서버의 로그를 확인해보니 로그인 하는 경우 해당 아이디의 정보에 따라 oracle에 저장되어 있는 발신번호가 mysql에 저장되는 구조로 그 정보를 웹단에서 활용하는 부분이다. 근데 한 계정에 발신번호가 5000건 이상 있어 mysql에 Insert 되는데 발생하는 문제점이였다. 기존 통합한 사이트는 WEB 계정만 사용을 하고 나머지 AGENT , MESSANGER, API, RESELLER 계정은 (구)웹사이트를 사용하는 중이였다. WEB 계정의 경우 1000건 이상되는 발신번호를 가진 계정이 없어 이 문제를 몰랐다가 합처지면서 여러 계정이 들어 오던..

Error 2023.12.07

[Error] no primary or single unique constructor found for interface java.util.li

Java에서 인터페이스는 기본적으로 추상적이고 구체적인 구현이 없기 때문에 직접 인스턴스화할 수 없다. 대신 ArrayList, LinkedList 등과 같이 List 인터페이스를 구현하는 클래스를 사용하여 목록 유형의 객체를 생성 문제 예java.util.List myList = new java.util.List(); // Incorrect instantiation위의 코드는 허용되지 않는 인터페이스(java.util.List)의 인스턴스를 직접 생성하려고 하기 때문에 언급한 오류 메시지가 발생 해결java.util.List myList = new java.util.ArrayList(); // Correct instantiation using ArrayListList 인터페이스를 구현하는 구체적인 클래..

Error 2023.07.24

[Error] ORA-01745

ORA-01745: invalid host/bind variable name 결론부터 보면 INSERT, UPDATE 간에 콤마(,) 때문에 문제가 많이 발생한다. ORA-01745는 SQL 문에서 지정된 호스트/바인드 변수에 문제가 있을 때 발생하는 Oracle 데이터베이스 오류이다.. 이 오류는 호스트 변수의 길이가 Oracle에서 허용하는 최대 크기를 초과할 때 발생한다. 호스트 변수 이름 형식: SQL 문에 사용되는 호스트 변수는 올바른 명칭 및 구문을 따라야 한다. 콜론(:)으로 시작하고 뒤에 유효한 변수 이름이 와야 한다. 최대 크기 초과: 호스트 변수의 길이가 Oracle에서 허용하는 최대 크기를 초과하는 경우 오류가 발생할 수 있습니다. 최대 크기는 사용 중인 Oracle의 데이터 유형 및..

Error 2023.07.23

[Error] ORA-00923

ORA-00923: FROM keyword not found where expected ORA-00923 오류는 SQL 문에 구문 문제가 있을 때 발생하는 Oracle 데이터베이스 오류이다. 이 오류는 Oracle 서버에서 SQL 절 또는 키워드가 예기치 않게 사용되었거나 잘못 사용된 경우 발생한다. 많이 실수하는 오류이다. SELECT 값 세팅 에서 FROM 키워드 나오기 전 오타 또는 ,(컴마)나 구문이 이상한 경우 많이 발생한다. 예를들어 ' SELECT COUNT(점수) AS 평균 FROM ~' 에서 AS 를 AB라고 적거나 콤마가 빠지거나 From 이 없을 경우와 같이 다양하게 발생한다. 하단은 예이다. SELECT column1, column2 count(점수) ab 평균 WHERE colum..

Error 2023.07.22

[Error] 포트 충돌, 중복 오류

프로젝트를 하면서 이클립스 사용에는 포트 오류가 많이 발생하였지만, Intellij 사용 간 포트 충돌이 많이 발생하지는 않았다. 가끔 충돌하는 경우가 있어 오류 해결 방법을 기록 1. 프로그램 종류 후 재 시작 2. Intellij 경우 Server: port : (포트번호) 변경하기 3. CMD 창 이용하기 - (위 방법이 적용이 안되는 경우 대부분 해결) 가. Window 키 + R -> cmd 검색 (입력 창에서 cmd 입력 해도 무방) 나. CMD 창에 -> netstat -ano 입력 -> 로컬주소와 PID 확인 다. 내가 0.0.0.0:9999(여기서 9999가 포트 번호이다) -> 제거할 번호는 PID 6904 이다 라. CMD 창에 taskkill /f /pid (pid번호) 입력 다. ..

Error 2023.01.07