오라클을 사용하면 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. 여러 개의 데이터베이스 인스턴스를 이용하여 고가용성 및 장애 복구를 구현할 수 있다. 하나의 데이터베이스가 장애를 겪더라도 다른 데이터베이
스가 가용하게 유지될 수 있다.
'Database > Oracle' 카테고리의 다른 글
Oracle Pivot, UnPivot (0) | 2023.09.29 |
---|---|
Oracle Bigfile, Smallfile 차이 (0) | 2023.08.09 |
INS-35075 오류 - 오라클 완전 삭제 방법과 완전 삭제가 어려운 이유 (0) | 2023.07.20 |
ORA-01033: ORACLE의 초기화 또는 정지 처리가 진행 중입니다. (0) | 2023.07.18 |
오라클 12C 설치 방법 및 접속 확인 (0) | 2023.07.11 |