버전 비교
키
- 이 줄이 추가되었습니다.
- 이 줄이 삭제되었습니다.
- 서식이 변경되었습니다.
사전 준비
hosts 파일 수정
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
### Public 10.0.1.101 rac1.localdomain rac1 10.0.1.102 rac2.localdomain rac2 10.0.1.103 rac3.localdomain rac3 ### Private 10.0.5.101 rac1-priv.localdomain rac1-priv 10.0.5.102 rac2-priv.localdomain rac2-priv 10.0.5.103 rac3-priv.localdomain rac3-priv ### Virtual 10.0.1.111 rac1-vip.localdomain rac1-vip 10.0.1.112 rac2-vip.localdomain rac2-vip 10.0.1.113 rac3-vip.localdomain rac3-vip ### SCAN 10.0.1.110 rac-scan.localdomain rac-scan |
전체 노드의 /etc/hosts 파일을 수정하여 추가하는 노드에 대한 접속 정보를 추가합니다.
네트워크 연결 테스트
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
ping -c 3 rac1 ping -c 3 rac2 ping -c 3 rac3 ping -c 3 rac1-priv ping -c 3 rac2-priv ping -c 3 rac3-priv |
펼치기 | ||||||
---|---|---|---|---|---|---|
|
모든 노드에서 ping 테스트를 통해 네트워크 연결이 정상적인지 확인합니다.
클러스터에 노드 추가
클러스터 상태 확인
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
crsctl stat res -t |
펼치기 | ||
---|---|---|
|
노드 추가 이전의 클러스터 상태를 조회 합니다.
grid 계정의 SSH 접속 설정
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/oui/bin/runSSHSetup.sh -user grid -hosts "rac1 rac2 rac3" -advanced -exverify |
펼치기 | ||
---|---|---|
|
1번 노드(대표 노드)에서 암호가 필요없는 SSH 접속 설정을 위한 스크립트를 실행합니다.
기존에 암호 없는 SSH 접속을 위한 설정이 되어 있으므로 두번의 yes를 입력한 후에 grid 유저의 OS 계정 비밀번호를 입력해야 합니다.
Cluster Verification Utility 패키지 설치
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
scp $GRID_HOME/cv/rpm/cvuqdisk-1.0.9-1.rpm grid@rac3:/tmp |
펼치기 | ||
---|---|---|
|
Cluster Verification Utility 패키지 파일을 새로 추가할 노드로 전송합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
rpm -ivh /tmp/cvuqdisk-1.0.9-1.rpm |
펼치기 | ||
---|---|---|
|
root 유저로 패키지 파일을 클러스터에 추가될 노드에 설치합니다.
사전 검증
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/bin/cluvfy stage -pre nodeadd -n rac3 -fixup -verbose |
펼치기 | ||
---|---|---|
|
추가할 노드에 대한 사전 검증 스크립트를 실행합니다.
반드시 모든 검증 사항을 통과한 상태에서 작업을 진행해야 문제 없이 설치가 진행됩니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/bin/cluvfy stage -post hwos -n rac3 |
펼치기 | ||
---|---|---|
|
하드웨어와 운영체제에 대한 검증을 진행합니다.
마찬가지로 모든 항목을 통과해야 합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/bin/cluvfy comp peer -refnode rac1 -n rac3 -orainv oinstall -osdba dba -verbose |
펼치기 | ||
---|---|---|
|
기존에 설치된 노드와 새로운 노드를 비교하는 검사입니다.
주요 항목의 경우 일치해야 하겠지만, 일부 항목(사용 가능한 메모리, 여유 디스크 공간, 실행 레벨 등)의 경우 설치 여부나 환경 설정에 따라서 일치하지 않아도 설치에 영향이 없는 것들이 있습니다.
Grid Infrastructure 복사
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}" |
펼치기 | ||
---|---|---|
|
클러스터가 실행 중인 1번 노드에서 grid 유저로 addNode 스크립트를 실행합니다.
작업이 진행되면 1번 노드의 grid 파일이 3번 노드로 복사됩니다.
root 스크립트 실행
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
/u01/app/oraInventory/orainstRoot.sh |
펼치기 | ||
---|---|---|
|
새로 추가되는 노드에서 root 스크립트를 실행합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
/u01/app/11.2.0/grid/root.sh |
펼치기 | ||
---|---|---|
|
두번째 root 스크립트를 실행하면 클러스터가 새로운 노드에 구성됩니다.
클러스터 추가 결과 검증
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
crsctl stat res -t crsctl check crs crs_stat -t -v olsnodes -n srvctl status asm -a ocrcheck crsctl query css votedisk |
펼치기 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
새로 추가된 노드에서 클러스터 서비스가 정상적으로 등록되었는지에 대한 검증을 수행합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/bin/cluvfy stage -post nodeadd -n rac3 -verbose |
펼치기 | ||
---|---|---|
|
노드 추가가 정상적으로 되었는지에 대한 사후 검증 스크립트를 새로 추가된 노드에서 실행합니다.
데이터베이스에 노드 추가
oracle 계정의 SSH 접속 설정
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$ORACLE_HOME/oui/bin/runSSHSetup.sh -user oracle -hosts "rac1 rac2 rac3" -advanced -exverify |
펼치기 | ||
---|---|---|
|
1번 노드(대표 노드)에서 암호가 필요없는 SSH 접속 설정을 위한 스크립트를 실행합니다.
기존에 암호 없는 SSH 접속을 위한 설정이 되어 있으므로 두번의 yes를 입력한 후에 grid 유저의 OS 계정 비밀번호를 입력해야 합니다.
Database 복사
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$ORACLE_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" |
펼치기 | ||
---|---|---|
|
Database가 실행 중인 1번 노드에서 oracle 유저로 addNode 스크립트를 실행합니다.
작업이 진행되면 1번 노드의 database 파일이 3번 노드로 복사됩니다.
root 스크립트 실행
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
/u01/app/oracle/product/11.2.0/db_1/root.sh |
펼치기 | ||
---|---|---|
|
새로 추가되는 노드에서 root 스크립트를 실행합니다.
권한 확인
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$ORACLE_HOME/bin/cluvfy comp admprv -o db_config -d $ORACLE_HOME -n rac1,rac2,rac3 -verbose |
펼치기 | ||
---|---|---|
|
복사된 database 파일들에 대한 권한을 확인합니다.
디렉토리 권한 변경
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
chmod 770 /u01/app/oracle chmod 770 /u01/app/oracle/cfgtoollogs chmod -R 775 /u01/app/oracle/diag |
펼치기 | ||
---|---|---|
|
grid 유저에게 속한 디렉토리의 권한을 동일 그룹에 속한 유저(oracle)에게 쓰기가 가능하도록 변경합니다.
DBCA로 인스턴스 추가
silent 모드
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
dbca -silent -addInstance -nodeList rac3 -gdbName racdb -instanceName racdb3 -sysDBAUserName sys -sysDBAPassword oracle_4U |
펼치기 | ||
---|---|---|
|
DBCA의 silent 모드로 새로운 노드에 RAC 데이터베이스의 인스턴스를 생성할 수 있습니다.
OUI 사용
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
dbca |
OUI(Oracle Universal Installer)를 사용하여 인스턴스를 추가할 수 있습니다.
Image RemovedImage Added
'Oracle RAC(Real Application Clusters) 데이터베이스'를 선택하고 [다음]을 클릭합니다.
Image RemovedImage Added
'인스턴스 관리'를 선택하고 [다음]을 클릭합니다.
Image RemovedImage Added
'인스턴스 추가'를 선택하고 [다음]을 클릭합니다.
Image RemovedImage Added
펼치기 |
---|
인스턴스를 추가할 노드에서 수행할 경우 다음과 같이 에러가 발생합니다. 반드시 로컬 인스턴스가 있는 노드에서 작업을 수행해야 합니다. Image RemovedImage Added |
인스턴스를 추가할 데이터베이스를 선택합니다.
사용자 이름에 "sys" 비밀번호에 sys 계정의 비밀번호(예: "oracle_4U")를 입력하고 [다음]을 클릭합니다.
Image RemovedImage Added
[다음]을 클릭합니다.
Image RemovedImage Added
인스턴스 이름을 확인하고 인스턴스를 추가할 노드를 선택한 후 [다음]을 클릭합니다.
Image RemovedImage Added
펼치기 |
---|
Image RemovedImage AddedImage Removed Image Added Image RemovedImage AddedImage Removed Image Added Image RemovedImage AddedImage Removed Image Added Image RemovedImage AddedImage Removed Image Added Image RemovedImage Added |
추가될 인스턴스의 데이블스페이스, 데이터 파일, 리두 로그 그룹 정보를 확인할 수 있습니다.
변경할 부분이 없다면 [완료]를 클릭합니다.
Image RemovedImage Added
펼치기 |
---|
Image RemovedImage Added |
추가될 인스턴스에 대한 요약 정보를 확인할 수 있습니다.
내용을 검토하고 변경할 부분이 없다면, [확인]을 클릭합니다.
Image RemovedImage Added
인스턴스가 추가됩니다.
Image RemovedImage Added
작업이 완료되면 [아니요]를 클릭합니다.
데이터베이스 추가 결과 검증
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
crsctl stat res -t srvctl status instance -d racdb -i racdb3 srvctl status database -d racdb -v |
펼치기 | ||||||
---|---|---|---|---|---|---|
|
데이터베이스 인스턴스가 정상적으로 생성되었는지 확인합니다.
코드 블럭 | ||||
---|---|---|---|---|
| ||||
select inst_id, instance_name, status from gv$instance order by inst_id; |
펼치기 | ||
---|---|---|
|
Database에 접속해서 인스턴스 정보를 검색합니다.