2010-12-02 5 views
0

Oracle의 작동 방식을 이해할 수 없습니다. 이것은 오라클과 함께 한 첫 번째 이야기입니다.이 질문이 어리 석거나 어리석게 들리면 사과하십시오.Oracle 10 g - ODBC 연결 설정 및 TNSNames.ora는 무엇입니까?

Oracle DBA 팀은 데이터베이스 또는 스키마를 만듭니다 (차이점은 무엇입니까?). SIT_Release2라고 부르 자. 나는 그것에 대한 ODBC 연결을 설정합니다. ORACLE_HOME \ Network \ Admin 경로에있는 TNSNames.ora라는 파일이 있습니다.

tnsnames.ora 파일은 다음의 정보를 갖고

SIT = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = "하여 IPAddress") (PORT = 1875)) ) (CONNECT_DATA = (SID = "앉아") (SERVER = DEDICATED) ) )

지금, 이미 (그것의 이름 SIT_Release1입니다) 다른 데이터베이스 또는 스키마를 위해 존재하는 ODBC 연결은 다음과 같습니다 . alt text

데이터 원본 이름은 특정 값으로 채워집니다.

설명은 특정 값으로 채워집니다.

대해 TNS 서비스 이름

는 SIT

이드 채워되는 사용자의 값으로 채워집니다.

질문

tnsnames.ora 파일은 그냥 연결하고있는 포트를 통해 수신하고있는 서버를 지정합니다.

이 ODBC 연결이이 특정 데이터베이스를 가리키는 지 정확히 지정합니까?

편집

답변

어떻게 작동하는지 나는 아직도 이해가 안 돼요. 그러나 이것은 일어난 일입니다. -

SID = "앉아"는 여전히 그대로 있지만 자격 증명은 다른 데이터베이스를 가리 킵니다.

위의 스크린 샷에서 TNS 서비스 이름은 여전히 ​​동일합니다. 그러나 사용자 이름/암호가 다르므로 다른 데이터베이스에 연결할 수 있습니다.

답변

0

데이터베이스를 가리키는 부분이 SID="sit"입니다.

Oracle 시스템 ID (SID)는 시스템의 특정 데이터베이스를 고유하게 식별하는 데 사용됩니다.

은 이러한 이유로, 하나는

좀 더 자세한 내용은 here 또는 here를 참조 컴퓨터 시스템에서 같은 SID를 가진 둘 이상의 데이터베이스를 가질 수 없습니다.

+0

감사합니다."sit"은 "IPAddress"에 설치된 인스턴스에 상주하는 데이터베이스의 이름입니다. 나 맞아? 두 번째로, 두 데이터베이스를 "sit1"과 "sit1"이라고 부릅니다 (예, 오른쪽 "sit1"은 데이터베이스의 이름입니다). "IPAddress1"과 "IPAddress2"를 사용하여 두 대의 다른 서버에 설치하면 TNS 항목을 다음과 같이 동일한 TNSNames.ora에서 IP를 두 번만 변경하여 두 번 사용할 수 있습니까? CONNECT_DATA = (SID = "sit1") (SERVER = DEDICATED))) SIT = (DESCRIPTION = (ADDRESS_LIST = (주소 = (프로토콜 TCP) (호스트 = "IPAddress2") (포트 = 1875) – Kanini