[Oracle] PMON 프로세서

·2025년 8월 21일
0

오라클 관리

목록 보기
25/163

🔸 이론1. PMON의 역할

  1. 클라이언트 pc가 꺼졌을 때 서버에서 작업하고 있던 작업들을 정리해주는 역할

    클라이언트 -----------------------------------> 서버
     
  2. 아무것고 안하고 놀고 있으면 그 세션을 끊어버리는 역할

    ※ 오라클 12c 버전부터 리스너에 서비스를 자동으로 등록해주는 기능이
    pmon이 아니라 LPEG(Listener Registration) 프로세서가 담당함

이론2. 리스너에 서비스를 등록하는 방법 2가지

  1. 동적 서비스 등록 : pmon이나 LPEG가 오라클 서비스를 리스너에게 알려주는 방식
  2. 정적 서비스 등록 : Listener.ora 파일 안에 서비스 이름을 다 셋팅해놓는 방식

실습1. 리스너의 서비스 등록이 동적인지 정적인지 확인하시오

[oracle@ora19c ~]$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-8-2025 15:08:45

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.81)(PORT=1521)))에 연결되었습니다
리스너의 상태
------------------------
별칭                     LISTENER
버전                     TNSLSNR for Linux: Version 19.0.0.0.0 - Production
시작 날짜                 21-8-2025 13:32:01
업타임                   01 시간. 36. 43 초
트레이스 수준            off
보안                     ON: Local OS Authentication
SNMP                     OFF리스너 매개변수 파일   /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
리스너 로그 파일         /u01/app/oracle/diag/tnslsnr/ora19c/listener/alert/log.xml
끝점 요약 청취 중...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.81)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ora19c)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/ORA19/xdb_wallet))(Presentation=HTTP)(Session=RAW))
서비스 요약...
"ORA19" 서비스는 1개의 인스턴스를 가집니다.
  "ORA19" 인스턴스(READY 상태)는 이 서비스에 대해 1 처리기를 가집니다.
"ORA19XDB" 서비스는 1개의 인스턴스를 가집니다.
  "ORA19" 인스턴스(READY 상태)는 이 서비스에 대해 1 처리기를 가집니다.
명령이 성공적으로 수행되었습니다
[oracle@ora19c ~]$

alias sys='sqlplus / as sysdba'
alias scott='sqlplus scott/tiger'
alias net='cd /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/'

[oracle@ora19c ~]$ source .bash_profile
[oracle@ora19c ~]$
[oracle@ora19c ~]$ net
[oracle@ora19c admin]$
[oracle@ora19c admin]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/network/admin
[oracle@ora19c admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.81)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )

실습2. 다른 db에 scott으로 접속하세요

1. ping을 쏴봅니다.

C:\Users\Administrator>ping 192.168.13.65

Ping 192.168.13.65 32바이트 데이터 사용:
192.168.13.65의 응답: 바이트=32 시간=1ms TTL=64
192.168.13.65의 응답: 바이트=32 시간<1ms TTL=64
192.168.13.65의 응답: 바이트=32 시간<1ms TTL=64
192.168.13.65의 응답: 바이트=32 시간<1ms TTL=64

192.168.13.65에 대한 Ping 통계:
    패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
    최소 = 0ms, 최대 = 1ms, 평균 = 0ms

2. tnsping을 날립니다.

C:\Users\Administrator>tnsping 192.168.13.65:1521/ora19

TNS Ping Utility for 64-bit Windows: Version 21.0.0.0.0 - Production on 21-8-2025 15:20:05

Copyright (c) 1997, 2021, Oracle.  All rights reserved.

사용된 매개변수 파일:
C:\app\Administrator\product\21c\homes\OraDB21Home1\network\admin\sqlnet.ora

별칭 분석을 위해 EZCONNECT 어댑터 사용
(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=ora19))(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.65)(PORT=1521)))에 접속하려고 시도하는 중
확인(20밀리초)

3. sqlplus로도 접속되는지 확인

C:\Users\Administrator>sqlplus scott/tiger@192.168.13.65:1521/ora19

SQL*Plus: Release 21.0.0.0.0 - Production on821 15:22:48 2025
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

마지막 성공한 로그인 시간: 목 821 2025 14:57:32 +09:00

다음에 접속됨:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> 

실습3. 정적 서비스 등록으로 변경하시오

[oracle@ora19c admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.81)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER=
  (SID_LIST =
    (SID_DESC =
      (ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1)
      (SID_NAME= ORA19)
     )
   )

vi listener.ora에 위의 코드 붙여넣기


[oracle@ora19c admin]$ lsnrctl stop

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-8-2025 15:47:25

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.69)(PORT=1521)))에 연결되었습니다
명령이 성공적으로 수행되었습니다
[oracle@ora19c admin]$ lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-8-2025 15:47:28

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

시작 /u01/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr: 잠시만 기다리세요...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
시스템 매개변수 파일은 /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora 입니다
/u01/app/oracle/diag/tnslsnr/ora19c/listener/alert/log.xml ()로 로그 메시지를 기록했습니다
리스닝이: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.69)(PORT=1521)))
리스닝이: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.69)(PORT=1521)))에 연결되었습니다
리스너의 상태
------------------------
별칭                     LISTENER
버전                     TNSLSNR for Linux: Version 19.0.0.0.0 - Production
시작 날짜                 21-8-2025 15:47:28
업타임                   00 시간. 0. 0 초
트레이스 수준            off
보안                     ON: Local OS Authentication
SNMP                     OFF리스너 매개변수 파일   /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
리스너 로그 파일         /u01/app/oracle/diag/tnslsnr/ora19c/listener/alert/log.xml
끝점 요약 청취 중...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.69)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
서비스 요약...
"ORA19" 서비스는 1개의 인스턴스를 가집니다.
  "ORA19" 인스턴스(UNKNOWN 상태)는 이 서비스에 대해 1 처리기를 가집니다.
명령이 성공적으로 수행되었습니다
[oracle@ora19c admin]$

서비스가 기다리지 않아도 바로 뜸


문제1. 다시 동적 서비스 등록으로 변경하시오

[oracle@ora19c admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.81)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

[oracle@ora19c admin]$

0개의 댓글