본문 바로가기
OraclE

10G RAC Fail-Over test중 CRS가 listener down을 늦게 감지

by 타마마임팩트_쫀 2010. 9. 1.


 

금일 모고객사에서 10G RAC Fail-Over Test를 진행하였다

환경은 다음과 같다.

OS:RHEL5 64Bit

Oracle:10.2.0.4

 

먼저 pmon을 kill -9로 강제로 kill후 진행상태를 보면 10초정도이후에 crs가 감지해서

자동으로 올린다.

그러나 listener를 강제로 kill -9로 강제로 kill후 진행상태를 보면 8분정도 이후에

crs가 감지해서 자동으로 올리는 현상이 발생했다

10G RAC Check_interval은 600초  즉 10분이기 하지만 pmon에 비해서

crs가 감지하는 시간이 너무 오래걸린다.

그리고 check_interval은 모든 리소스가 600초가 아니고

vip 리소스는 30초이다

========================================================

[oracle@rac1.mycorpdomain.com:devdb1]/export/home/oracle> crs_stat -p
NAME=ora.devdb.db
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0./crs_1/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=600

--------------

 

NAME=ora.devdb.devdb1.inst
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0./db_1/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=600

--------------

 

NAME=ora.rac1.ASM1.asm
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0./db_1/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=600

----------------

 

NAME=ora.rac1.LISTENER_RAC1.lsnr
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0./db_1/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=600

----------------

 

NAME=ora.rac1.gsd
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0./crs_1/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=600

---------------

 

NAME=ora.rac1.ons
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0./crs_1/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=always
CHECK_INTERVAL=600

------------------

 

NAME=ora.rac1.vip
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0./crs_1/bin/racgwrap
ACTIVE_PLACEMENT=1
AUTO_START=1
CHECK_INTERVAL=30

 

---------------

 

===========================================================

 

해당 check_interval를 변경하려면 각각 리소스별로 변경해야 한다.

 

crs가 listener가 kill 감지를 빨리 하기 위해

 

CHECK_INTERVAL,SCRIPT_TIMEOUT 를 기존 600초에서 60초로 변경했다.

 

변경 방법은 다음과 같다. 해당 변경 방법은 굿어스 기술노트[34회]를 참조하였다.

====================================================================

1번 노드

1.srvctl stop instance -d devdb -i devdb1
2.srvctl stop nodeapps -n rac1
3.crs_stat -p ora.rac1.LISTENER_RAC1.lsnr > /tmp/ora.rac1.LISTENER_RAC1.lsnr.cap
4.crs_profile -update ora.rac1.LISTENER_RAC1.lsnr -dir /tmp -o ci=60,st=60
5.crs_register ora.rac1.LISTENER_RAC1.lsnr -dir /tmp -u
6.crs_stat -p ora.rac1.LISTENER_RAC1.lsnr |grep CHECK_INTERVAL

 

CHECK_INTERVAL=60

7.crs_stat -p ora.rac1.LISTENER_RAC1.lsnr |grep SCRIPT_TIMEOUT

 

SCRIPT_TIMEOUT=60

 

8.srvctl start nodeapps -n rac1
9.srvctl start instance -d devdb -i devdb1

 

2번 노드

1.srvctl stop instance -d devdb -i devdb2
2.srvctl stop nodeapps -n rac2
3.crs_stat -p ora.rac2.LISTENER_RAC2.lsnr > /tmp/ora.rac2.LISTENER_RAC2.lsnr.cap
4.crs_profile -update ora.rac2.LISTENER_RAC2.lsnr -dir /tmp -o ci=60,st=60
5.crs_register ora.rac2.LISTENER_RAC2.lsnr -dir /tmp -u
6.crs_stat -p ora.rac2.LISTENER_RAC2.lsnr |grep CHECK_INTERVAL


CHECK_INTERVAL=60


7.crs_stat -p ora.rac2.LISTENER_RAC2.lsnr |grep SCRIPT_TIMEOUT


SCRIPT_TIMEOUT=60


8.srvctl start nodeapps -n rac2
9.srvctl start instance -d devdb -i devdb2

==========================================================================

 

변경후 다시 Listener에 대한 Fail Over test를 진행해보니 1분이내애 CRS가 감지해서

자동으로 시작하였다.

 

'OraclE' 카테고리의 다른 글

테이블스페이스(TABLESPACE)  (0) 2010.10.21
Automatic Undo Retention 개요 [펌]  (0) 2010.10.12
Managing Job Queues  (0) 2010.07.11
was 다국어설정  (0) 2010.07.05
CONVENTIONAL PATH LOAD & DIRECT PATH LOAD  (0) 2010.05.25