오라클 프로세스 확인방법
1. 오라클 프로세스가 제대로 떠있는지 확인한다.
유닉스 계열의 경우 ps aux 또는 ps -ef를 이용하여 현재 돌아가고 있는 프로세스를 확인할 수 있다.
ora_pmon_
ora_dbw0_
ora_lgwr_
ora_ckpt_
ora_smon_
ora_reco_
ora_s000_
-----------------------------------------------------------------------------------
[TEST:/home/xxxxxxxx]ps -ef | grep ora
xxxxxxxx 6092 5257 0 13:30:01 pts/5 0:00 grep ora
xxxxxxxx 1176 1 0 9월 21 ? 87:35 ora_lgwr_XXXDB
xxxxxxxx 1174 1 0 9월 21 ? 140:27 ora_dbw0_XXXDB
xxxxxxxx 1172 1 0 9월 21 ? 0:07 ora_pmon_XXXDB
xxxxxxxx 1236 1 0 9월 21 ? 0:50 /oracle/product/920/bin/tnslsnr LISTENER -inherit
xxxxxxxx 1178 1 0 9월 21 ? 26:49 ora_ckpt_XXXDB
xxxxxxxx 1180 1 0 9월 21 ? 2:40 ora_smon_XXXDB
xxxxxxxx 1182 1 0 9월 21 ? 0:00 ora_reco_XXXDB
xxxxxxxx 1184 1 0 9월 21 ? 0:01 ora_cjq0_XXXDB
xxxxxxxx 1186 1 0 9월 21 ? 0:23 ora_qmn0_XXXDB
xxxxxxxx 1188 1 0 9월 21 ? 51:38 ora_arc0_XXXDB
xxxxxxxx 1190 1 0 9월 21 ? 0:59 ora_arc1_XXXDB
-----------------------------------------------------------------------------------
위에 열거한 프로세스는 오라클이 정상적으로 동작하기 위해서는 반드시 떠 있어야 하는 프로세스들이다.
참고로, 윈도우즈 계열에서는 제어판의 서비스 애플릿을 실행해서 다음과 같은 서비스가 시작되어 있는지 확인한다.
OracleService
2. 로컬접속이 되는지 확인한다.
프로세스가 제대로 떠있다면 서버의 콘솔이나 텔넷 상에서 sqlplus로 접속해본다.
-----------------------------------------------------------------------------------
[TEST:/home/xxxxxxxx]sqlplus userId/userPwd
-----------------------------------------------------------------------------------
이렇게 입력하여 제대로 접속이 되는지 확인한다.
이러한 로컬접속에는 리스너가 필요하지 않다.
따라서 이 과정이 실패한다면 리스너의 문제가 아니라 오라클 프로세스의 문제라고 볼 수 있다.
오라클은 $ORACLE_HOME/admin/bdump/alert.log 파일에 로그를 기록하나, 일반사용자는 권한이 없을 것이다.
같은 디렉토리에는 procname_.trc 의 형태로 되어 있는 트레이스 파일들도 존재하는데
이 파일들은 오라클의 각 데몬의 상태에 대한 트레이싱 기록을 가지고 있다.
3. 리스너 프로세스가 떠있는지 확인한다.
로컬접속이 제대로 된다면 리스너가 제대로 떠 있는지 확인해야 한다.
유닉스 상에서는
$ORACLE_HOME/bin/tnslsnr LISTENER -inherit
라는 프로세스가 보여야 한다.
윈도우즈 계열에서는 서비스 중에 OracleTNSListener 라는 서비스가 시작되어 있어야 한다.
만약 시작되어 있지 않다면 콘솔이나 텔넷에서 lsnrctl start 명령으로 리스너를 시작할 수 있고
lsnrctl status 라는 명령을 써서 현재 리스너의 상태를 볼 수 있다.
------------------------------------------------------------------------------------
[TEST:/home/xxxxxxxx]lsnrctl status
LSNRCTL for Solaris: Version 9.2.0.7.0 - Production on 01-FEB-2017 13:32:01
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TEST)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 9.2.0.7.0 - Production
Start Date 21-SEP-2016 18:02:38
Uptime 132 days 19 hr. 29 min. 23 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /oracle/product/920/network/admin/listener.ora
Listener Log File /oracle/product/920/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TEST)(PORT=1521)))
Services Summary...
Service "XXXDB" has 2 instance(s).
Instance "XXXDB", status UNKNOWN, has 1 handler(s) for this service...
Instance "XXXDB", status READY, has 1 handler(s) for this service...
The command completed successfully
------------------------------------------------------------------------------------
만약 리스너를 기동하는데 실패한다면 $ORACLE_HOME/network/log/listener.log에 있는 리스너 로그파일을 보자.
□ Listener 명령어
>lsnrctl help →도움말
>lsnrctl status →현재 상태
>lsnrctl start →시작
>lsnrctl stop →죽이기
>lsnrctl reload →재시작
또는
>lsnrctl →관리모드 실행
리스너 시작 : start
리스너 중단 : stop
리스너 재시작 : reload
리스너 상태보기 : status
리스너 명령어보기 : help
□ Listener 패스워드 설정방법
>lsnrctl
>change_password //리스너 패스워드 변경
>set password //설정한 패스워드 입력.
//단지 인증 목적으로 LSNRCTL 유틸리티에서 listener 프로세스에 보내게 되는 패스워드를 설정해 준다.
>save_config //listener설정파일의 백업파일(LISTENER.BAK)을 생성하고 실제 설정파일(LISTERNER.ORA) 자체에 변경된 내용을 업데이트
>exit
4. 네트워크 연결을 확인한다.
오라클 연결이 되기 위해서는 당연히 TCP/IP 같은 네트워크 연결이 정상적으로 작동 하고 있어야 한다.
반드시 DNS이름이나 IP주소에 대하여 ping이 되는지 확인한다.
'Data & Programming > Oracle' 카테고리의 다른 글
[Oracle-오류] ORA-01722: 잘못된 숫자 형식입니다. (0) | 2023.07.15 |
---|---|
[오라클-팁] 비정형 데이터 컬럼에서 실명번호 찾기 (0) | 2023.07.10 |
[Oracle-오류] ORA-01861 literal does not match format string (리터럴이 형식 문자열과 일치하지 않음) (0) | 2017.04.03 |
[오라클-팁] Oracle 날짜/요일/주/월 계산하기 (0) | 2017.02.06 |
[오류] ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512: "SYS.DBMS_OUTPUT" (0) | 2017.02.02 |