회사 DB서버를 이전했는데 몇년간 멀쩡하던 스크립트가 여기저기? 오작동하는것 같아서 질문드립니다
문제는 지금은 해결이 되었는데, DBA가 뭘 고쳤는지 숨기는거 같아서 답답해서 올려봅니다, 저는 일개 스크립트짜는 프로세스만 아는지라 ㅜㅜ
비과학적이고 비논리적인 질문이라.. 뭔가 느낌적인 느낌으로 답을 아시는 DBA분이 계시면 감사하겠고, 아니라면 기다리다가 질문삭제하겠습니다..
아래는 드문드문 짤라놓은 에러예시입니다, 에러나는 부분이 각각이라 처음엔 단순오류인줄 알았는데 어쩌면 환경? 문제인거 같기도하고,,
임포트하다가 에러
DECODE(GUBUN,'1','산',NULL)
에러=>ORA-12899: value too large for column GUBUN" (actual: 3, maximum: 2), '산'이 들어가는 필드구조 2바이트인데 인서트할때 에러남, 찾아보니 인코딩문제로 나오긴 하던데요, 완성형조합형따라 3바이트 2바이트 그런식으로,,
뷰 만든 값 에러
CREATE OR REPLACE VIEW V_Addr
As
SELECT DISTINCT Hcode,,,등등 (DECODE(LAW_SIGUNGU,'땡땡자치시','',LAW_SIGUNGU)) FROM &1\_등등
WHERE FLAG IN (등등);
에러=> 이 뷰만드는 문구에서 아래 셀렉트문 만 실행하면 정상데이터가 출력되는데(땡땡자치시이면 Null로 하라고 디코드한대로), Create or Replace view문구로 만든 뷰에는 값이 잘못 들어가 있었어요, (Null아니고 기존값이 들어감), 어차피 셀렉트해서 뷰를 만드는건데, 유령도 아니고.. 몇년간 문제없던 코드에요
함수있는 쿼리 실행한 값에 에러
CASE WHEN A.CODE IN (등등코드)
THEN trim(ename||' '||F_RP_ETCInout_Dic_U(DECODE(D.INOUT,'진입',NULL,'입구',NULL,D.INOUT)))
에러=> 조건절로 만든 값에, 없던 공백값이 포함되고.. 이것도 몇년간 문제없던 코드요
아, 그리고 터미널 아웃되는 로그를 스풀로 따로 빼는데
스풀 로그가 영문이었는데 오늘 다시돌린거 보니 한글로 나오더라구요,
DB서버에서 바꾼건지,, 제가돌린 윈도우클라이언트에서는 바꾼게 없거든요, 리눅스클라이언트에서 테스트로 돌릴때도 영문으로 나왔고,,