Oracle/RAC2021. 11. 23. 14:49

 

su - oracle

1) 현재 OCR에 설정되어 있는 IP정보 확인

$GRID_HOME/bin/oifcfg getif 

 

 

2) 기존 ip 삭제

$GRID_HOME/bin/oifcfg delif -global eth1

 

3) 신규 ip 대역 입력

$GRID_HOME/bin/oifcfg setif -global eth1/20.20.20.0:cluster_interconnect

 

※ class 까지 입력할 것.

 

 

참고사이트 : 

https://positivemh.tistory.com/322

'Oracle > RAC' 카테고리의 다른 글

오라클 RAC의 서비스 와 백그라운드 프로세스  (0) 2019.01.22
RAC 노드간 parallel process 제어  (0) 2015.08.18
CSS 파라미터  (1) 2013.08.12
[펌] crs 로그 위치  (0) 2013.02.07
CRS 소프트웨어 버전 확인  (0) 2011.09.08
Posted by 자수성가한 부자
Oracle/RAC2019. 1. 22. 10:01

GCS

 : Global Cache Service. 글로벌 캐시 동기화를 담당하는 역할을 하는 서비스이다.

  이 서비스를 수행하는 백그라운드 프로세스는 LMS 프로세스에 의해 제공된다.

  10g 부터 gcs_server_processes 파라미터로 LMS 프로세스의 개수를 지정할 수 있다.

  CPU가 많을수록, 인터커넥트 통신이 많을 수록 많이 사용하는 것이 일반적인 가이드이다.

 기본값은 4개의 CPU당 하나의 LMS 프로세스를 사용한다.


GES 

 : Global Enqueue Service. LMD 프로세스와 LCK 프로세스에 의해 제공된다.

   RAC에서는 LMS 프로세스가 BL락을 전담해서 관리하기 때문에 , LCK 프로세스는 단 하나만 구동된다.

   RAC에서는 LMD 프로세스는 노드간의 락 정보 전송 요청 및 응답 매커니즘을 관리한다.


CGS

 : Cluster Group Service. LMON 프로세스에 의해 제공된다.

  CGS wait for IPC msg 라는 Idle 이벤트가 관찰되는데 이 이벤트 대기 현상은 LMON 프로세스가 CGS를 위해 IPC 메시지를 받을 때까지 대기한다는 의미이다.

  CGS, 즉 LMON 프로세스는 클러스터의 멤버쉽을 관리하는 일을 한다. 클러스터를 모니터링 하면서 노드의 가입이나 탈퇴에 따른 클러스터의 상태를 관리하는 역할을 수행한다.




'Oracle > RAC' 카테고리의 다른 글

oracle RAC ip 변경  (0) 2021.11.23
RAC 노드간 parallel process 제어  (0) 2015.08.18
CSS 파라미터  (1) 2013.08.12
[펌] crs 로그 위치  (0) 2013.02.07
CRS 소프트웨어 버전 확인  (0) 2011.09.08
Posted by 자수성가한 부자
Oracle/RAC2015. 8. 18. 11:19

 

 

 

Oracle 버전에 따라 다르다.

 

1) 10g R2

-----------

instance_groups 설정

parallel_instance_group 설정

 

 

2) 11g R1

-----------

 

sid별로 parallel_instance_group을 설정

ALTER SYSTEM SET PARALLEL_INSTANCE_GROUP=testdb1srv sid='TESTDB1';

ALTER SYSTEM SET PARALLEL_INSTANCE_GROUP=testdb2srv sid='TESTDB2';

※ instance_groups 더이상 사용되지 않음.

 

 

3) 11g R2

-----------

 

parallel_force_local 파라미터만 이용 (default = false)

 

모든 노드에서 실행되게 하려면

parallel_force_local 파라미터를 true로 변경

 

출처 : http://commit.co.kr/i/entry/119

'Oracle > RAC' 카테고리의 다른 글

oracle RAC ip 변경  (0) 2021.11.23
오라클 RAC의 서비스 와 백그라운드 프로세스  (0) 2019.01.22
CSS 파라미터  (1) 2013.08.12
[펌] crs 로그 위치  (0) 2013.02.07
CRS 소프트웨어 버전 확인  (0) 2011.09.08
Posted by 자수성가한 부자
Oracle/RAC2013. 8. 12. 22:59

 


 

# Oracle Cluster Synchronization Service 파라미터


 OCSS 대몬의 역할은?

  : 기본적인 클러스터 서비스(클러스터 그룹 서비스, 클러스터 locking)를 제공하는 것 뿐만아니라, 노드간의 동기화 서비스, 노드 멤버쉽 정보에 접근을 제공


 OCSS 대몬의 특징은?

  : split brain을 상황을 피하기 위해서 machine을 reboot시킨다.


1. misscount

  : 노드와 노드간(interconnect)의 네트워크 latency

    default 값은? 30초


  1) 확인 

    $ crsctl get css misscount


  2) 설정

    $ crsctl set css misscount 600     


2. disktimeout

   : 노드에서 voting-disk로의 latency

     default 값은? 200초


  1) 확인

    $ crsctl get css disktimeout


  2) 설정

    $ crsctl set css disktimeout 200


3. reboottime

   : CSS 대몬이 제거된 후에 node가 reboot이 완료되기까지 걸리는 시간 

     default 값은? 3초


  1) 확인   

    $ crsctl get css reboottime


  2) 설정

    $ crsctl set css reboottime 3


참고사이트

 https://sort.symantec.com/public/documents/sfha/6.0/linux/productguides/html/sfrac_install/ch20s05.htm

 http://docs.oracle.com/cd/E11882_01/rac.112/e16794/crsref.htm#CWADD92197

 http://oracledbabay.blogspot.kr/2012/11/disktimeoutmisscountreboottime-for-css.html

'Oracle > RAC' 카테고리의 다른 글

오라클 RAC의 서비스 와 백그라운드 프로세스  (0) 2019.01.22
RAC 노드간 parallel process 제어  (0) 2015.08.18
[펌] crs 로그 위치  (0) 2013.02.07
CRS 소프트웨어 버전 확인  (0) 2011.09.08
RAC의 권장 구성  (0) 2011.05.24
Posted by 자수성가한 부자
Oracle/RAC2013. 2. 7. 12:52

 

 

Symantec logo

Oracle log files

 To check the Oracle log file

  • For Oracle 10g Release 1, access:

    $CRS_HOME/crs/log

  • For Oracle 10g Release 2, access:

    $CRS_HOME/log/hostname/crsd

    where hostname is the string returned by the hostname command.

The log file in this directory contains the logs pertaining to the CRS resources such as the virtual IP, Listener, and database instances. The file indicates some configuration errors or Oracle problems, since CRS does not directly interact with any of the Veritas components.

 To check for crs core dumps

Access:

$CRS_HOME/crs/init

Core dumps for the crsd.bin daemon are written here. Use this file for further debugging.

 To check the Oracle css log file

  • For Oracle 10g Release 1, access:

    $CRS_HOME/css/log

  • For Oracle 10g Release 2, access:

    $CRS_HOME/log/hostname/cssd

    where hostname is the string returned by the hostname command.

The log files in this directory indicate actions such as reconfigurations, missed checkins, connects, and disconnects from the client CSS listener. If there are membership issues, they will show up here. If there are communication issues over the private networks, they are logged here. The ocssd process interacts with vcsmm for cluster membership.

 To check for ocssd core dumps

Access:

$CRS_HOME/css/init

Core dumps from the ocssd and the pid for the css daemon whose death is treated as fatal are located here. If there are abnormal restarts for css the core files are found here.

 

출처 : https://sort.symantec.com/public/documents/sf/5.0/solaris/html/sf_rac_install/sfrac_troubleshoot7.html


'Oracle > RAC' 카테고리의 다른 글

RAC 노드간 parallel process 제어  (0) 2015.08.18
CSS 파라미터  (1) 2013.08.12
CRS 소프트웨어 버전 확인  (0) 2011.09.08
RAC의 권장 구성  (0) 2011.05.24
RAC 설치시 자동으로 올라오는 이유  (0) 2011.03.10
Posted by 자수성가한 부자
Oracle/RAC2011. 9. 8. 16:14



CRS의 소프트웨어 버전 확인하는 명령어

crsctl query crs softwareversion

예시)
[XXXXX1:/dbms/app/oracle]$crsctl query crs softwareversion
CRS software version on node [crndb1] is [10.2.0.2.0]

'Oracle > RAC' 카테고리의 다른 글

CSS 파라미터  (1) 2013.08.12
[펌] crs 로그 위치  (0) 2013.02.07
RAC의 권장 구성  (0) 2011.05.24
RAC 설치시 자동으로 올라오는 이유  (0) 2011.03.10
INSTANCE_GROUPS, PARALLEL_INSTANCE_GROUP  (0) 2011.03.02
Posted by 자수성가한 부자
Oracle/RAC2011. 5. 24. 22:40








RAC의 권장 구성은 위 그림과 같다.
노드 간을 이어주는 interconnect에도 switch가 있고, switch도 이중화 되어 있다.
그리고 각 노드별로 NIC도 2*2 = 4 개씩 있고, 이것도 역시 이중화를 위한 것이다.
cross-cable로도 연결할 수 있다고 하는데, 이렇게 interconnect간의 switch를 두고 이중화를 하는 이유는
만약의 상황을 대비해서 인 것도 있고, cross-cable로 연결할 경우는 오라클에서 SR을 진행해주지 않는다고 한다.

'Oracle > RAC' 카테고리의 다른 글

[펌] crs 로그 위치  (0) 2013.02.07
CRS 소프트웨어 버전 확인  (0) 2011.09.08
RAC 설치시 자동으로 올라오는 이유  (0) 2011.03.10
INSTANCE_GROUPS, PARALLEL_INSTANCE_GROUP  (0) 2011.03.02
TAF (Transparent Application Failover)  (1) 2010.07.07
Posted by 자수성가한 부자
Oracle/RAC2011. 3. 10. 13:34






RAC 설치시 자동으로 올라오는 이유

/etc/inittab에 설정된 내용

h1:3:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null
h2:3:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null
h3:3:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null

/etc/inittab은 부팅될 때 읽혀지는 파일.

id:runlevels:action:process

id: 해당 라인을 다른 부분과 식별하는 id

h1
h2
h3

runlevels: 해당 라인이 어떤 run level에서 유효한지를 지정하는 부분.
           run level은 한자리 숫자로 표현되며, 특별한 구분기호 없이 연속적으로 여러 실행 레벨을 써넣을 수 있음.
3
3          
3          
action: 해당 라인이 어떻게 동작하는지를 지정하는 부분
        respawn이라고 쓰게되면 그 다음 영역에 있는 명령이 종료될 때마다 그것을 재실행하게 된다.
        once라고 쓰게 되면 실행을 딱 한번만 하게 된다.
respawn
respawn       
respawn
     
process: 실행시킬 명령이 들어간다.

/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null 
/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null
/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null 

각 대몬들의 역할
/etc/init.d/init.evmd :
  - 특정한 사건 발생 시 이벤트 생성
  - 자식 프로세스로 evmlogger를 spawn 시킴
  - Evmlogger는 필요시 자식 프로세스를 spawn 시킴
  - callout directory를 스캔하고 callout을 호출
  - 오라클 계정으로 실행.
  - 장애로 인한 종료시 자동으로 재 구동됨

/etc/init.d/init.crsd :
  - HA 작업을 위한 엔진
  - '애플리케이션 자원'관리
  - '애플리케이션 자원'을 구동, 정지, fail over 처리
  - 애플리케이션 자원 구동/정지/점검 하기 위한 별도의 'actions'을 spawn
  - OCR(Oracle Configuration Repository)의 구성 프로파일 관리
  - OCR의 현재 알려진 상태를 저장
  - root 권한으로 실행
  - 장애 발생시 자동으로 재 구동됨 모든 클러스터를 시작/종료하는 대몬.

/etc/init.d/init.cssd :
  - OCSSD는 RAC의 일부로, ASM과 함께 단일 인스턴스를 구성함
  - 노드 멤버쉽에 대한 액세스를 제공
  - 그룹 서비스 제공
  - 기본적인 클러스터 lock 기능 제공
  - 하드웨어 공급 업체에서 제공하는 클러스터 소프트웨어가 설치되어 있을 경우, 통합을 실시
  - 하드웨어 공급 업체에서 제공하는 클러스터 소프트웨어 없이도 실행 가능
  - 오라클 계정으로 실행
  - 장애로 인한 종료시 시스템 리부팅됨
  - 리부팅은 split brain 현상 발생시, 데이터 corruption 방지를 목적으로 함.

run : 프로세스 fail시 자동으로 재기동됨.
fatal : 프로세스 fail시 os reboot됨.


/dev/null 2>&1 </dev/null

표준 에러를 표준 출력으로 redirection


참고내용 : http://kr.forums.oracle.com/forums/thread.jspa?threadID=477197&tstart=45

 


 

'Oracle > RAC' 카테고리의 다른 글

CRS 소프트웨어 버전 확인  (0) 2011.09.08
RAC의 권장 구성  (0) 2011.05.24
INSTANCE_GROUPS, PARALLEL_INSTANCE_GROUP  (0) 2011.03.02
TAF (Transparent Application Failover)  (1) 2010.07.07
CTF, TAF 설정  (0) 2010.06.16
Posted by 자수성가한 부자
Oracle/RAC2011. 3. 2. 20:42






INSTANCE_GROUPS, PARALLEL_INSTANCE_GROUP

두 파라미터 다 병렬처리에 관련된 것들이고, 두 파라미터 끼리 또 관련이 있습니다.

RAC 에서 이 파라미터들을 지정할 수 있는데,
INSTANCE_GROUPS로 인스턴스별로 여러 그룹들을 지정할 수 있고,
PARALLEL_INSTANCE_GROUP으로 INSTANCE_GROUPS에 지정된 그룹을 지정하면 지정된 인스턴스 들에서만 병렬 처리가 실행됩니다.

사실 이 정도 설명만 보면 무슨 말인지 이해하기 어렵죠?

예를 들어볼까요?

인스턴스가 아래와 같이 3개가 있습니다.

0



각 인스턴스별로 다음과 같이 INSTANCE_GROUPS 이 지정되어 있죠.
NODE1   : BIG_SERVER, ALL_NODES
NODE2   : BIG_SERVER, ALL_NODES
NODE3   : SMALL_SERVER, ALL_NODES
NODE4   : SMALL_SERVER, ALL_NODES

그리고 큰 배치 작업이 있는 세션에 대해서는 NODE1과 NODE2에서만 병렬처리만 되도록
PARALLEL_INSTANCE_GROUP에 BIG_SERVER가 지정되어 있습니다.
그리고 CRITICAL한 작업이 있는 세션에 대해서는 모든 노드에서 병렬처리 되도록
PARALLEL_INSTANCE_GROUP에 ALL_NODES가 지정되어 있습니다.

이 파라미터들은 이런 용도로 쓰입니다.





참고로 매뉴얼의 INSTANCE_GROUPS, PARALLEL_INSTANCE_GROUP 파라미터에 관한 설명의 원문은 아래와 같습니다.

INSTANCE_GROUPS

INSTANCE_GROUPS is a Real Application Clusters parameter that you can specify only in parallel mode. Used in conjunction with the PARALLEL_INSTANCE_GROUP parameter, it lets you restrict parallel query operations to a limited number of instances.

This parameter specifies one or more instance groups and assigns the current instance to those groups. If one of the specified groups is also specified in the PARALLEL_INSTANCE_GROUP parameter, then Oracle allocates query processes for a parallel operation from this instance.

PARALLEL_INSTANCE_GROUP

PARALLEL_INSTANCE_GROUP is a Real Application Clusters parameter that you can specify in parallel mode only. Used in conjunction with the INSTANCE_GROUPS parameter, it lets you restrict parallel query operations to a limited number of instances.

This parameter identifies the parallel instance group Oracle will use for spawning parallel execution processes. Parallel operations will spawn parallel execution processes only on instances that specify a matching group in their INSTANCE_GROUPS parameter.

If the value of PARALLEL_INSTANCE_GROUP does not correspond to an instance group name specified for an active instance, Oracle returns an error.

'Oracle > RAC' 카테고리의 다른 글

RAC의 권장 구성  (0) 2011.05.24
RAC 설치시 자동으로 올라오는 이유  (0) 2011.03.10
TAF (Transparent Application Failover)  (1) 2010.07.07
CTF, TAF 설정  (0) 2010.06.16
srvctl 유틸리티  (1) 2010.06.16
Posted by 자수성가한 부자
Oracle/RAC2010. 7. 7. 15:30

TAF (Transparent Application Failover)란 무엇인가?

RAC에서 사용하는 application failover의 개념으로 클라리언트 측의 feature이다.
두 노드가 있다고 가정하고, 한쪽 노드에 장애가 발생했을 경우,
나머지 살아있는 노드로 failover되는 기능이다.


TAF가 왜 필요한가?

TAF의 개념을 이해한다면 의심의 여지가 없다.
고가용성 시스템을 구축하기 위해 RAC를 사용한다면
장애 발생시에 failover를 안쓴다면 왜 RAC를 구축하겠는가?


TAF를 적용하기 위해서는 어떤 작업들이 필요한가?

1. 일단 클라이언트 측에 오라클 클라이언트 프로그램이 설치되어 있어야 한다.

2. 서버 쪽에 RAC가 구축되어 있어야 한다.

3. 오라클 클라이언트가 설치되어있는 곳의 $ORACLE_HOME/network/admin의 tnsnames.ora파일에
   아래와 같은 설정이 필요하다.

ORCLTEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vip-linux1)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = vip-linux2)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcltest.idevelopment.info)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
        (RETRIES = 180)
        (DELAY = 5)

      )
    )
  )

TAF가 지원하는 매개변수들에 대한 설명

TYPE:
이것은 NONE, SESSION, 또는 SELECT 중 하나가 사용됩니다. 사용 해제을 위해서는 TYPE=SESSION 로 설정하고, 세션과 오픈 커서의 페일오버를 위해서는 TYPE=SELECT 로 설정하십시오. 그리고 TAF 를 해제하기 위해서는 TYPE=NONE 으로 설정하시면 됩니다.

METHOD:
이것은 BASIC 또는 PRECONNECT 중 하나가 사용됩니다. BASIC 방식을 사용하면, 기존 접속이 실패할 때까지, TAF 는 접속의 재설정을 시도하지 않을 것입니다. PRECONNECT 방식을 사용하면, TAF 는 백업 접속을 위해 필요한 메모리 구조를 사전-설정하지만, 기존 접속이 실패할 때까지 백업 접속은 활성화되지 않을 것입니다.

BACKUP:
이 하위-매개변수는 백업 접속의 설정을 위해 사용되는 네트 서비스 이름을 지정합니다. BACKUP 지정은 PRECONNECT 방식을 사용할 때 필요한데, BASIC 방식에서 강력하게 추천되고 있습니다; 그렇지 않다면, 클라이언트가 재접속을 할 때까지 추가적으로 지연을 시키면서 방금 실패한 인스턴스에 최초로 재접속을 시도할 것입니다. 그러나, 사용자는 LOAD_BALANCING=ON 인 상태에서는 BACKUP 을 지정할 수가 없습니다.

DELAY:
TAF 가 장애 후에 BACKUP 에 연결하려는 시도 사이에서 기다리는 몇 초간의 지연 시간입니다.

RETRIES:
포기하기 전, TAF 가 장애 후에 BACKUP 에 연결하기 위해 시도하는 횟수입니다. RETRIES 와 DELAY 는 TAF 가 백업 접속을 포기하기 전에 콜드 페일오버가 완료될 수 있는 시간을 갖게 해줍니다


4. 그리고 /etc/hosts 파일에 3.에서 정의한 hostname이 정의되어 있어야 한다.

os] cat /etc/hosts

10.10.100.101 vip-linux1
10.10.100.102 vip-linux2


실제로 TAF 테스트를 해보자

Window 머신 (또는 다른 플랫폼의 “non-RAC” 클라이언트 머신)에서 orcltest 서비스를 사용하여 SYSTEM 사용자로 클러스터 데이터베이스에 로그인합니다:

C:\> sqlplus system/manager@orcltest

COLUMN instance_name    FORMAT a13
COLUMN host_name        FORMAT a9
COLUMN failover_method  FORMAT a15
COLUMN failed_over      FORMAT a11

SELECT
    instance_name
  , host_name
  , NULL AS failover_type
  , NULL AS failover_method
  , NULL AS failed_over
FROM v$instance
UNION
SELECT
    NULL
  , NULL
  , failover_type
  , failover_method
  , failed_over
FROM v$session
WHERE username = 'SYSTEM';


INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER
------------- --------- ------------- --------------- -----------
orcl1         linux1
                        SELECT        BASIC           NO

위에서 설정한 SQL*Plus 세션에서 로그아웃 하지 않습니다!

위 쿼리를 수행한 다음, abort 옵션을 사용하여 linux1 노드의 orcl1 인스턴스를 셧다운 합니다. 이 작업을 수행하기 위해 아래와 같이 srvctl 커맨드라인 유틸리티를 사용합니다:

# su - oracle
$ srvctl status database -d orcl
Instance orcl1 is running on node linux1
Instance orcl2 is running on node linux2

$ srvctl stop instance -d orcl -i orcl1 -o abort

$ srvctl status database -d orcl
Instance orcl1 is not running on node linux1
Instance orcl2 is running on node linux2

다시 앞의 SQL 세션으로 돌아가, 버퍼에 저장된 SQL 구문을 재실행합니다:
COLUMN instance_name    FORMAT a13
COLUMN host_name        FORMAT a9
COLUMN failover_method  FORMAT a15
COLUMN failed_over      FORMAT a11

SELECT
    instance_name
  , host_name
  , NULL AS failover_type
  , NULL AS failover_method
  , NULL AS failed_over
FROM v$instance
UNION
SELECT
    NULL
  , NULL
  , failover_type
  , failover_method
  , failed_over
FROM v$session
WHERE username = 'SYSTEM';

INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER
------------- --------- ------------- --------------- -----------
orcl2         linux2
                        SELECT        BASIC           YES

SQL> exit

위 실행 결과에서, 세션이 linux2 노드의 orcl2 인스턴스로 페일오버 되었음을 확인할 수 있습니다.


참조 : http://www.oracle.com/technology/global/kr/pub/articles/hunter_rac10gr2_3.html
         http://www.oracle.com/technology/global/kr/deploy/availability/htdocs/taf.html
         http://publib.boulder.ibm.com/infocenter/pim/v6r0m0/index.jsp?topic=/com.ibm.wpc.ins.doc/wpc_tsk_setting_up_oracle_to_use_taf_support.html

'Oracle > RAC' 카테고리의 다른 글

RAC 설치시 자동으로 올라오는 이유  (0) 2011.03.10
INSTANCE_GROUPS, PARALLEL_INSTANCE_GROUP  (0) 2011.03.02
CTF, TAF 설정  (0) 2010.06.16
srvctl 유틸리티  (1) 2010.06.16
crs_stat 각 정보의 의미는?  (0) 2010.06.14
Posted by 자수성가한 부자