페이지 이력
...
패치 파일을 다운로드 받아 압축을 해제하면 파일 안에 README.html 파일이 존재합니다.
해당 파일에는 패치 방법이나 주의 사항과 관련된 자세한 안내가 기록되어 있습니다.
...
펼치기 | ||||
---|---|---|---|---|
|
...
펼치기 | ||||
---|---|---|---|---|
|
...
grid 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.
pass되지 않은 항목이 있다면 oracle에 기술 지원을 요청해야 요청해야 합니다. (기존 패치의 rollback 등의 작업이 필요할 수 있으므로 반드시 가이드를 받고 진행합니다.)
...
적용할 패치 파일의 디렉토리 경로를 텍스트 파일에 저장하고, opatch의 CheckSystemSpace 옵션을 이용하여 디스크 공간을 검사합니다검사합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
vi /tmp/patch_list_gihome.txt # cat /tmp/patch_list_gihome.txt $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt |
...
펼치기 | ||||
---|---|---|---|---|
|
...
oracle 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.
pass되지 않은 항목이 있다면 oracle에 기술 지원을 요청해야 요청해야 합니다. (경우에 따라 기존 패치의 rollback 등의 작업이 필요할 수 있으므로 반드시 가이드를 받고 진행합니다.)
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925263 $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925218 |
...
적용할 패치 파일의 디렉토리 경로를 텍스트 파일에 저장하고, opatch의 CheckSystemSpace 옵션을 이용하여 디스크 공간을 검사합니다검사합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
vi /tmp/patch_list_dbhome.txt # cat /tmp/patch_list_dbhome.txt $DB_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt |
펼치기 | ||||
---|---|---|---|---|
|
자동 패치 : 동시에 Grid 및 DBMS 패치 적용
자동 패치를 수행할 경우 opatchauto 툴을 통해 grid와 database를 동시에 패치할 수 있습니다.
패치 방법은 간단하지만, 패치 과정 중 이슈가 발생하였을 때 분석하기 까다롭습니다.
자동 또는 수동 패치 중에 한가지 방식을 선택하여 패치를 진행하기 바랍니다.
opatchauto 수행하기
root 유저로 실행하며실행하며, 한 노드의 작업이 모두 완료된 후에 다른 노드에 작업을 수행합니다.
...
펼치기 | ||||
---|---|---|---|---|
1번 노드에서 실패 메시지가 발생할 수 있으나, 무시하고 2번 노드에 패치를 적용합니다.
|
수동 패치 : 개별적으로 Grid와 DBMS에 적용
수동 패치를 수행할 경우 opatch 툴을 통해 grid와 database를 각각 패치하게 됩니다.
단계별로 패치를 진행하게 되므로 이슈가 발생할 경우 트러블슈팅이 덜 까다롭습니다.
자동 또는 수동 패치 중에 한가지 방식을 선택하여 패치를 진행하기 바랍니다.
1번 노드 : DB_HOME의 서비스 중지
1번 노드에서 DB_HOME을 통해 가동중인 서비스를 중지합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
crsctl stat res -t
srvctl stop home -o $DB_HOME -s /tmp/crs_res_stop.log -n ora121-rac1
crsctl stat res -t |
1번 노드 : prepatch 스크립트 실행
패치 진행에 앞서 root 유저로 rootcrs.sh 스크립트를 prepatch 모드로 실행합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/crs/install/rootcrs.sh -prepatch |
1번 노드 : Grid 패치
$GRID_HOME 소유자 계정(grid)로 접속해서 수동 패치를 OCW, ACFS, DBWLM, DB 순으로 수행합니다.
각 패치에 대한 디렉토리 정보는 패치 파일에 포함된 README.html 파일을 참고합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /media/sf_oracle/27010930/26925218
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /media/sf_oracle/27010930/26910974
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /media/sf_oracle/27010930/26983807
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /media/sf_oracle/27010930/26925263 |
1번 노드 : Database 패치
$DB_HOME 소유자 계정(oracle)로 접속해서 OCW 패치 디렉토리 안에 있는 prepatch.sh을 먼저 수행합니다.
그리고, OCW와 DB 패치 순으로 패치를 수행합니다.
패치 완료 후 OCW 패치 디렉토리 안에 있는 postpatch.sh을 수행합니다.
각 패치에 대한 디렉토리 정보는 패치 파일에 포함된 README.html 파일을 참고합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
/media/sf_oracle/27010930/26925218/custom/scripts/prepatch.sh -dbhome $DB_HOME $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local /media/sf_oracle/27010930/26925263 Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-05_10-04-54오전_1.log Patch: 26925218 $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local /media/sf_oracle/27010930/26925263 /media/sf_oracle/27010930/26983807 Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-05_10-04-54오전_1.log OPatchauto session completed at Mon Feb 5 10:32:17 2018 Time taken to complete the session 44 minutes, 49 seconds 26925218/custom/scripts/postpatch.sh -dbhome $DB_HOME |
1번 노드 : postpatch 스크립트 실행
패치가 모두 정상 완료되었으면 root 계정에서 rootadd_rdbms.sh와 rootcrs.sh 스크립트를 postpatch 모드로 수행합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
$GRID_HOME/rdbms/install/rootadd_rdbms.sh
$GRID_HOME/crs/install/rootcrs.sh -postpatch |
2번 노드 패치
동일한 방식으로 패치 진행
MGMTDB 패치 적용하기
sqlpatch 로그 디렉토리 권한 변경
...
datapatch를 실행할 노드의 디렉토리만 적용해도 됩니다.
만약 grid와 database가 같은 유저로 설치되어 있다면, 이 작업은 생략해도 됩니다.
코드 블럭 |
---|
chmod -R 775 /u01/app/oracle/cfgtoollogs/sqlpatch |
...
MGMTDB 상태 확인
grid 유저로 접속해서 MGMTDB에 연결합니다연결합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
export ORACLE_SID=-MGMTDB sqlplus / as sysdba |
...
grid 유저에서 MGMTDB에 대한 datapatch를 적용합니다.
반드시 ORACLE_SID가 -MGMTDB로 지정된 상태에서 수행해야 수행해야 합니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
cd $ORACLE_HOME/OPatch ./datapatch -verbose |
펼치기 | ||
---|---|---|
|
...
펼치기 | ||||||||
---|---|---|---|---|---|---|---|---|
|