오라클 RAC에 두가지 유형의 마스터가 있는데,
하나는 Clusterware 레벨의 마스터고, 하나는 특정 리소스 또는 블록, 객체를 위한 마스터 노드가 있다.
Clusterware 레벨의 마스터 노드를 찾는 방법은 아래와 같은 방법이 있다.
$ cat $ORA_CRS_HOME/log/`hostname`/cssd/ocssd* |grep master or $ for x in `ls -tr $ORA_CRS_HOME/log/`hostname`/cssd/ocssd* `; do grep -i "master node" $x ; done | tail -1 |
또 다른 방법은 OCR 자동 백업을 이용한 방법이다.
OCR 자동 백업은 마스터 노드에서 수행 되고, 실패시 새로운 마스터 노드에서 백업이 생성된다.
[HOST01]oracle@host01:/home/oracle/DBA/hoon/mon> ocrconfig -showbackup host02 2017/09/14 12:01:14 /u01/app/12.1.0.2/grid/cdata/cluster-clu1/backup00.ocr 1146027977 host02 2017/09/14 08:01:13 /u01/app/12.1.0.2/grid/cdata/cluster-clu1/backup01.ocr 1146027977 host02 2017/09/14 04:01:12 /u01/app/12.1.0.2/grid/cdata/cluster-clu1/backup02.ocr 1146027977 host02 2017/09/13 04:01:09 /u01/app/12.1.0.2/grid/cdata/cluster-clu1/day.ocr 1146027977 host02 2017/09/04 04:00:34 /u01/app/12.1.0.2/grid/cdata/cluster-clu1/week.ocr 1146027977 host01 2015/06/01 12:17:26 /u01/app/12.1.0.2/grid/cdata/cluster-clu1/backup_20150601_121726.ocr 1146027977 host02 2015/06/01 11:14:17 /u01/app/12.1.0.2/grid/cdata/cluster-clu1/backup_20150601_111417.ocr 0 |
그럼 리소스에 대한 마스터는 어떻게 찾을까?
select distinct o.owner, o.object_name, DECODE(m.CURRENT_MASTER,0,'host01',1,'host02') AS CURRENT_NODE from dba_objects o, v$gcspfmaster_info m where o.data_object_id = m.data_object_id and object_name = 'MEMBERS'; OWNER OBJECT_NAME CURRENT_NODE ------------ ------------------------------ -------------------- SCOTT MEMBERS host01 |
리소스 마스터를 메뉴얼로 변경하는 방법은 아래와 같다.
oradebug lkdebug -m pkey <objectid> 예) members 의 오브젝트 아이디가 253672 라면 oradebug lkdebug -m pkey 253672 |
리마스터링에 대한 자세한 내용은 다음 사이트를 참조 하자.
http://oracleinaction.com/dynamic-remastering/
'OraclE' 카테고리의 다른 글
벌크 insert 빠르게 하는 방법 (0) | 2018.03.21 |
---|---|
RMAN backup set 에서 archivelog 추출하여 logminor 수행 (0) | 2018.02.22 |
DATAPUMP 암호화 (0) | 2017.01.19 |
ORACLE 12c UNIFIED AUDIT 사용 (0) | 2016.07.13 |
RAC 원하는 노드에서 mview refresh 수행 (0) | 2016.04.11 |