출처 : 오라클클럽

1. SID 란


A name that identifies a specific instance of a running pre-release 8.1 Oracle database.
For any database, there is at least one instance referencing the database.

For pre-release 8.1 databases, SID is used to identify the database.
The SID is included in the connect descriptor of a tnsnames.ora file and
in the definition of the listener in the listener.ora file. 

쉽게 이야기해서 SID 란 Oracle Instance 라고 생각하면 된다.
  ( 3 NODE 일 경우 SID 와 DB 와의 관계 )
  SID ---|
  SID ------- DB
  SID ---|

2. SID 확인 방법
select THREAD#,INSTANCE,STATUS from v$thread;
1    TG2010D    OPEN
--> Single DB 일 경우 Return 되는 Row 가 하나
1    TG2010D1    OPEN
2    TG2010D2    OPEN
--> RAC (2Node) 일 경우 Return 되는 Row 는 두개 이다.

3. DB_NAME 이란 ?
DB_NAME 은 8자리로 제한되는 Database 구분자이다.
이 파라미터는 CREATE DATABASE 일때 지정된다.
하나의 System 에 다수의 Database 가 운영되는 환경이라며,
SID(Oracle Instance Identifier) 와 DB Name 을 Matching 시켜 줘야 한다.
일반적으로 Single Database 일 경우 SID 와 DB Name 을 동일 하게 운영한다.
SID 지정을 통해서 접속 하고자 하는 DB NAME 을 지정한다고 생각하면 된다.
알파벳, _(Underscore), #(Number Signe), $(Dollar Singe) 만 가능하다.

EX) A(A), B(B), C(C)  -- DB_NAME ( SID )순서
   상기와 같은 구성 이라면 C 에 접속 하고자 한다면
   EXPORT ORACLE_SID=C [ UNIX, LINUX ]
   SET $ORACLE_SID=C   [ NT ]
   를 통해서 SID 지정 후 접속하면 원하는 DATABASE 에 접속이 가능하다.


4. DB_NAME 확인
select NAME, DB_UNIQUE_NAME from v$database ;
NAME      DB_UNIQUE_NAME
--------- ------------------------------
TG2010D   TG2010D

5. RAC 일 경우 INIT 파라미터 예제
*.cluster_database_instances=2
*.cluster_database=true
*.db_domain=''
*.db_name='TG2010D'
TG2010D1.instance_number=1
TG2010D2.instance_number=2

6. 기타
  일반적으로 SID 변경이란 SID 및 DB_NAME 을 변경 한다구 생각하면 된다.
  SID(INSTACNE) 만 변경 할 일은 극히 드물다..
  전 해본적이 없음


7. Global_Name
네트워크 환경에서 데이타베이스 이름이 동일하여 구분하기 어려울 때,
사용하는 전역 데이터베이스 이름을 사용할 것인지를 결정하는 파라미터이다.
DB_NAME.DB_DOMAIN 이름으로 구성된다.
INIT PARAMETER 화일 예제 )
  *.db_domain=''
  -- DB_DOMAIN 은 128 자 까지 가능, Default 값은 WORLD
  *.db_name='TG2010T'
 
8. Global_Name 관련 파라미터
8.1 GLOBAL_NAMES
SYS>show parameters global_names
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
global_names                         boolean     FALSE
==> Default 는 FALSE 값이다.
   DB LINK 를 통해서 접속 시에 GLLBAL_NAME 과 일치해야 하는지,
   FALSE 이면 DB LINK 값과 GLOBAL_NAME 이 달라도 접속이 된다.
   GLOBAL_NAME 의 효과(10번항목) 같이 생각하면
   GLOBAL_NAME 을 TRUE 로 설정하고, 같은 DOMAIN NAME 을 사용한다면
   같은 DOMAIN 내에서만 DB LINK 사용이 가능할것으로 예상된다.

8.2 GLOBAL_NAMES 변경
  SYS> ALTER SESSION SET global_names = TRUE;
  SYS> ALTER SYSTEM SET global_names = FALSE;

8.3 DB_DOMAIN    
SYS>show parameter domain
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_domain                            string
==>  DB_DOMAIN 은 128 자 까지 가능, Default 값은 WORLD

8.4 DB_NAME
SYS>show parameters db_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------
db_name                              string      TG2010T
==> GLOBAL_NAME = DB_NAME.DB_DOMAIN 이니 TG2010T 가 GLOBAL_NAME 이고
   GLOBAL_NAME 의 설정은 FALSE 이다.


9. Global_Name 확인 및 변경
SYS>ALTER DATABASE RENAME GLOBAL_NAME TO TG2010Z ;
Database altered.

SYS>select * from global_name ;
GLOBAL_NAME
--------------------------------------------------------------------------------
TG2010Z

SYS>ALTER DATABASE RENAME GLOBAL_NAME TO TG2010T ;
Database altered.

SYS>select * from global_name ;

GLOBAL_NAME
--------------------------------------------------------------------------------
TG2010T

10. Global_Name의 효과 
10. 1 Global_Name 효과
DB LINK 에 영향을 준다.
DB LINK 생성 시에 DB_DOMAIN 값이 아닌, GLOBAL_NAME 의 접미사 부분이
자동으로 DBA_DB_LINKS.DB_LINK 에 붙는다.
예제) 일반적으로 .WORLD 를 붙이지 않는다.
      테스트로 구별이 쉽게 하기 위해서 .WORLD 로 설정
     
SYS> SELECT GLOBAL_NAME  FROM GLOBAL_NAME ;
TG.WORLD
SYS> CREATE DATABASE LINK JT USING 'JT' ;
SYS> SELECT OWNER,DB_LINK,HOST FROM DBA_DB_LINKS  ;
SYS    JT2010D.WORLD   JT010d
==> 이런식으로 LOCAL DATABASE 의 아래의 값이 DB LINK 생성 시 자동으로 할당된다.
    예제에선 .WORLD
( SELECT GLOBAL_NAME  FROM GLOBAL_NAME ) - ( SELECT INSTANCE_NAME FROM V$INSTANCE )

10.2  DB_DOMAIN 확인 방법
SYS> SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'db_domain';
※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
04 27, 2010 13:03 04 27, 2010 13:03


Trackback URL : http://develop.sunshiny.co.kr/trackback/441

Leave a comment
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

« Previous : 1 : ... 386 : 387 : 388 : 389 : 390 : 391 : 392 : 393 : 394 : ... 648 : Next »

Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. 안녕하세요^^ 배그핵
  2. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  3. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  4. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny
  5. 감사합니다 많은 도움 되었습니다!ㅎㅎ 프리시퀸스

Recent Trackbacks

  1. project management project management %M
  2. cabo villas for rent cabo villas for rent %M
  3. buy my house fast buy my house fast %M
  4. buy my house now buy my house now %M
  5. how to sell a house quickly how to sell a house quickly 3 04

Calendar

«   04 2020   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2902934 HIT
TODAY 327 HIT
YESTERDAY 1312 HIT