서버의 IP를 변경한 후 (정상적인 IP 변경 과정을 거친 후)

오라클 기동시

lsnrctl 을 시작하는데 

에러를 뱉는다.



*** 해결 방법 ***

1. 먼저 hostname 설정이 맞는지 확인한다.

: hostname -i

: hostname -f

-> 나는 ifconfig 설정과 host의 IP 설정이 맞지 않음을 확인하였다.


2. /etc/hosts 의 내용을 Vi로 열어 수정한다.


3. /etc/sysconfig/network 의 내용을 Vi로 열어 IP 설정을 수정한다.


4. network 서비스를 재시작한다.

: /etc/init.d/network restart


5. 정상적으로 시작되었으면 ifconfig 를 통해 네트워크 설정 내용이 제대로 되었는지 확인한다. 

6. 오라클로 접속하여 lsnrctl 서비스가 정상적으로 실행되는 지 확인한다.




Connection : org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (IO 예외 상황: The Network Adapter could not establish the connection)

==> 로컬에서 원격 서버에 위치한 DB에 연결 시 발생되는 오류임.

     문제는 서버에 방화벽문제.. 회사나, 연구소의 경우 내부 스위치장비의 교체 등으로

     방화벽 설정이 수정되는 경우 발생 가능함.


==> 방화벽 문제가 아니라면 이클립스의 서버 Tab에 있는 Tomcat Server에 대해 Clean을 선택한다.


2개 이상의 테이블에서 조인을 걸어 데이터를 가져오려고 할때 사용하는 방법입니다만
A라는 테이블에는 데이터가 있으나, B라는 테이블의 데이터가 없는 경우에
이 두개를 조인을 걸면 데이터가 B테이블에는 없기 때문에 데이터 값이 제대로 가져오지 못하는 문제가 발생합니다.

그래서 데이터가 존재하지 않는 B 테이블에 (+) 기호를 지정하여 데이터가 존재하지 않아도
조인을 걸면 데이터들을 모두 보여주게 되는 것이죠

요즘 오라클 버전 9i 이상에서는 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이라는 문법으로 사용됩니다.

이전 사용법 :
SELECT    a.num, a.name, a.phone, b.part
FROM       USER A, OFFICE B
WHERE     a.oid(+) = b.oid

오라클 9i
SELECT    a.num, a.name, a.phone, b.part
FROM       USER A  LEFT OUTER JOIN OFFICE B
    ON   a.oid = b.oid
뭐 이런식으로 사용하면 되는데요. FROM절에 데이터가 없는 테이블의 위치에 따라서 LEFT, RIGHT OUTER JOIN이 결정되고
양쪽 모두 없을 경우에는 FULL OUTER JOIN이 됩니다

+ Recent posts