400 likes | 656 Vues
Naming Method 설정. 김동오. 목적. Host Naming 과 Local Naming 의 차이점 Oracle Net Configuration Assistant 의 사용 간단한 연결 문제 해결 방법. Naming Method 란 ?. Oracle Net 이 제공하는 Naming Method Host Naming Local Naming Directory Naming Oracle Names External Naming. Network 관련 파일 복사. 접속 203.252.164.200
E N D
Naming Method 설정 김동오 -1-
목적 • Host Naming과 Local Naming의 차이점 • Oracle Net Configuration Assistant의 사용 • 간단한 연결 문제 해결 방법 -2-
Naming Method란? • Oracle Net이 제공하는 Naming Method • Host Naming • Local Naming • Directory Naming • Oracle Names • External Naming -3-
Network 관련 파일 복사 • 접속 • 203.252.164.200 • dba번호/dba번호 • 생성 테스트 • sqlplus “/ as sysdba” • Select 이용한 검색 • cd network/admin • cp /ocp/network/* ./ -4-
Host Naming • 클라이언트는 다음과 같은 경우에 host name을 이용하여 서버에 연결 • Oracle Net Services Client 소프트웨어를 이용하여 오라클 데이타베이스 서비스에 연결 • TCP/IP 프로토콜을 이용 • DNS, /etc/hosts 파일을 이용한 host name <-> IP 주소 전환 • 연결 관리자, 보안 옵션이 사용할 수 없음 -5-
Host Naming 예제 • listener.ora 파일 • SID_LIST_LISTENER = • (SID_LIST = • (SID_DESC = • (GLOBAL_DBNAME = ORCL.konkuk.ac.kr) • (ORACLE_HOME = C:\oracle\ora92) • (SID_NAME = ORCL) • ) • 클라이언트 • sqlplus scott/tiger@ORCL.konkuk.ac.kr • 개인 컴퓨터에서 테스트 할 경우에는 WINDOWS\System32\drivers\etc\hosts 파일을 수정해야 함 -8-
Naming Methods 설정 • Oracle Net Configuration Assistant or Oracle Net Manager -9-
Naming Methods 설정 -10-
Local Naming • Local Naming • 클라이언트가 접속할 서버의 이름을 tnsnames.ora 파일에 기록 • 분산 환경에서의 로컬 이름지정(Local Naming) 사용의 단점 • tnsnames.ora 파일이 대용량 분산 환경에서 사용될 경우 많은 문제들이 나타남 • 변경사항들은 네트워크 노드들 간에 효율적으로 전파되어야 함 • tnsmames.ora 파일 내용의 정확성이 유지되어야 함 • 급속한 변경이 발생할 때 추가적인 관리 시간 및 리소스들이 요구됨 • 일관성은 모든 노드들 사이에서 유지되어야 함 -11-
Local Net Service Name 구성 • Local Net Service Name • tnsnames.ora 파일을 수정 • 연결하고자 하는 데이타베이스 서비스의 이름 지정 • 예를 들어 원격지의 jinny2000.konkuk.ac.kr에 있는 데이타베이스 서비스의 이름을 ORCL1으로 지정했다면 sqlplus scott/tiger@ORCL1으로 접속 가능 -12-
클라이언트에서의 문제 해결 • 클라이언트에서의 오류 메시지들 • 12154 : tnsnames.ora 파일을 점검(오류, 파일 존재 여부 등) • 12198, 12203 : 네트워크 점검, ADDRESS 파라미터 점검 • 12533 : ADDRESS 파라미터 점검 • 12541 : 리스너 연결 상태 점검, tnsping 이용 -13-
listener.ora 설정 [dba01@mars dba01]$ vi network/admin/listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = mars)(PORT = 1522)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = dba01.konkuk.ac.kr) (ORACLE_HOME = /ocp/dba01) (SID_NAME = dba01) ) ) [dba01@mars dba01]$ lsnrctl start -14-
tnsnames.ora 설정 [dba01@mars dba01]$ vi network/admin/tnsnames.ora DBA01 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = mars)(PORT = 1522)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dba01.konkuk.ac.kr) ) ) [dba01@mars dba01]$ sqlplus system/manager@dba01 -15-
요약 • Host Naming과 Local Naming의 차이점 • Oracle Net Configuration Assistant 설정 • Host Naming 설정 • Local Naming 설정 • Net Service Name 설정 • 문제 해결 방법 -16-
Oracle Shared Server의 사용 및 설정 김동오 -17-
목적 • Oracle Shared Server의 구조 • Oracle Shared Server의 설정 • 관련된 Data Dictionary -18-
서버의 설정 • Dedicated Server Process • Shared Server Process -19-
Oracle Shared Server -21-
Oracle Shared Server 사용의 장점 • 하나의 인스턴스에 대한 프로세스 수를 줄일 수 있음 • 사용 가능한 사용자의 수를 늘일 수 있음 • 로드 밸런싱 사용 • 서버 프로세스의 수를 줄임 • 메모리 사용과 시스템의 오버헤드를 줄임 -22-
Dedicated Server의 사용 • 배치 작업일 경우에 유리함 • Sysdba로 접속해야 시작, 종료, 복구를 수행할 수 있음 • 메모리가 사용자를 충분히 감당할 수 있는 경우에는 Dedicated Server 방식을 사용하는 것이 좋음 -23-
연결 -24-
Request 수행 절차 -25-
SGA와 PGA • Dedicated Server: User Session 데이터는 PGA에 저장 • Shared Server : User Session 데이터가 SGA에 저장 -26-
Oracle Shared Server의 구성 • 초기화 파라미터 • DISPATCHERS • SHARED_SERVERS • 부가적인 초기화 파라미터 • MAX_DISPATCHERS • MAX_SHARED_SERVERS • CIRCUITS • SHARED_SERVER_SESSIONS -27-
DISPATCHERS • 디스패쳐의 수와 프로토콜을 지정 -28-
MAX_DISPATCHERS • 동시에 실행되는 최대 디스패쳐의 수를 입력 • 초기에 실행된 디스패쳐의 수를 늘이려면 ALTER SYSTEM 명령을 이용 • 최대 디스패쳐의 개수 = CEIL(Maximun number of concurrent sessions/Connections per dispatcher) • V$CIRCUIT, V$DISPATCHER • ALTER SYSTEM SET DISPATCHER=‘(PROTOCOL=TCP)(DISPATCHER=3)’; -29-
SHARED_SERVERS • 인스턴스 시작 시에 생성되는 Shared server의 수를 지정 • ALTER SYSTEM SET SHARED_SERVERS = 2 • 초기 공유 서버 프로세스 수는 낮게 산정하는 것이 가장 좋습니다. • 추가 공유 서버는 필요한 경우에 자동으로 시작되며 장기간 휴지 상태로 있으면 자동으로 할당이 해제됩니다. -30-
MAX_SHARED_SERVERS • 시작할 수 있는 Shared server의 최대 개수를 지정 • 요청 대기열의 길이에 따라 공유 서버를 동적으로 할당할 수 있습니다. -31-
CIRCUITS • 가상 회로는 디스패처와 서버를 통해 이루어지는 데이터베이스에 대한 사용자 연결입니다 • 수신 및 송신 네트워크 세션에 사용할 수 있는 가상 회로의 총 수를 지정합니다. • 전체 SGA 크기에 영향을 줍니다. • Oracle 공유 서버가 구성된 경우 CIRCUITS의 값은 SESSIONS의 값과 일치하며 그렇지 않은 경우 이 값은 0이 됩니다. -32-
SHARED_SERVER_SESSIONS • 특정 시점에 동시에 열려 있는 공유 서버 세션의 총 수 • 허용되는 Oracle 공유 서버 사용자 세션의 총 수 • 이 매개변수를 설정하면 전용 서버에 대해 사용자 세션을 예약할 수 있습니다. -33-
Shared Server 설정(서버) [dba01@mars]$ vi dbs/initdba01.ora #맨 밑에 주석 처리된 부분에서 주석을 삭제하고 원하는 숫자로 수정 dispatchers="(PROT=TCP) (DISPATCHERS=2)" shared_servers=2 max_dispatchers=3 max_shared_servers=4 [dba01@mars]$ sqlplus “/ as sysdba” SQL> shutdown SQL> startup [dba01@mars]ps –aux | grep dba01 dba01 16748 0.1 0.2 88272 6152 ? S 23:46 0:00 ora_s000_dba01 dba01 16750 0.1 0.2 88272 6152 ? S 23:46 0:00 ora_s001_dba01 dba01 16752 0.1 0.3 88156 6484 ? S 23:46 0:00 ora_d000_dba01 dba01 16754 0.1 0.3 88156 6492 ? S 23:46 0:00 ora_d001_dba01 프로세스 확인 -35-
Shared Server 설정(클라이언트) [dba01@mars]$ vi network/admin/tnsnames.ora DBA01 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = mars)(PORT = 1522)) ) (CONNECT_DATA = (SERVER = DEDICATED) -> 삭제 (SERVICE_NAME = dba01.konkuk.ac.kr) ) ) [dba01@mars]$ vi network/admin/tnsnames.ora (SERVER = DEDICATED) 삭제 [dba01@mars]$ sqlplus system/manager@dba01 <- shared server mode로 접속 -36-
프로세스 검색 SQL> select name, status from v$shared_server; NAME STATUS ---- ---------------- S000 WAIT(COMMON) S001 WAIT(COMMON) SQL> select name, status from v$dispatcher; NAME STATUS ---- ---------------- D000 WAIT D001 WAIT SQL> select * from v$queue; PADDR TYPE QUEUED WAIT TOTALQ -------- ---------- ---------- ---------- ---------- 00 COMMON 0 0 0 5188D11C DISPATCHER 0 0 0 5188D4CC DISPATCHER 0 0 0 -37-
관련 매개변수 • Oracle 공유 서버의 영향을 받으며 조정이 필요할 수 있는 기타 매개변수는 다음과 같습니다. • LARGE_POOL_SIZE • SESSIONS -38-
동적 성능 뷰 -39-
요약 • Oracle Shared Server 구성 • Shared Server와 관련된 동적 성능 뷰 -40-