oracle이 설치된 경로에 NETWORK\ADMIN\ 폴더에 보면 oracle에서 network와 관련한 여러 설정파일들이 있다. Show 그 중 'tnsnames.ora'라는 파일이 있는데... 이 파일은 간단히 설명하자면 클라이언트가 oracle 서버에 접속하기 위해 필요한 일종의 설정파일이라고 보면 된다. 근데 문제는 'ora-12541 : TNS 리스너가 없습니다'라는 에러가 나올 경우인데... 별도로 'tnsnames.ora' 파일을 셋팅하지 않은 경우라면 oracle 리스너가 동작하지 않고 있을 가능성이 높다. 'tnsnames.ora'파일을 셋팅을 한 일이 있다면 'tnsnames.ora'파일 설정이 올바르게 되어 있는지도 고려해 봐야 할 것이다. 1. oracle 리스너 컨트롤 툴에 접속 2. start 3. 오류발생!?!? 4. 알고 보니 예전에 'tnsnames.ora'파일을 바꿨던게 host 주소가 바뀌면서 문제가 생긴 것... 다시 수정하고 start oracle을 쓰지 않는지라 가끔씩 심심할 때마다 만지면 기억이 없다. 리스너 컨트롤 생각은 하면서 명령어가 기억이 나지 않으니;; 매번 같은 검색을 또 하고 있다. 이번엔 좀 더 오래 남겠지;; 목차
1 Listener 리스너
1.1 시작
1.2 정지
1.3 상태
1.4 리스너 등록 방법1.4.1 정적등록 VS 동적 등록정적 등록과 동적 등록의 가장 큰 차이는 Oracle Instance가 리스너를 자동으로 인식 하느냐 못하느냐의 차이.
1. $ORACLE_HOME/network/admin/listener.ora 파일 내용 확인
2. 2개의 리스너를 실행시키고 상태 확인.
3.리스너 상태 확인 서비스 상태가 READY 확인됨
4.listener1 리스너만 확인 서비스 상태가 UNKNOWN 확인됨
우선 listener.ora파일에 등록되어 있는 정보를 확인해보면 1) LISTENER 리스너는 LISTENER1 리스너와 다르게 서비스를 등록하지도 않았는데 서버스의 상태가 보여지는 것을 확인. 2) 바로 동적 등록과 정적 등록의 표시를 UNKNOWN과 READY로 한것. 3) UNKNOWN이라고해서 작동이 안하거나 그런 것이 아니고 단지 구분을 위한 표시일 뿐. 1.4.1.1 동적 등록동적 등록은 PMON 프로세스가 LREG라는 프로세스를 통해 자동으로 리스너에 서비스를 등록. 서비스를 어떤 리스너에 등록해줘야할지는 local_listener 파라미터를 통해 관리 됨. 1. 로컬 리스너 파라미터 확인
local_listener의 default 값은 "". 즉,디폴트 "LISTENER" 라는 이름의 리스너에 동적 등록하겠다는 의미. newdb말고 PROD SID를 사용하는 데이터베이스도 기본 local_listener값을 사용하고 있어 LISTENER 리스너의 서비스 상태를 봤을때 listener.ora 파일에 서비스를 등록하지 않았어도 동적 서비스 정보가 있었고 READY로 표시. 반면, LISTENER1의 경우 직접 listener.ora 파일에 SID_LIST에 기재하여 정적 등록. 1.4.2 local_listener의 파라미터를 변경해서 LISTENER1에 동적 등록
LISTENER1 리스너의 서비스를 확인해보니 newdb가 READY로 되어있는 서비스 하나 더 생성됨을 확인. 정적등록과 동적 등록은 별개로 서비스에 모두 등록 가능.
2 리스너 로그 위치
2.1 리스너 로그 확인
이 로그는 ADRCI 용 로그임. 2.2 로그백업 관리
2.3 mtime 옵션 사용 백업
2.4 trace 로그 대용량시 처리
3 RAC 리스너 설정3.1 리스너 상태 조회
3.1.1 리스너 나오지 않을때export 명령으로 ORACLE_HOME을 GRID_HOME으로 변경해준다.
3.1.2 리스너 확인
3.2 리스너 추가1. 리스너 추가하기 - 리스너명은 LISTENER2, 포트는 1571로 리스너를 추가합니다.
2. crsctl로 상태 확인 및 시작하기
2-1.리스너 Port 확인
3. lsnrctl로 상태 확인하기
3.3 리스너 삭제1. 리스너 삭제하기 - 리스너명 LISTENER2를 삭제합니다.
3.4 리스너 변경1. 리스너 포트 변경하기 - 리스너명 LISTENER2의 포트를 1621로 변경합니다. 1) 리스너 중지
2) 리스너 포트 변경
3) 리스너 시작
4) 상태 확인
3.5 파라미터 변경
3.6 client에서 접속하기
1. tnsnames.ora 정보
2. 더 간단하게
3.6.1 tnsnames.ora 접속 오류시
3.7 SCAN 리스너
remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있지 않은 경우 해당 값을 사용하여 매개변수를 설정합니다.
3.8 (로컬) 리스너 설정(listener.ora)3.8.1 listener.ora- 위치: 서버에서 $ORACLE_HOME/network/admin/listener.ora - 오라클 서버에서 클라이언트의 요청을 듣고, 클라이언트와의 통신 환경을 설정하는 파일 - 오라클 서버에 존재, 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜 및 포트 정보등을 설정하는 파일 - 설정형식:
|