누군가 Oracle의 SID, DB 이름, DB 도메인, 글로벌 데이터베이스 이름, 서비스 이름, 서비스 별칭 및 인스턴스 이름의 차이점이 무엇인지 설명해 줄 수 있습니까?
감사합니다 마이클
답변
SID = 데이터베이스 인스턴스 (데이터베이스 이름 + 인스턴스 번호)를 식별합니다. 따라서 데이터베이스 이름이 somedb이고 인스턴스 번호가 3이면 SID는 somedb3입니다.
DB 이름 = 데이터베이스 이름 (데이터베이스는 여러 인스턴스와 공유 가능)
DB 도메인 = 일반적으로 회사 도메인 (somecompany.com)과 동일
글로벌 데이터베이스 이름 = 데이터베이스 이름 + 데이터베이스 도메인 (somedb.somecompany.com)
서비스 이름 = 하나 이상의 인스턴스에 대한 “커넥터”. 특정 SID를 기본 또는 보조 연결로 사용하거나 특정 SID를 전혀 사용하지 않도록 서비스를 수정할 수 있으므로 RAC 환경에서 추가 서비스 이름을 만드는 것이 종종 유용합니다.
서비스 별명 = 서비스 이름의 별명 (CNAME 등) 서비스 이름을 dba에 의미있는 것으로 만들지 만 약간 난해 할 수도 있습니다. 서비스 별명을 작성하고 사용자에게 의미가있는 이름을 지정하십시오.
인스턴스 이름 = SID와 동일
답변
SID를 설명하는 방법은 RAC 구성의 DEFAULT 동작입니다. SID (== instance_name)는 다음과 같습니다. 인스턴스 이름.
나는 항상 다음과 같이 본다 : 인스턴스는 RDBMS 소프트웨어의 인스턴스이다. 인스턴스는 제어 파일을 마운트합니다 (데이터베이스 마운트 변경).이 Controfile에는 데이터 파일의 위치가 기록됩니다. 데이터 파일 모음 (괜찮고 제어 파일) == 데이터베이스
데이터베이스에는 이름, db_name 및 (선택적으로) 도메인 (db_domain)-> 함께 global_db_name이 있습니다. 이제 데이터베이스를 복제하고 있다고 가정하십시오 (DataGuard). DB_name을 동일하게 유지하고 싶습니까? (즉, 데이터 측면에서는 SAME 데이터베이스입니다) 그렇다면 데이터베이스의 두 가지 ‘버전’을 식별하는 방법은 무엇입니까? ‘DB_UNIQUE_NAME’을 (를) 입력하십시오 … 예, 혼란스러워지고 있습니다 …
개인적으로는 DataGuard 설정에서 db_unique_name과 같이 INSTANCE의 이름을 지정하고 RAC 설정에서 RAC 이름 (db_name + Instance_Number)을 고수하는 것입니다. 그런 다음 내가 구성하는 db_unique_names는 일반적으로 db_name + 1-letter-suffix (MYDBa MYDBb 등)와 같습니다.
건배, 폴
답변
SID는 인스턴스입니다. 인스턴스 인 ‘데이터베이스 인스턴스’라는 용어를 사용하지 않는 것이 좋습니다.
“SID = 데이터베이스 인스턴스를 식별합니다 (데이터베이스 이름 + 인스턴스 번호)”가 잘못되었습니다. “인스턴스, RDBMS 소프트웨어의 인스턴스입니다”가 잘못되었습니다. 제거되거나 설치된 DBMS는 DBMS 일뿐입니다.
“DB 도메인 = 일반적으로 회사 도메인과 동일”은 피해야합니다. 도메인 사용시 문제가 발생했으며 도메인을 사용하지 않으면 문제가 사라집니다.
“전역 데이터베이스 이름 = 데이터베이스 이름 + 데이터베이스 도메인”도 잘못되었습니다. 글로벌 데이터베이스 이름은 서비스 이름입니다. 그렇게 간단합니다.
“SID =는 데이터베이스 인스턴스 (데이터베이스 이름 + 인스턴스 번호)를 식별합니다. 따라서 데이터베이스 이름이 somedb이고 인스턴스 번호가 3이면 SID는 somedb3입니다.” 잘못되었습니다. 그러한 정체성이나 이름의 분류는 없습니다.
답변
나는 당신이 참조하는 것이 좋습니다
Knowledge Xpert for Oracle Administration > Oracle Architecture > Oracle instance, files and processes
Toad를 설치 한 경우 평가판도 설치하십시오.
전체 그림을 철저히 설명합니다.