728x90
반응형
SMALL
728x90
반응형
LIST
728x90
반응형
SMALL
오라클을 사용하면 SID, ServiceName이라는 말을 들어봤을 것이다.
항상 헷갈려왔던 SID, Service Name의 차이를 알아보고, SID를 여러 개 구성하는 이유를 살펴보자.

 

■ SID

1. 오라클 데이터베이스를 고유하게 식별하는 문자열로 데이터베이스 서버에는 여러 개의 인스턴스가 존재할 수 있다.

2. 각각의 오라클 인스턴스(Instance)는 유일한 SID를 가져야 한다.

3. 이 SID는 오라클 데이터베이스 서버가 실행될 때 자동으로 설정되는 값으로, 일반적으로 데이터베이스를 설치할 때 지정한다.

4. SID 추가 방법은 윈도우 - 시작 - Database Configuration Assistant을 클릭하여, 설치할 때와 동일한 방법으로 추가한다.

5. SID 확인방법

SELECT INSTANCE FROM v$thread;

 

■ ServiceName

1. 오라클 데이터베이스에 접속할 때 사용되는 서비스 식별자이다.

2. 이는 클라이언트 응용 프로그램이 오라클 데이터베이스와 통신할 때 사용되는 문자열이다.

3. 오라클 데이터베이스를 사용하려는 클라이언트가 데이터베이스 서버에 접속하면, 서비스 이름을 지정하여 특정 데이터베이스 인스턴스에 연결한다.

4. 오라클 데이터베이스는 한 번에 여러 개의 서비스를 호스팅 할 수 있으며, 각 서비스는 고유한 서비스 이름을 가질 수 있다.

5. Service Name은 TNSNAMES.ORA 파일로 관리된다.

6. TNSNAMES.ORA 파일의 기본 위치는 클라이언트 시스템의 ORACLE_HOME 디렉터리에 있다. 일반적으로 ORACLE_HOME/network/admin 경로에 위치한다.

    (경로예제: Z:\...\product\12.2.0\dbhome_1\network\admin\)

7. tnsnames.ora파일은 아래와 같이 구성된다.

<서비스 이름> =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = <호스트 이름 또는 IP 주소>)(PORT = <포트 번호>))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = <데이터베이스 서비스 이름>)

    )

  )

8. ServiceName 확인방법

SELECT name, db_unique_name FROM v$database;

 

■ SID 여러 개 구성하는 이유

1. 각각 다른 메모리 구성, 파라미터 설정, 데이터베이스 객체 등을 가질 수 있다. 이로 인해 데이터베이스의 특정 요구 사항에 맞게 최적화된 설정이 가능하다.

2. 데이터베이스 간에 서로 접근 권한을 분리할 수 있고, 또한 중요한 데이터를 보다 강력하게 보호할 수 있다.

3. 여러 개의 데이터베이스 인스턴스는 부하를 분산하여 데이터베이스 전체의 성능을 향상시킬 수 있다. 특정 데이터베이스에 발생하는 부하가 다른

    데이터베이스에 영향을 미치지 않도록 구성할 수 있다.

4. 여러 개의 데이터베이스 인스턴스를 이용하여 고가용성 및 장애 복구를 구현할 수 있다. 하나의 데이터베이스가 장애를 겪더라도 다른 데이터베이

    스가 가용하게 유지될 수 있다.

728x90
반응형
LIST

+ Recent posts