Upload
reed
View
93
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
-3-
Naming Method 란 ?
▣ Oracle Net 이 제공하는 Naming Method◈ Host Naming
◈ Local Naming
◈ Directory Naming
◈ Oracle Names
◈ External Naming
-4-
Network 관련 파일 복사
▣ 접속◈ 203.252.164.200
◈ dba 번호 /dba 번호
▣ 생성 테스트◈ sqlplus “/ as sysdba”
◈ Select 이용한 검색
▣ cd network/admin
▣ cp /ocp/network/* ./
-5-
Host Naming
▣ 클라이언트는 다음과 같은 경우에 host name 을 이용하여 서버에 연결◈ Oracle Net Services Client 소프트웨어를 이용하여 오라클
데이타베이스 서비스에 연결◈ TCP/IP 프로토콜을 이용◈ DNS, /etc/hosts 파일을 이용한 host name <-> IP 주소 전환◈ 연결 관리자 , 보안 옵션이 사용할 수 없음
-8-
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/[email protected]
▣ 개인 컴퓨터에서 테스트 할 경우에는 WINDOWS\System32\drivers\etc\hosts 파일을 수정해야 함
-11-
Local Naming
▣ Local Naming◈ 클라이언트가 접속할 서버의 이름을 tnsnames.ora 파일에 기록
▣ 분산 환경에서의 로컬 이름지정 (Local Naming) 사용의 단점◈ tnsnames.ora 파일이 대용량 분산 환경에서 사용될 경우 많은
문제들이 나타남◈ 변경사항들은 네트워크 노드들 간에 효율적으로 전파되어야 함◈ tnsmames.ora 파일 내용의 정확성이 유지되어야 함◈ 급속한 변경이 발생할 때 추가적인 관리 시간 및 리소스들이
요구됨◈ 일관성은 모든 노드들 사이에서 유지되어야 함
-12-
Local Net Service Name 구성
▣ Local Net Service Name◈ tnsnames.ora 파일을 수정◈ 연결하고자 하는 데이타베이스 서비스의 이름 지정◈ 예를 들어 원격지의 jinny2000.konkuk.ac.kr 에 있는 데이타베이스
서비스의 이름을 ORCL1 으로 지정했다면 sqlplus scott/tiger@ORCL1 으로 접속 가능
-13-
클라이언트에서의 문제 해결
▣ 클라이언트에서의 오류 메시지들
◈ 12154 : tnsnames.ora 파일을 점검 ( 오류 , 파일 존재 여부 등 )
◈ 12198, 12203 : 네트워크 점검 , ADDRESS 파라미터 점검◈ 12533 : ADDRESS 파라미터 점검◈ 12541 : 리스너 연결 상태 점검 , tnsping 이용
-14-
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
-15-
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
-16-
요약
▣ Host Naming 과 Local Naming 의 차이점▣ Oracle Net Configuration Assistant 설정
◈ Host Naming 설정◈ Local Naming 설정◈ Net Service Name 설정
▣ 문제 해결 방법
-22-
Oracle Shared Server 사용의 장점
▣ 하나의 인스턴스에 대한 프로세스 수를 줄일 수 있음▣ 사용 가능한 사용자의 수를 늘일 수 있음▣ 로드 밸런싱 사용▣ 서버 프로세스의 수를 줄임▣ 메모리 사용과 시스템의 오버헤드를 줄임
-23-
Dedicated Server 의 사용
▣ 배치 작업일 경우에 유리함▣ Sysdba 로 접속해야 시작 , 종료 , 복구를 수행할 수 있음▣ 메모리가 사용자를 충분히 감당할 수 있는 경우에는
Dedicated Server 방식을 사용하는 것이 좋음
-26-
SGA 와 PGA
▣ Dedicated Server: User Session 데이터는 PGA 에 저장
▣ Shared Server : User Session 데이터가 SGA 에 저장
-27-
Oracle Shared Server 의 구성
▣ 초기화 파라미터◈ DISPATCHERS
◈ SHARED_SERVERS
▣ 부가적인 초기화 파라미터◈ MAX_DISPATCHERS
◈ MAX_SHARED_SERVERS
◈ CIRCUITS
◈ SHARED_SERVER_SESSIONS
-29-
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)’;
-30-
SHARED_SERVERS
▣ 인스턴스 시작 시에 생성되는 Shared server 의 수를 지정▣ ALTER SYSTEM SET SHARED_SERVERS = 2
▣ 초기 공유 서버 프로세스 수는 낮게 산정하는 것이 가장 좋습니다 .
▣ 추가 공유 서버는 필요한 경우에 자동으로 시작되며 장기간 휴지 상태로 있으면 자동으로 할당이 해제됩니다 .
-31-
MAX_SHARED_SERVERS
▣ 시작할 수 있는 Shared server 의 최대 개수를 지정▣ 요청 대기열의 길이에 따라 공유 서버를 동적으로 할당할
수 있습니다 .
-32-
CIRCUITS
▣ 가상 회로는 디스패처와 서버를 통해 이루어지는 데이터베이스에 대한 사용자 연결입니다
▣ 수신 및 송신 네트워크 세션에 사용할 수 있는 가상 회로의 총 수를 지정합니다 .
▣ 전체 SGA 크기에 영향을 줍니다 .
▣ Oracle 공유 서버가 구성된 경우 CIRCUITS 의 값은 SESSIONS 의 값과 일치하며 그렇지 않은 경우 이 값은 0이 됩니다 .
-33-
SHARED_SERVER_SESSIONS
▣ 특정 시점에 동시에 열려 있는 공유 서버 세션의 총 수▣ 허용되는 Oracle 공유 서버 사용자 세션의 총 수▣ 이 매개변수를 설정하면 전용 서버에 대해 사용자 세션을
예약할 수 있습니다 .
-35-
Shared Server 설정 ( 서버 )
[dba01@mars]$ vi dbs/initdba01.ora # 맨 밑에 주석 처리된 부분에서 주석을 삭제하고 원하는 숫자로 수정 dispatchers="(PROT=TCP) (DISPATCHERS=2)"shared_servers=2max_dispatchers=3max_shared_servers=4
[dba01@mars]$ sqlplus “/ as sysdba” SQL> shutdownSQL> startup
[dba01@mars]ps –aux | grep dba01dba01 16748 0.1 0.2 88272 6152 ? S 23:46 0:00 ora_s000_dba01dba01 16750 0.1 0.2 88272 6152 ? S 23:46 0:00 ora_s001_dba01dba01 16752 0.1 0.3 88156 6484 ? S 23:46 0:00 ora_d000_dba01dba01 16754 0.1 0.3 88156 6492 ? S 23:46 0:00 ora_d001_dba01
프로세스 확인
-36-
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 로 접속
-37-
프로세스 검색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 WAITD001 WAIT
SQL> select * from v$queue;
PADDR TYPE QUEUED WAIT TOTALQ-------- ---------- ---------- ---------- ----------00 COMMON 0 0 05188D11C DISPATCHER 0 0 05188D4CC DISPATCHER 0 0 0