2020년 12월 7일 월요일

오래된 DB관련 자료 정리내용

오라클 에러 모음

java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12519, TNS:no appropriate service handler found

데이터베이스의 프로세스 부분에 과부화가 걸려서 나오는 에러 메시지다.
sysdba로 접속한 후에 ALTER SYSTEM SET PROCESSES=150 SCOPE=SPFILE;” 프로세스를 늘려준다.
끝난 후에 commit; 하는 것을 잊으면 안된다.
SPFILE로 설정되지 않고 시작되었다면, 다음과 같은 에러를 출력한다.
ORA-32001: write to SPFILE requested but no SPFILE specified at startup

자료출처 : http://cafe.naver.com/tonkjsp
 


ORA-12645
리스너가 동작하지 않은 경우 tnsnames.ora , listner.ora 의 host 가 깨져 있을 것이다   
이 host 를 서버의 IP 로 변경해준후 서비스에서 리스너를 재시작하면 리스너가 정상적으로 시작되고, 오라클을 정상적으로 사용할 수 있다    
(가장 좋은 방법은 127.0.0.1 인것 같다 나중에 IP 를 변경해도 문제가 없기 때문이다 ) 

     

ORA-12545
이것은 자신의 컴에 오라클 클라이언트가 설치되어 있다면 나오는 SQL-PLUS 를 실행 하였을때 나타 난다     
자신의 컴은 클라이언트를 설치하고 있기 때문에 리스너를 찾을 수 없다 
필자의 경우 NII 와 빈폴 테스트 서버의 서버 IP 를 tnanames.ora 에 등록하였었따 
하지만, NII 의 경우 정상적으로 동작 되고, Beanpole 개발기의 경우 정상적으로  
동작하지 않았기 때문에 NII 도 토드등을 이용하여 접속 할 수 없었다  
왜냐하면 빈폴에서의 에러 떄문이다 해결책으로, 필자는 tnaoranames.ora 에서 연결되지 않는 서버주소를 제거 하였다      
즉, 실제 사용할 수 있는 서버의 주소만 net manager 에 등록시켰던 것이다       
이러한 작업을 수행할 결과 토드가 정상적으로 접속 되었다  
하지만, sqlplus 는 여전히 접근되지 않았다


ORA-13535
정확히 어떤 네트워크 구성을 사용하시는지요?           
L4에 웹서버가 2대가 물려 있는 것이고 그 밖에 DB서버가 있을것 같네요.     
아니면 L4에 모두 물려 있던가, 12535 에러는 tnsnames.ora파일 설정이 잘 못되어서 나는 경우가    
허다합니다. listener가 정상적으로 띄워져 있고, 다른 한 서버에서는 접속이 되는데 또 다른 서버에서 접속이 안되시면
tnsnames.ora 설정이 틀린것 같습니다

 

자료출처 : http://blog.naver.com/karnoi?Redirect=Log&logNo=30025362620

 

javax.servlet.ServletException: 인덱스에 IN 또는 OUT 매개변수가 없음:: 1
PreparedStatement를 사용할때  pstmt.setInt(1,어쩌구 저쩌구~) 에서 1,2,3 과 같은 인덱스 오류

 

ORA-01006: 바인드 변수가 없습니다 
PreparedStatement를 사용할때 "?"의 개수보다  pstmt.set...() 이 더 많을경우.

 

ORA-00984: 열을 사용할 수 없습니다.
String sql=" insert into table values ( :num, :id, :password, :name, subject )";
위의 sql과 같이 오라클에서 PreparedStatement를 쓰기위해 ? 대신 :칼럼명을 자주 쓰곤 하는데..
:subject 처럼  :  을 빼먹을때 이런 에러가 자주 발생한다.  눈에도 잘 안보이고 엄청 짜증나는 실수.

 

ORA-00918: column ambiguously defined
select count(id) from TABLE_A a, TABLE_B b where a.id=b.id  이런식으로 두테이블을 조인할때,,  count(id) 여기에서  id 값이 정확히 지정되지 않았다.   count(a.id) 이런식으로 바꿔줘야 함

 

ORA-01002: 인출 시퀀스가 틀립니다
clob 타입을 이용할때 자동커밋을 false로 잡아서 트래잭션 처리 하지 않았을경우
setClob에서 이런 에러가 발생한다.

imp 에러  ( 에러넘버 까먹음 -_-')
lob 타입이 존재할경우 문자셋 어쩌구 저쩌구 하는 에러가 난다.
그럴때는  init.ora 파일을 아래와 같이 수정후 재시동 한뒤 imp 시킨다.
compatible = 8.0.5   ===>  compatible = 8.1.0

 

자료출처 : http://blog.naver.com/chinsu12?Redirect=Log&logNo=80010883847

 

ORA-00933 : SQL command not properly ended
SQL명령어를 제대로 작성하지 못했을 경우 발생


Oracle설치시 주의사항
오라클을 설치할때 설치할 경로나 설치 프로그램이 있는 경로에 한글이 들어가면 안되고
사용자나 컴퓨터 이름이 한글이 들어가서는 안된다.

오라클 10g삭제하는 방법
1. Oracle Universal Installer를 이용해 오라클 관련 제품을 삭제

2. 다음의 경로에 포함되어 있는 레지스트리 정보를 삭제합니다 
HKEY_CURRENT_USER\SOFTWARE\ORACLEHKEY_LOCAL_MACHINE\SOFTWARE\ORACLEHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application
\Oracle.oracleHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleDBConsoleHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle1 0g_homeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OraclService

3. 오라클 관련 폴더 삭제
Oracle Home Folder 삭제
Program Files > Oracle 관련 폴더 삭제
4. 재부팅, 시스템 환경 변수의 오라클 관련 설정 삭제

5. C:\Windows\assembly\ 의 Oracle.DataAccess 삭제


오라클 종료후에도 설정된 값 유지하기

위와같이 쿼리문을 추가해줄경우

 

예를들어 set serverout on 이란 쿼리문을 설정해줄때

 

콘솔창 종료후에도 설정된 값이 계속 유지된다




'MYSQL' DB연동시 연결되는게 있고 안되는게 있을경우

ABC -> abc

 

쿼리문의 테이블명이 대문자로 되있는지 확인해보세요!

대문자로 되있다면 바로 소문자로 변경하세요 

그래도 원인은 알고 잠이 드니 기분이 좋네요 ^^/


오라클 제약사항 찾는 방법
select * from user_constraints;



CSV파일로 변환하여 우편번호 등록

http://www.zipfinder.co.kr/- 집파인더

 

우편번호원본파일메뉴

다운로드

압축풀고

파일더블클릭

연결프로그램(엑셀)

확장자 CSV파일로 변환(oracle\ora92\bin\SQLLDR.EXE)

오라클폴더에 *.ctl검색(ulcase3.ctl파일의 주석삭제하고 복사)

테이블생성

ulcase3.ctl파일을 CSV파일경로와 컬럼명 추가
콘솔창에 명령어 입력하여 우편번호 추가



S_ID 확인하는 방법
오라클이 설치된 경로로 들어가 설정해주면 됨
오라클 SID확인하는방법



MYSQL 한글 에러(Incorrect string value)
■해결방법
MYSQL폴더안에 my.ini파일의
default-character-set=euckr를 변경한다.
이렇게도 안되면,
다시 설치해서 인코딩 설정에 원하는 언어로 설정한다.

Name jdbc is not bound in this Context
Name jdbc is not bound in this Context- 톰켓 JDBC설정(server.xml, web.xml)부분에서 Context와 매핑이 안되서 생기는 에러

The Network Adapter could not establish the connection 에러

DB연동 로직이나 오라클설정을 만진것도 없는데 갑자기 DB연동이 안되었다. ^^;

 

he Network Adapter could not establish the connection- DB접속이 안됐을때 에러 발생

 

콘솔창에서 sqlplus로 접속이 가능 하지만

 

ora-12545- Enterprise Manager Console로는 접속이 불가능

 

ora-12541- 톰켓 재시작 하니깐 되네 ㅡㅡ;;

 

tns-03502- 콘설창에 tnsping을 했을때 에러발생

 

원인은 컴퓨터 공유를 한다고 컴퓨터 이름을 변경했기때문에

 

해결방법은

 

NetManager(Oracle에 포함되어있음)실행 -> 로컬 -> 서비스이름지정에서 호스트명을

내 컴퓨터 이름으로 지정

댓글 없음:

댓글 쓰기