행위

"오라클 리스너 SQLNET 설정"의 두 판 사이의 차이

DB CAFE

(SCAN 리스너)
(listener.ora)
 
(같은 사용자의 중간 판 24개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 
== SCAN 리스너 ==
 
== SCAN 리스너 ==
 +
{{틀:고지 상자
 +
|내용=
 +
* '''Oracle Grid Infrastructure SCAN 리스너를 구성하는 방법(기존 리스너와 별개의 리스너)'''
 +
* HA for Oracle 데이터베이스 데이터 서비스가 Oracle Grid Infrastructure for Clusters를 사용하여
 +
*:배치된 경우 단일 인스턴스 데이터베이스의 선호 리스너는 SCAN(Single Client Access Name) 리스너를 사용합니다.
 +
* HA for Oracle 데이터베이스 구성에 SCAN 리스너를 사용하려면
 +
*:단일 인스턴스 데이터베이스의 local_listener 및 remote_listener 매개변수가 올바르게 설정되었는지 확인해야 합니다.
 +
* SCAN 리스너가 구성된 경우 Oracle 데이터베이스 리스너 리소스는 필요하지 않습니다.
 +
}}
  
'''Oracle Grid Infrastructure SCAN 리스너를 구성하는 방법(기존 리스너와 별개의 리스너)'''
+
* 사용방법
 
+
:* SQL*Plus를 사용하여 데이터베이스 사용자로 Oracle 데이터베이스에 로그인
 
+
:* local_listener 매개변수에 로컬 리스너 IP 번호 및 포트 번호가 포함되어 있는지 확인
HA for Oracle 데이터베이스 데이터 서비스가 Oracle Grid Infrastructure for Clusters를 사용하여
+
:* local_listener 매개변수 설정을 표시합니다.
배치된 경우 단일 인스턴스 데이터베이스의 선호 리스너는 SCAN(Single Client Access Name) 리스너를 사용합니다.
+
<source lang='console'>
 
 
HA for Oracle 데이터베이스 구성에 SCAN 리스너를 사용하려면
 
단일 인스턴스 데이터베이스의 local_listener 및 remote_listener 매개변수가
 
올바르게 설정되었는지 확인해야 합니다.
 
 
 
 
 
<font color='red>'''SCAN 리스너가 구성된 경우 Oracle 데이터베이스 리스너 리소스는 필요하지 않습니다.'''</font>
 
 
 
 
 
SCAN 리스너에 대한 자세한 내용은 사용 중인 Oracle Grid Infrastructure 소프트웨어 버전에 해당하는 Oracle Grid Infrastructure 설치 설명서를 참조하십시오.
 
 
 
 
 
# SQL*Plus를 사용하여 데이터베이스 사용자로 Oracle 데이터베이스에 로그인합니다.
 
 
 
# local_listener 매개변수에 로컬 리스너 IP 번호 및 포트 번호가 포함되어 있는지 확인합니다.
 
 
 
local_listener 매개변수 설정을 표시합니다.
 
 
 
<SOURCE lang='console'>
 
 
SQL> show parameters local_listener
 
SQL> show parameters local_listener
 
 
NAME                                TYPE        VALUE
 
NAME                                TYPE        VALUE
 
------------------------------------ -----------------------------------------
 
------------------------------------ -----------------------------------------
32번째 줄: 21번째 줄:
 
</source>
 
</source>
  
3.local_listener 매개변수에 로컬 리스너 IP 번호 및 포트 번호가 포함되지 않은 경우  
+
* local_listener 매개변수에 로컬 리스너 IP 번호 및 포트 번호가 포함되지 않은 경우  
이 매개변수를 빈 값으로 설정한 다음  
+
:* 이 매개변수를 빈 값으로 설정한 다음 Oracle 데이터베이스를 다시 시작합니다.
Oracle 데이터베이스를 다시 시작합니다.
+
:* Oracle 데이터베이스가 다시 시작되면  
 
+
::* Oracle Clusterware에서 동적으로 local_listener 매개변수를 설정합니다.
4.Oracle 데이터베이스가 다시 시작되면  
+
<SOURCE lang='sql'>
Oracle Clusterware에서 동적으로 local_listener 매개변수를 설정합니다.
 
 
 
<SOURCE lang='console'>
 
 
SQL> alter system set local_listener='' scope=both;
 
SQL> alter system set local_listener='' scope=both;
 
System altered.
 
System altered.
 
</source>
 
</source>
  
5.local_listener 매개변수 설정이 올바른지 확인합니다.
+
* local_listener 매개변수 설정이 올바른지 확인합니다.
<SOURCE lang='console'>
+
<SOURCE lang='sql'>
 
SQL> show parameters local_listener
 
SQL> show parameters local_listener
 
</source>
 
</source>
 +
 
* local 리스너 다를 경우 변경  
 
* local 리스너 다를 경우 변경  
<SOURCE lang='console'>
+
<SOURCE lang='sql'>
 
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.22.33)(PORT=2222))' scope=both sid='MIG1'; -- RAC1
 
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.22.33)(PORT=2222))' scope=both sid='MIG1'; -- RAC1
 
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.22.43)(PORT=2222))' scope=both sid='MIG2'; -- RAC2
 
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.22.43)(PORT=2222))' scope=both sid='MIG2'; -- RAC2
 
</source>
 
</source>
  
remote_listener 매개변수가 SCAN 이름과 포트 번호를 참조하는지 확인합니다.
+
* remote_listener 매개변수가 SCAN 이름과 포트 번호를 참조하는지 확인
 
+
* remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있는지 여부 지정.
remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있는지 여부를 지정합니다.
+
<SOURCE lang='sql'>
 
 
<SOURCE lang='console'>
 
 
$ srvctl config scan
 
$ srvctl config scan
 
 
SCAN name: SCAN-name, Network: network-number
 
SCAN name: SCAN-name, Network: network-number
 
 
 
</source>
 
</source>
 
+
<SOURCE lang='sql'>
<SOURCE lang='console'>
 
 
$ srvctl config scan_listener
 
$ srvctl config scan_listener
 
 
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:port-number
 
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:port-number
 
 
 
</source>
 
</source>
  
remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있는지 여부를 지정합니다.
+
* remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있는지 여부를 지정합니다.
 
+
<SOURCE lang='sql'>
<SOURCE lang='console'>
 
 
SQL> show parameter remote_listener
 
SQL> show parameter remote_listener
 
 
NAME                                TYPE        VALUE
 
NAME                                TYPE        VALUE
 
------------------------------------ ----------- ------------------------------
 
------------------------------------ ----------- ------------------------------
 
remote_listener                      string      SCAN-name:port-number
 
remote_listener                      string      SCAN-name:port-number
 
</source>
 
</source>
 
+
* remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있지 않은 경우  
remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있지 않은 경우  
+
: 해당 값을 사용하여 매개변수를 설정합니다.
해당 값을 사용하여 매개변수를 설정합니다.
+
<SOURCE lang='sql'>
 
 
<SOURCE lang='console'>
 
 
SQL> alter system set remote_listener='SCAN-name:port-number' scope=both sid='RAC1';
 
SQL> alter system set remote_listener='SCAN-name:port-number' scope=both sid='RAC1';
 
SQL> alter system set remote_listener='SCAN-name:port-number' scope=both sid='RAC2';
 
SQL> alter system set remote_listener='SCAN-name:port-number' scope=both sid='RAC2';
 
</source>
 
</source>
 
+
* remote_listener 매개변수의 SCAN 설정을 확인합니다.
remote_listener 매개변수의 SCAN 설정을 확인합니다.
+
<SOURCE lang='sql'>
 
 
<SOURCE lang='console'>
 
 
SQL> show parameter remote_listener
 
SQL> show parameter remote_listener
 
</source>
 
</source>
 
+
* 각 클러스터 노드에서 tnsnames.ora 파일이 Net Service Name의 SCAN 이름을 참조하는지 확인합니다.
각 클러스터 노드에서 tnsnames.ora 파일이 Net Service Name의 SCAN 이름을 참조하는지 확인합니다.
+
<SOURCE lang='sql'>
 
 
<SOURCE lang='console'>
 
 
ORCL =
 
ORCL =
 
   (DESCRIPTION =
 
   (DESCRIPTION =
108번째 줄: 82번째 줄:
 
   )
 
   )
 
</source>
 
</source>
 
 
* 참고 ) 리스너 시작/종료
 
* 참고 ) 리스너 시작/종료
 +
<source lang='sql'>
 
$GRID_HOME/bin/srvctl stop scan_listener
 
$GRID_HOME/bin/srvctl stop scan_listener
 +
</source>
 +
<source lang='sql'>
 
$GRID_HOME/bin/srvctl start scan_listener
 
$GRID_HOME/bin/srvctl start scan_listener
 +
</source>
  
 
== (로컬) 리스너 설정(listener.ora) ==  
 
== (로컬) 리스너 설정(listener.ora) ==  
  
 
=== <big>listener.ora</big> ===
 
=== <big>listener.ora</big> ===
 
+
{{틀:고지 상자
 +
|내용=
 
- 위치: 서버에서 $ORACLE_HOME/network/admin/listener.ora
 
- 위치: 서버에서 $ORACLE_HOME/network/admin/listener.ora
  
122번째 줄: 100번째 줄:
  
 
- 오라클 서버에 존재, 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜 및 포트 정보등을 설정하는 파일
 
- 오라클 서버에 존재, 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜 및 포트 정보등을 설정하는 파일
 
+
}}
 
- 설정형식:
 
- 설정형식:
  
162번째 줄: 140번째 줄:
 
* SID_NAME : 리스너의 접속을 허용하는 데이터베이스의 SID 명을 지정한다.
 
* SID_NAME : 리스너의 접속을 허용하는 데이터베이스의 SID 명을 지정한다.
 
   
 
   
- 상태 확인 command : lsnrctl status
+
* 상태 확인 command :  
 +
<source lang=shell>
 +
oracle$> lsnrctl status [리스너명]
 +
</source>
  
 
* 12c에서 파라미터 확인
 
* 12c에서 파라미터 확인
 +
<source lang=shell>
 
SQL> show parameter local_listener;
 
SQL> show parameter local_listener;
 +
</source>
 +
* 변경
 +
<source lang=sql>
 +
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=서버아이피)(PORT=2222))' scope=both;
 +
</source>
 +
 +
* 리스너 시작
 +
<source lang=shell>
 +
oracle$> lsnrctl start [리스너명]
 +
</source>
  
-- 변경
+
[[Category:oracle]]
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=서버아이피)(PORT=2222))' scope=both;
 

2023년 4월 3일 (월) 23:03 기준 최신판

thumb_up 추천메뉴 바로가기


1 SCAN 리스너[편집]

android * Oracle Grid Infrastructure SCAN 리스너를 구성하는 방법(기존 리스너와 별개의 리스너)

  • HA for Oracle 데이터베이스 데이터 서비스가 Oracle Grid Infrastructure for Clusters를 사용하여
    배치된 경우 단일 인스턴스 데이터베이스의 선호 리스너는 SCAN(Single Client Access Name) 리스너를 사용합니다.
  • HA for Oracle 데이터베이스 구성에 SCAN 리스너를 사용하려면
    단일 인스턴스 데이터베이스의 local_listener 및 remote_listener 매개변수가 올바르게 설정되었는지 확인해야 합니다.
  • SCAN 리스너가 구성된 경우 Oracle 데이터베이스 리스너 리소스는 필요하지 않습니다.


  • 사용방법
  • SQL*Plus를 사용하여 데이터베이스 사용자로 Oracle 데이터베이스에 로그인
  • local_listener 매개변수에 로컬 리스너 IP 번호 및 포트 번호가 포함되어 있는지 확인
  • local_listener 매개변수 설정을 표시합니다.
SQL> show parameters local_listener
NAME                                 TYPE        VALUE
------------------------------------ -----------------------------------------
local_listener                       string      (ADDRESS=(PROTOCOL=TCP)(HOST=node-IP-number)(PORT=port-number))
  • local_listener 매개변수에 로컬 리스너 IP 번호 및 포트 번호가 포함되지 않은 경우
  • 이 매개변수를 빈 값으로 설정한 다음 Oracle 데이터베이스를 다시 시작합니다.
  • Oracle 데이터베이스가 다시 시작되면
  • Oracle Clusterware에서 동적으로 local_listener 매개변수를 설정합니다.
SQL> alter system set local_listener='' scope=both;
System altered.
  • local_listener 매개변수 설정이 올바른지 확인합니다.
SQL> show parameters local_listener
  • local 리스너 다를 경우 변경
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.22.33)(PORT=2222))' scope=both sid='MIG1'; -- RAC1
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.22.43)(PORT=2222))' scope=both sid='MIG2'; -- RAC2
  • remote_listener 매개변수가 SCAN 이름과 포트 번호를 참조하는지 확인
  • remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있는지 여부 지정.
$ srvctl config scan
SCAN name: SCAN-name, Network: network-number
…
$ srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:port-number
…
  • remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있는지 여부를 지정합니다.
SQL> show parameter remote_listener
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_listener                      string       SCAN-name:port-number
  • remote_listener 매개변수에 SCAN 이름과 포트 번호가 포함되어 있지 않은 경우
해당 값을 사용하여 매개변수를 설정합니다.
SQL> alter system set remote_listener='SCAN-name:port-number' scope=both sid='RAC1';
SQL> alter system set remote_listener='SCAN-name:port-number' scope=both sid='RAC2';
  • remote_listener 매개변수의 SCAN 설정을 확인합니다.
SQL> show parameter remote_listener
  • 각 클러스터 노드에서 tnsnames.ora 파일이 Net Service Name의 SCAN 이름을 참조하는지 확인합니다.
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = SCAN-name)(PORT = port-number))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
  • 참고 ) 리스너 시작/종료
$GRID_HOME/bin/srvctl stop scan_listener
$GRID_HOME/bin/srvctl start scan_listener

2 (로컬) 리스너 설정(listener.ora)[편집]

2.1 listener.ora[편집]

android - 위치: 서버에서 $ORACLE_HOME/network/admin/listener.ora

- 오라클 서버에서 클라이언트의 요청을 듣고, 클라이언트와의 통신 환경을 설정하는 파일

- 오라클 서버에 존재, 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜 및 포트 정보등을 설정하는 파일


- 설정형식:

LISTENER = 
        (DESCRIPTION_LIST = 
              (DESCRIPTION = 
                  (ADDRESS_LIST = 
                        (ADDRESS = (PROTOCOL = TCP)(HOST = 호스트ip1)(PORT = 포트번호)) 
                        (ADDRESS = (PROTOCOL = TCP)(HOST = 호스트ip2)(PORT = 포트번호))  
                  ) 
                     )
         )
 
     SID_LIST_LISTENER = 
        (SID_LIST = 
            (SID_DESC = 
                 (SID_NAME = SID_name) 
                 (ORACLE_HOME = 오라클위치) 
            ) 
        ) 

   #로컬 리스너 설정 -- DB의 local_listener 파라미터에서 사용 
   LISTENER_RTIST =
   (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 11.22.33.44)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 11.22.33.44)(PORT = 8855))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 8855))
   )
  • LISTENER : 리스너 이름이며 다른 이름으로 설정 가능. SID_LIST_리스너명 항목에서 리스너명과 동일
  • ADDRESS_LIST : ADDRESS들의 모임이며 여러 개의 ADDRESS를 동시에 설정 가능
  • ADDRESS : 데이터베이스 서버의 주소이며 프로토콜, 서버명 및 사용포트로 구성된다.
  • SID_LIST_LISTENER : 리스너가 서비스하는 데이터베이스 정보를 설정하며 SID_LIST_리스너명으로 설정
  • SID_LIST : 해당 리스너 프로세스가 하나 이상의 데이터베이스를 서비스 할 경우에 해당 부분에 여러개의 SID_DESC를 등록한다.
  • SID_NAME : 리스너의 접속을 허용하는 데이터베이스의 SID 명을 지정한다.
  • 상태 확인 command :
oracle$> lsnrctl status [리스너명]
  • 12c에서 파라미터 확인
SQL> show parameter local_listener;
  • 변경
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=서버아이피)(PORT=2222))' scope=both;
  • 리스너 시작
oracle$> lsnrctl start [리스너명]