데이터베이스 비정상 종료 시, 클러스터 멤버를 통한 구동(복구) 구동 절차
1.데이터베이스 비정상 종료
데이터베이스 시스템에 shutdown에 대한 명령을 주지 않았음에도, 어떠한 요인으로 인하여 gmaster프로세서가 종료 된 상태
2.현상
ERR-RD000(13034): Service is not available
ERR-HY000(11031): Unable to attach the shared memory segment : sthAttach() returned errno(13)
3.데이터베이스 비정상 종료 확인
gmaster 프로세서가 구동되어 있지 않고 , 골디락스 system.trc 가장 최신 로그에 system shutdown에 대한 내용이 없음
$ ps -ef | grep $LOGNAME | grep gmaster
$ vi $GOLDILOCKS_DATA/trc/system.trc
4.클러스터 멤버를 통한 구동(복구) 절차
step1) 메모리 정리
해당 장비에 데이터베이스가 설치 된 OS계정에서 골디락스 관련 메모리를 정리한다.
ipcs -m | grep $LOGNAME | awk '{print "ipcrm -m " $2}' | sh -v
ipcs -q | grep $LOGNAME | awk '{print "ipcrm -q " $2}' | sh -v
ipcs -s | grep $LOGNAME | awk '{print "ipcrm -s " $2}' | sh -v
step2) 데이터베이스 구동 (LOCAL OPEN)
$ gsql sys gliese --as sysdba
gSQL > startup
step3) 클러스터 시스템 조인
비정상 종료 된 멤버 외, 정상 구동중인 클러스터 시스템에 JOIN.
gSQL> alter system join database;
ERR-42000(16405): of the total '1' tables in the database, '1' tables need to be rebalanced
System altered.
step4) 데이터베이스 리발란스 및 데이터 확인
rebalance가 필요한 경우 아래의 명령어로 리발란스 수행.
gSQL> alter database rebalance;
Database altered.
step5) Cluster system의 coordinator 확인
gSQL> select x.LOCAL_MEMBER_NAME, y.IS_GLOBAL_COORD, y.IS_DOMAIN_COORD from x$instance x, x$cluster_member@local y where x.LOCAL_MEMBER_POSITION = y.MEMBER_POSITION;
LOCAL_MEMBER_NAME IS_GLOBAL_COORD IS_DOMAIN_COORD
----------------- --------------- ---------------
G1N1 FALSE FALSE
G1N2 TRUE TRUE
2 rows selected.
step6) G1N1를 coordinator로 변경
G1N1가 아닌 멤버가 coordinator일 경우, 현재 coordinator인 멤버의 데이터베이스를 재구동하여 G1N1에게 coordinator가 넘어갈 수 있도록 한다.
[G1N2]
gSQL> shutdown
gSQL> startup
gSQL> alter system join database;
gSQL> select x.LOCAL_MEMBER_NAME, y.IS_GLOBAL_COORD, y.IS_DOMAIN_COORD from x$instance x, x$cluster_member@local y where x.LOCAL_MEMBER_POSITION = y.MEMBER_POSITION;
LOCAL_MEMBER_NAME IS_GLOBAL_COORD IS_DOMAIN_COORD
----------------- --------------- ---------------
G1N1 TRUE TRUE
G1N2 FALSE FALSE
'IT Engineer > Database' 카테고리의 다른 글
DB 사이징 할때 내가작성한것 저장 (0) | 2018.09.19 |
---|---|
crontab -l (0) | 2018.09.19 |
dd명령어를 통해 디스크 성능 측정 메모 (0) | 2018.09.19 |
오라클 client 설정 (0) | 2018.09.19 |
[Database] cluster peer의 정체. goldilocksDB 인메모리 골디락스 (0) | 2018.03.02 |