본문 바로가기

Database32

ORA-28040: No matching authentication protocol 해결방법 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol 원인 : client 버전보다 높은 DB에 접속하려고 할 때 나는 에러 (19c DB에 11g Client 프로그램을 사용해서 접속하려고 했기 때문) (ojdbc14.jar를 사용했기 때문) 해결방법 - 2가지 방법이 있다 나는 한 서버에 tomcat으로 기동되는 서비스가 여러개여서 설정파일을 건드리지 않고 4-2.방법으로.. 2020. 12. 28.
literal does not match format string ORA-01861 해결방법 / 리눅스 캐릭터셋 변경 [문제] 같은 소스인데도 불구하고 테스트계에서는 에러가 발생하지 않았지만 운영계에서 ORA-01861 에러가 발생했다. 에러로그는 --> (literal does not match format string) [이유] OS의 LANG 설정이 달라서 문자열을 묵시적으로 날짜로 변환을 못해서 발생하는 에러라고 한다. ( 리눅스 문자셋(캐릭터셋) ) 보통 서버를 교체하고 나서 LANG에 관련된 설정을 하지 않거나 비교하는 대상의 두 서버의 LANG설정이 다르면 발생한다. 내 경우에는 테스트계는 기존에 사용하던 서버였고, 운영계는 이번에 신설된 서버였다. LANG 설정이 누락된 듯 싶어서 테스트계와 운영계의 LANG 설정을 각각 확인해보았다. [해결방법] 1. 서버의 LANG 설정을 에러가 나지 않는 환경의 설정.. 2019. 10. 8.
Java.sql.SQLException : ORA-00907 누락된우괄호 해결방법 기존에 잘 작동하던 쿼리에 정렬을 위한 Order by 추가. Orange (또는 Sqldeveloper 나 Todd) 같은.. 툴에서는 작성한 쿼리가 잘 조회되는데 서버에서는 다음과 같은 Error가 발생하기 시작했다. Java.sql.SQLException : ORA-00907 누락된우괄호 찾아보니 특정 Oracle 버전에는 서브쿼리에 Order by 를 사용하면 안된다니 어쩌구저쩌구 내용이 있었는데, 그런건 아닌것 같았고 ( 툴에서 쿼리가 잘 실행되었기에 ) 1. 의심 + 조치 inlineParameterMap~ log에 찍힌 내용에 따라 파라미터 설정을 안해서? Service -> Dao -> Xml로 데이터를 가져오는 구조였고 Struts2 사용하던 환경에서 이런 식으로 parameterClas.. 2019. 10. 7.
SYNONYM(시노님)이란? / DB 테이블정보,컬럼정보 조회 방법 테이블명세서를 작성할 일이 있었는데 방화벽문제인지..아니면 권한문제인지.. Orange에서 특정계정의 Table 목록이 나오지 않는 현상이 발생했다. (Orange > View > Schema Browser > Table tab > 계정의 '+' 클릭하여 table목록 조회) 뭐지? 하고... 알아보니 특정계정은 어떠한 이유로 시노님만 있다고 했다. 시노님? 시노님이 무엇일까- SYNONYM(시노님)란? - alias와 같이 이름을 줄여주는 역할을 함. - synonym은 table의 이름을 설정해 주는데 다른 계정의 객체(테이블,뷰,함수,시퀀스,프로시저) 등을 참조하기 위해 사용하며 이렇게 사용하는 이유는 다른 계정의 정보를 감춤으로써 DataBase의 보안을 위해 사용되어진다. 시노님생성/삭제 관련 .. 2019. 9. 4.
ORA – 300004 : when using SYS_CONNECT_BY_PATH function, cannot have separator as part of column value 해결방법 java.sql.SQLException : ORA – 300004 :when using SYS_CONNECT_BY_PATH function, cannot have separator as part of column value개발 중 다음과 같은 에러가 났다. SYS_CONNECT_BY_PATH의 컬럼값을 구분자로 사용할 수 없다는 의미.SYS_CONNECT_BY_PATH( NM , ‘;’ ) 라고 한다면 NM이라는 컬럼값에 ‘;’ 라는 값이 포함되어 있다는 것 1. 사용하지 않을 구분자으로 바꿔준다. 데이터에 구분자값이 들어가면 에러가 난다. EX) SYS_CONNECT_BY_PATH( NM , ‘@’ ) 2. 컬럼값을 변경하는 케이스는 해당 구분자값을 임시로 변경한 후 진행. EX) SYS_CONNECT.. 2019. 2. 22.
ORA-08002 : sequence is not yet defined in this session 해결방법 https://mkil.tistory.com/218포스팅하고 나니 예전에 포스팅했던 거네 -_-ㅎ CREATE SEQUENCE "사용자명"."PT_ABRD_MAIN_SEQ" MINVALUE 1 MAXVALUE 999999999 INCREMENT BY 1 START WITH 41 CACHE 20 NOORDER NOCYCLE ; 로 생성해두었던 시퀀스가 있었다..시퀀스를 조회해보려고select PT_ABRD_MAIN_SEQ.currval from dual 해보려고 하니 ORA-08002 : sequence is not yet defined in this session위와 같은 Error가 나며시퀀스 조회가 안됬다. select PT_ABRD_MAIN_SEQ.nextval from dual 실행 같은 세션에서.. 2019. 2. 21.