ORACLE SQLNET.ORA
from
1. SQLNET.ORA
A. $ORACLE_HOME/network/admin 에 일반적으로 위치
B. 동폴더에 위치한 tnsnames.ora, listener.ora 와 비교했을 때 선택사항에 해당
2. SQLNET.ORA 의 기능
A. 접근제어
tcp.validnode_checking 과 tcp.invited_nodes 옵션으로 접근을 제어할 수 있다.
/*+ 추후 여타 기능 추가 */
3. SQLNET.ORA 예제
A. 접근제어예제
환경 : LOCAL PC (192.168.1.101) alias ‘orcl’ 을 통해 vm image 에 접근
VM IMAGE (192.168.100.1)
listener 작동중에 tcp.validnode_checking = yes 를 sqlnet.ora 에 추가
tnsping orcl 결과를 확인
<listerner stop / start 를 하지 않았을 때>
정상적인 결과가 나온다.
<listerner stop / start 시행 후>
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ocp.mycorpdomain.com)(PORT=1521)))
TNS-12560: TNS:protocol adapter error
TNS-00584: Valid node checking configuration error
Listener failed to start. See the error message(s) above...
서버단에서 listener 를 재시작 할 때 위와 같은 에러가 난다.
에러의 내용은 유효노드 체크 리스트가 필요하다는 내용이다.
다시 이야기 하면 tcp.validnode_checking 과 tcp.invited_nodes 는 세트이다.
tcp.invited_nodes 항목을 추가(vm image가 사용하는 ip가 아닌 주소를 입력)
위의 tcp.validnode_checking 항목을 주석처리하고 다시 처음부터 진행하였다.
listener 작동중에
tcp.validnode_checking = yes 를 sqlnet.ora 에 추가
tcp.invited_nodes = ( 192.168.100.100 ) 을 sqlnet.ora 에 추가
listener 에 제어에 앞서 reload 가 아닌 stop 과 start 를 사용한 이유는 변경한
설정이 적용되지 않는 경우가 reload 에서 나타났기 때문이다. (원인불명)
<listener stop / start 를 하지 않았을 때>
정상적인 결과가 나온다.
리스너 재시작 텀으로는 5분여 정도여 장시간인 경우에 대해 확답하진 못하지만
listener 에 대한 설정(이 경우엔 sqlnet.ora) 이 적용되는 것은 listener 의 재기동시점이다.
<listener stop / start 시행 후>
client 에서 tnsping orcl 을 수행하면 다음과 같은 에러가 난다.
TNS-12547: TNS:연결이 끊어졌습니다
sqlplus 를 통해 접속을 하면 이런 메시지가 나온다.
ERROR:
ORA-12547: TNS:연결이 끊어졌습니다
타겟이 되는 서버에 대해 타 서버를 통해 우회접근 (SQL*NET)해야 하는 경우가 있을 수 있는데 보통 이런 서버들은 타겟 서버의 sqlnet.ora 에 설정된 신뢰받는 서버인 경우가 있다.
초대받지 않은 서버(invited_nodes) 가 아닌 경우 굳이 그 서버로 접근을 해야 하는 상황이면서 동시에 위와 같은 설정이 타겟서버에 적용되어 있는 경우 설정 후
listener 의 재기동이 필요하다.
/*+ 싱글 인스턴스 환경에서 listener 의 failover 에 대한 정보추가 */