이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 3 다음 »

1. 패치 전 주의사항

패치 파일을 다운로드 받아 압축을 해제하면 파일 안에 README.html 파일이 존재합니다.

해당 파일에는 패치 방법이나 주의 사항과 관련된 자세한 안내가 기록되어 있습니다.

이를 반드시 읽고 테스트를 한 후에 적용해야 합니다.

2. 패치 사전 준비

A) 환경 변수 입력

root 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.

root 유저로 수행
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/12.1.0/grid
export DB_HOME=$ORACLE_BASE/product/12.1.0/db_1
# mkdir -p /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460
# chown -R grid:oinstall /u01/app/oracle/cfgtoollogs/sqlpatch
# chmod -R 775 /u01/app/oracle/cfgtoollogs
[root@rac1 ~]# export ORACLE_BASE=/u01/app/oracle
[root@rac1 ~]# export GRID_HOME=/u01/app/12.1.0/grid
[root@rac1 ~]# export DB_HOME=$ORACLE_BASE/product/12.1.0/db_1

B) 서비스 상태 조회

RAC가 정상적으로 기동중인지 확인합니다.

서비스를 수동으로 중단하지 않고, 패치를 진행할 수 있습니다.

root 유저로 수행
$GRID_HOME/bin/crsctl stat res -t
[root@rac1 ~]# $GRID_HOME/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.DATA.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.FRA.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.asm
               ONLINE  ONLINE       rac1                     Started,STABLE
               ONLINE  ONLINE       rac2                     Started,STABLE
ora.net1.network
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.ons
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac1                     STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       rac1                     169.254.237.180 10.0
                                                             .5.102,STABLE
ora.cvu
      1        ONLINE  ONLINE       rac1                     STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac1                     Open,STABLE
ora.oc4j
      1        ONLINE  ONLINE       rac1                     STABLE
ora.rac1       .vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.rac2       .vip
      1        ONLINE  ONLINE       rac2                     STABLE
ora.racdb.db
      1        ONLINE  ONLINE       rac1                     Open,STABLE
      2        ONLINE  ONLINE       rac2                     Open,STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac1                     STABLE
--------------------------------------------------------------------------------

C) GRID_HOME의 OPatch 업데이트

 root 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.

root 유저로 수행
cd $GRID_HOME
OPatch/opatch version
mv OPatch OPatch.old
cp -r /media/sf_oracle/OPatch .
chown -R grid:oinstall OPatch
ll | grep OPatch
OPatch/opatch version
[root@rac1 ~]# cd $GRID_HOME
[root@rac1 grid]# OPatch/opatch version
OPatch Version: 12.1.0.1.3

OPatch succeeded.
[root@rac1 grid]# mv OPatch OPatch.old
[root@rac1 grid]# cp -r /media/sf_oracle/OPatch .
[root@rac1 grid]# chown -R grid:oinstall OPatch
[root@rac1 grid]# ll | grep OPatch
drwxr-x---. 14 grid oinstall  4096 2018-02-01 12:07 OPatch
drwxr-xr-x.  7 grid oinstall  4096 2018-01-31 13:33 OPatch.old
[root@rac1 grid]# OPatch/opatch version
OPatch Version: 12.2.0.1.12

OPatch succeeded.
[root@rac2 ~]# cd $GRID_HOME
[root@rac2 grid]# OPatch/opatch version
OPatch Version: 12.1.0.1.3

OPatch succeeded.
[root@rac2 grid]# mv OPatch OPatch.old
[root@rac2 grid]# cp -r /media/sf_oracle/OPatch .
[root@rac2 grid]# chown -R grid:oinstall OPatch
[root@rac2 grid]# ll | grep OPatch
drwxr-x---. 14 grid oinstall  4096 2018-02-01 12:24 OPatch
drwxr-xr-x.  7 grid oinstall  4096 2018-01-31 13:35 OPatch.old
[root@rac2 grid]# OPatch/opatch version
OPatch Version: 12.2.0.1.12

OPatch succeeded.

D) ORACLE_HOME의 OPatch 업데이트

root 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.

root 유저로 수행
cd $DB_HOME
OPatch/opatch version
mv OPatch OPatch.old
cp -r /media/sf_oracle/OPatch .
chown -R oracle:oinstall OPatch
ll | grep OPatch
OPatch/opatch version
[root@rac1 ~]# cd $DB_HOME
 
[root@rac1 db_1]# OPatch/opatch version
OPatch Version: 12.1.0.1.3

OPatch succeeded.

[root@rac1 db_1]# mv OPatch OPatch.old

[root@rac1 db_1]# cp -r /media/sf_oracle/OPatch .

[root@rac1 db_1]# chown -R oracle:oinstall OPatch

[root@rac1 db_1]# ll | grep OPatch
drwxr-x---. 14 oracle oinstall  4096 2018-02-01 12:07 OPatch
drwxr-xr-x.  7 oracle oinstall  4096 2018-01-31 14:09 OPatch.old

[root@rac1 db_1]# OPatch/opatch version
OPatch Version: 12.2.0.1.12

OPatch succeeded.
[root@rac2 ~]# cd $DB_HOME
[root@rac2 db_1]# OPatch/opatch version
OPatch Version: 12.1.0.1.3

OPatch succeeded.
[root@rac2 db_1]# mv OPatch OPatch.old
[root@rac2 db_1]# cp -r /media/sf_oracle/OPatch .
[root@rac2 db_1]# chown -R oracle:oinstall OPatch
[root@rac2 db_1]# ll | grep OPatch
drwxr-x---. 14 oracle oinstall  4096 2018-02-01 12:25 OPatch
drwxr-xr-x.  7 oracle oinstall  4096 2018-01-31 14:12 OPatch.old
[root@rac2 db_1]# OPatch/opatch version
OPatch Version: 12.2.0.1.12

OPatch succeeded.

3. 패치 검증

A) GRID의 패치 내역 확인

grid 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.

grid 유저로 수행
$GRID_HOME/OPatch/opatch lsinventory
[grid@+ASM1 ~]$ $GRID_HOME/OPatch/opatch lsinventory

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-23-16오후_1.log

Lsinventory Output file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/lsinv/lsinventory2018-02-01_15-23-16오후.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: rac1
ARU platform id: 226
ARU platform description:: Linux x86-64

설치된 최상위 레벨 제품(1):

Oracle Grid Infrastructure 12c                                       12.1.0.2.0
이 Oracle 홈에 1개의 제품이 설치되어 있습니다.


이 Oracle 홈에 설치된 Interim 패치가 없습니다.


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

OPatch succeeded. 
[grid@+ASM2 ~]$ $GRID_HOME/OPatch/opatch lsinventory

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-23-47오후_1.log

Lsinventory Output file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/lsinv/lsinventory2018-02-01_15-23-47오후.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: rac2
ARU platform id: 226
ARU platform description:: Linux x86-64

설치된 최상위 레벨 제품(1):

Oracle Grid Infrastructure 12c                                       12.1.0.2.0
이 Oracle 홈에 1개의 제품이 설치되어 있습니다.


이 Oracle 홈에 설치된 Interim 패치가 없습니다.


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

OPatch succeeded.

B) GRID 패치 충돌 여부 검증

grid 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.

pass되지 않은 항목이 있다면 oracle에 기술 지원을 요청해야 합니다. (기존 패치의 rollback 등의 작업이 필요할 수 있으므로 반드시 가이드를 받고 진행합니다.)

grid 유저로 수행
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925263
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925218
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26910974
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26983807
[grid@+ASM1 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925263

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-26-08오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[grid@+ASM1 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925218

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-26-17오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[grid@+ASM1 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26910974

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-26-20오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[grid@+ASM1 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26983807

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-26-26오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[grid@+ASM2 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925263

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-26-10오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[grid@+ASM2 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925218

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-26-20오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[grid@+ASM2 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26910974

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-26-23오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[grid@+ASM2 ~]$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26983807

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-27-30오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

C) GRID 패치 디스크 용량 확인

GRID 패치를 위해 충분한 디스크 용량이 확보되어 있는지 검사합니다.

적용할 패치 파일의 디렉토리 경로를 텍스트 파일에 저장하고, opatch의 CheckSystemSpace 옵션을 이용하여 디스크 공간을 검사합니다.

grid 유저로 수행
vi /tmp/patch_list_gihome.txt
# cat /tmp/patch_list_gihome.txt
$GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt
[grid@+ASM1 ~]$ vi /tmp/patch_list_gihome.txt
[grid@+ASM1 ~]$ cat /tmp/patch_list_gihome.txt
/media/sf_oracle/27010930/26983807
/media/sf_oracle/27010930/26910974
/media/sf_oracle/27010930/26925218
/media/sf_oracle/27010930/26925263
[grid@+ASM1 ~]$ $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/12.1.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/12.1.0/grid/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/12.1.0/grid/cfgtoollogs/opatch/opatch2018-02-01_15-29-47오후_1.log

Invoking prereq "checksystemspace"

Prereq "checkSystemSpace" passed.

OPatch succeeded.

D) Database의 패치 내역 확인

oracle 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.

oracle 유저로 수행
$DB_HOME/OPatch/opatch lsinventory
[oracle@racdb1 ~]$ $DB_HOME/OPatch/opatch lsinventory

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/12.1.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/db_1/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/opatch2018-02-01_15-24-38오후_1.log

Lsinventory Output file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2018-02-01_15-24-38오후.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: rac1
ARU platform id: 226
ARU platform description:: Linux x86-64

설치된 최상위 레벨 제품(1):

Oracle Database 12c                                                  12.1.0.2.0
이 Oracle 홈에 1개의 제품이 설치되어 있습니다.


이 Oracle 홈에 설치된 Interim 패치가 없습니다.


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

OPatch succeeded.
[oracle@racdb2 ~]$ $DB_HOME/OPatch/opatch lsinventory

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/12.1.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/db_1/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/opatch2018-02-01_15-24-41오후_1.log

Lsinventory Output file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2018-02-01_15-24-41오후.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: rac2
ARU platform id: 226
ARU platform description:: Linux x86-64

설치된 최상위 레벨 제품(1):

Oracle Database 12c                                                  12.1.0.2.0
이 Oracle 홈에 1개의 제품이 설치되어 있습니다.


이 Oracle 홈에 설치된 Interim 패치가 없습니다.


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

OPatch succeeded.

E) Database 패치 충돌 여부 검증

oracle 유저로 1번과 2번 노드에 접속하여 양쪽에서 모두 실행합니다.

pass되지 않은 항목이 있다면 oracle에 기술 지원을 요청해야 합니다. (경우에 따라 기존 패치의 rollback 등의 작업이 필요할 수 있으므로 반드시 가이드를 받고 진행합니다.)

 

oracle 유저로 수행
$DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925263
$DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925218
[oracle@racdb1 ~]$ $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925263

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/12.1.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/db_1/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/opatch2018-02-01_15-28-20오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[oracle@racdb1 ~]$ $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925218

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/12.1.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/db_1/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/opatch2018-02-01_15-28-34오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@racdb2 ~]$ $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925263

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/12.1.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/db_1/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/opatch2018-02-01_15-28-28오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
 
[oracle@racdb2 ~]$ $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_oracle/27010930/26925218

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/12.1.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/db_1/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/opatch2018-02-01_15-29-00오후_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

F) Database 패치 디스크 용량 확인

Database 패치를 위해 충분한 디스크 용량이 확보되어 있는지 검사합니다.

적용할 패치 파일의 디렉토리 경로를 텍스트 파일에 저장하고, opatch의 CheckSystemSpace 옵션을 이용하여 디스크 공간을 검사합니다.

oracle 유저로 수행
vi /tmp/patch_list_dbhome.txt
# cat /tmp/patch_list_dbhome.txt
$DB_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt
[oracle@racdb1 ~]$ vi /tmp/patch_list_dbhome.txt
[oracle@racdb1 ~]$ cat /tmp/patch_list_dbhome.txt
/media/sf_oracle/27010930/26925218
/media/sf_oracle/27010930/26925263
[oracle@racdb1 ~]$ $DB_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt

Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.12
Copyright (c) 2018, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/12.1.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/db_1/oraInst.loc
OPatch version    : 12.2.0.1.12
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatch/opatch2018-02-01_15-30-33오후_1.log

Invoking prereq "checksystemspace"

Prereq "checkSystemSpace" passed.

OPatch succeeded.

4. Grid 및 DBMS 패치 적용

A) opatchauto 수행하기

root 유저로 실행하며, 한 노드의 작업이 모두 완료된 후에 다른 노드에 작업을 수행합니다.

root 유저로 수행
opatchauto apply /media/sf_oracle/27010930

1번 노드에서 실패 메시지가 발생할 수 있으나, 무시하고 2번 노드에 패치를 적용합니다.

[root@rac1 ~]# opatchauto apply /media/sf_oracle/27010930

OPatchauto session is initiated at Thu Feb  1 15:37:50 2018

System initialization log file is /u01/app/12.1.0/grid/cfgtoollogs/opatchautodb/systemconfig2018-02-01_03-38-32PM.log.

세션 로그 파일은 /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/opatchauto2018-02-01_03-38-56PM.log입니다.
이 세션의 ID는 C6FG입니다.

Executing OPatch prereq operations to verify patch applicability on home /u01/app/12.1.0/grid

Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/12.1.0/db_1
Patch applicability verified successfully on home /u01/app/oracle/product/12.1.0/db_1

Patch applicability verified successfully on home /u01/app/12.1.0/grid


Verifying SQL patch applicability on home /u01/app/oracle/product/12.1.0/db_1
SQL patch applicability verified successfully on home /u01/app/oracle/product/12.1.0/db_1


Preparing to bring down database service on home /u01/app/oracle/product/12.1.0/db_1
Successfully prepared home /u01/app/oracle/product/12.1.0/db_1 to bring down database service


Bringing down CRS service on home /u01/app/12.1.0/grid
Prepatch operation log file location: /u01/app/12.1.0/grid/cfgtoollogs/crsconfig/crspatch_rac1_2018-02-01_03-49-03PM.log
CRS service brought down successfully on home /u01/app/12.1.0/grid


Performing prepatch operation on home /u01/app/oracle/product/12.1.0/db_1
Perpatch operation completed successfully on home /u01/app/oracle/product/12.1.0/db_1


Start applying binary patch on home /u01/app/oracle/product/12.1.0/db_1
Binary patch applied successfully on home /u01/app/oracle/product/12.1.0/db_1


Performing postpatch operation on home /u01/app/oracle/product/12.1.0/db_1
Postpatch operation completed successfully on home /u01/app/oracle/product/12.1.0/db_1


Start applying binary patch on home /u01/app/12.1.0/grid
Binary patch applied successfully on home /u01/app/12.1.0/grid


Starting CRS service on home /u01/app/12.1.0/grid
Postpatch operation log file location: /u01/app/12.1.0/grid/cfgtoollogs/crsconfig/crspatch_rac1_2018-02-01_04-09-57PM.log
Failed to start CRS service on home /u01/app/12.1.0/grid

[GIStartupAction] 패치 작업 실행을 실패했습니다. 자세한 내용은 로그를 확인하십시오. 실패:
Patch Target : rac1->/u01/app/12.1.0/grid 유형[crs]
Details: [
---------------------------Patching Failed---------------------------------
Command execution failed during patching in home: /u01/app/12.1.0/grid, host: rac1.
Command failed:  /u01/app/12.1.0/grid/perl/bin/perl -I/u01/app/12.1.0/grid/perl/lib -I/u01/app/12.1.0/grid/OPatch/auto/dbtmp/bootstrap_rac1/patchwork/crs/install /u01/app/12.1.0/grid/OPatch/auto/dbtmp/bootstrap_rac1/patchwork/crs/install/rootcrs.pl -postpatch
Command failure output:
Using configuration parameter file: /u01/app/12.1.0/grid/OPatch/auto/dbtmp/bootstrap_rac1/patchwork/crs/install/crsconfig_params
2018/02/01 16:10:03 CLSRSC-4015: Performing install or upgrade action for Oracle Trace File Analyzer (TFA) Collector.

2018/02/01 16:10:40 CLSRSC-4003: Successfully patched Oracle Trace File Analyzer (TFA) Collector.

2018/02/01 16:10:44 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.conf'

CRS-4123: Oracle 고가용성 서비스가 시작되었습니다.
CRS-4133: Oracle 고가용성 서비스가 정지되었습니다.
CRS-4123: Oracle 고가용성 서비스가 관리하는 리소스를 시작하는 중
CRS-2672: 'ora.mdnsd'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2672: 'ora.evmd'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.evmd' 시작('rac1')이 성공했습니다.
CRS-2676: 'ora.mdnsd' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.gpnpd'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.gpnpd' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.gipcd'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.gipcd' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.cssdmonitor'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.cssdmonitor' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.cssd'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2672: 'ora.diskmon'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.diskmon' 시작('rac1')이 성공했습니다.
CRS-2676: 'ora.cssd' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.cluster_interconnect.haip'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2672: 'ora.ctssd'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.ctssd' 시작('rac1')이 성공했습니다.
CRS-2676: 'ora.cluster_interconnect.haip' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.asm'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.asm' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.storage'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.storage' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.crf'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.crf' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.crsd'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.crsd' 시작('rac1')이 성공했습니다.
CRS-6017: 서버에 대한 리소스 자동 시작을 처리하는 중: rac1
CRS-2672: 'ora.net1.network'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.net1.network' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.ons'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2673: 'ora.rac1.vip'을(를) 'rac2'에서 정지하려고 시도하는 중입니다.
CRS-2677: 'ora.rac1.vip' 정지('rac2')가 성공했습니다.
CRS-2672: 'ora.rac1.vip'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.ons' 시작('rac1')이 성공했습니다.
CRS-2676: 'ora.rac1.vip' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.LISTENER.lsnr'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.LISTENER.lsnr' 시작('rac1')이 성공했습니다.
CRS-2672: 'ora.racdb.db'을(를) 'rac1'에서 시작하려고 시도하는 중입니다.
CRS-2676: 'ora.racdb.db' 시작('rac1')이 성공했습니다.
CRS-6016: rac1 서버에 대한 리소스 자동 시작이 완료되었습니다.
CRS-6024: Oracle Cluster Ready Services가 관리하는 리소스의 시작을 완료했습니다.
CRS-4123: Oracle 고가용성 서비스가 시작되었습니다.
클러스터의 Oracle Clusterware 활성 버전이 [12.1.0.2.0]입니다. 클러스터 업그레이드 상태는 [ROLLING PATCH], 클러스터 활성 패치 레벨은 [0]입니다.
SQL Patching tool version 12.1.0.2.0 Production on Thu Feb  1 16:14:23 2018
Copyright (c) 2012, 2017, Oracle.  All rights reserved.

Connecting to database...OK
Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)
Bootstrapping registry and package to current versions...done
Determining current state...done
Adding patches to installation queue and performing prereq checks...done
Installation queue:
  For the following PDBs: CDB$ROOT PDB$SEED RAC_SCAN
    Nothing to roll back
    The following patches will be applied:
      26925263 (DATABASE BUNDLE PATCH 12.1.0.2.180116)

Installing patches...
Patch installation complete.  Total patches installed: 3

Validating logfiles...
Patch 26925263 apply (pdb CDB$ROOT): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_CDBROOT_20182월 01_16_15_46.log (errors)
    Error at line 0: Could not open logfile /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_CDBROOT_20182월 01_16_15_46.log
Patch 26925263 apply (pdb PDB$SEED): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_PDBSEED_20182월 01_16_17_50.log (errors)
    Error at line 0: Could not open logfile /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_PDBSEED_20182월 01_16_17_50.log
Patch 26925263 apply (pdb RAC_SCAN): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_RAC_SCAN_20182월 01_16_17_50.log (errors)
    Error at line 0: Could not open logfile /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_RAC_SCAN_20182월 01_16_17_50.log

Please refer to MOS Note 1609718.1 and/or the invocation log
/u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_10986_2018_02_01_16_14_23/sqlpatch_invocation.log
for information on how to resolve the above errors.

SQL Patching tool complete on Thu Feb  1 16:22:21 2018
2018/02/01 16:22:21 CLSRSC-488: Patching the Grid Infrastructure Management Repository database failed.


After fixing the cause of failure Run opatchauto resume

]
OPATCHAUTO-68061: 조정 엔진을 실패했습니다.
OPATCHAUTO-68061: 반환 코드 1과(와) 함께 조정 엔진이 실패했습니다.
OPATCHAUTO-68061: 자세한 내용은 로그를 확인하십시오.
OPatchAuto를 실패했습니다.

OPatchauto session completed at Thu Feb  1 16:22:23 2018
Time taken to complete the session 44 minutes, 33 seconds

 opatchauto failed with error code 42
[root@rac2 ~]# opatchauto apply /media/sf_oracle/27010930

OPatchauto session is initiated at Thu Feb  1 16:27:36 2018

System initialization log file is /u01/app/12.1.0/grid/cfgtoollogs/opatchautodb/systemconfig2018-02-01_04-28-21PM.log.

세션 로그 파일은 /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/opatchauto2018-02-01_04-28-47PM.log입니다.
이 세션의 ID는 JMQ1입니다.

Executing OPatch prereq operations to verify patch applicability on home /u01/app/12.1.0/grid

Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/12.1.0/db_1
Patch applicability verified successfully on home /u01/app/oracle/product/12.1.0/db_1

Patch applicability verified successfully on home /u01/app/12.1.0/grid


Verifying SQL patch applicability on home /u01/app/oracle/product/12.1.0/db_1
SQL patch applicability verified successfully on home /u01/app/oracle/product/12.1.0/db_1


Preparing to bring down database service on home /u01/app/oracle/product/12.1.0/db_1
Successfully prepared home /u01/app/oracle/product/12.1.0/db_1 to bring down database service


Bringing down CRS service on home /u01/app/12.1.0/grid
Prepatch operation log file location: /u01/app/12.1.0/grid/cfgtoollogs/crsconfig/crspatch_rac2_2018-02-01_04-43-42PM.log
CRS service brought down successfully on home /u01/app/12.1.0/grid


Performing prepatch operation on home /u01/app/oracle/product/12.1.0/db_1
Perpatch operation completed successfully on home /u01/app/oracle/product/12.1.0/db_1


Start applying binary patch on home /u01/app/oracle/product/12.1.0/db_1
Binary patch applied successfully on home /u01/app/oracle/product/12.1.0/db_1


Performing postpatch operation on home /u01/app/oracle/product/12.1.0/db_1
Postpatch operation completed successfully on home /u01/app/oracle/product/12.1.0/db_1


Start applying binary patch on home /u01/app/12.1.0/grid
Binary patch applied successfully on home /u01/app/12.1.0/grid


Starting CRS service on home /u01/app/12.1.0/grid
Postpatch operation log file location: /u01/app/12.1.0/grid/cfgtoollogs/crsconfig/crspatch_rac2_2018-02-01_05-05-00PM.log
CRS service started successfully on home /u01/app/12.1.0/grid


Preparing home /u01/app/oracle/product/12.1.0/db_1 after database service restarted
No step execution required.........
Prepared home /u01/app/oracle/product/12.1.0/db_1 successfully after database service restarted


Trying to apply SQL patch on home /u01/app/oracle/product/12.1.0/db_1
"/bin/sh -c 'cd /u01/app/oracle/product/12.1.0/db_1;ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1 ORACLE_SID=racdb2 /u01/app/oracle/product/12.1.0/db_1/OPatch/datapatch -verbose'" command failed with errors. Please refer to logs for more details. SQL changes, if any, can be applied by manually retrying the same command.

SQL patch applied successfully on home /u01/app/oracle/product/12.1.0/db_1

OPatchAuto를 성공했습니다.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:rac2
RAC Home:/u01/app/oracle/product/12.1.0/db_1
Summary:

==Following patches were SKIPPED:

Patch: /media/sf_oracle/27010930/26910974
Reason: This patch is not applicable to this specified target type - "rac_database"

Patch: /media/sf_oracle/27010930/26983807
Reason: This patch is not applicable to this specified target type - "rac_database"


==Following patches were SUCCESSFULLY applied:

Patch: /media/sf_oracle/27010930/26925218
Log: /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-01_16-44-48오후_1.log

Patch: /media/sf_oracle/27010930/26925263
Log: /u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-01_16-44-48오후_1.log


Host:rac2
CRS Home:/u01/app/12.1.0/grid
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /media/sf_oracle/27010930/26910974
Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-01_16-52-43오후_1.log

Patch: /media/sf_oracle/27010930/26925218
Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-01_16-52-43오후_1.log

Patch: /media/sf_oracle/27010930/26925263
Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-01_16-52-43오후_1.log

Patch: /media/sf_oracle/27010930/26983807
Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2018-02-01_16-52-43오후_1.log



OPatchauto session completed at Thu Feb  1 17:18:12 2018
Time taken to complete the session 50 minutes, 36 seconds

5. MGMTDB 패치 적용하기

A) sqlpatch 로그 디렉토리 권한 변경

추후 datapatch를 정상적으로 진행하기 위해서는 sqlpatch 로그 디렉토리의 권한을 수정해야 합니다.

datapatch를 실행할 노드의 디렉토리만 적용해도 됩니다.

만약 grid와 database가 같은 유저로 설치되어 있다면, 이 작업은 생략해도 됩니다.

chmod -R 775 /u01/app/oracle/cfgtoollogs/sqlpatch
[root@rac1 ~]# chmod -R 775 /u01/app/oracle/cfgtoollogs/sqlpatch

B) MGMTDB 상태 확인

grid 유저로 접속해서 MGMTDB에 연결합니다.

grid 유저로 수행
export ORACLE_SID=-MGMTDB
sqlplus / as sysdba
[grid@+ASM1 ~]$ export ORACLE_SID=-MGMTDB
[grid@-MGMTDB ~]$ $GRID_HOME/bin/sqlplus / as sysdba 

정상적으로 연결이 되었으며, 기존에 패치 내역이 있는지 확인합니다.

MGMTDB 상태 조회
SELECT instance_name FROM v$instance;
select PATCH_ID, VERSION, ACTION, STATUS, ACTION_TIME from DBA_REGISTRY_SQLPATCH;

WITH ERRORS 상태인 것으로 보아 datapatch가 제대로 적용되지 않은 것을 확인할 수 있습니다.

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
-MGMTDB
 
SQL> select PATCH_ID, VERSION, ACTION, STATUS, ACTION_TIME from DBA_REGISTRY_SQLPATCH;

  PATCH_ID VERSION              ACTION          STATUS          ACTION_TIME
---------- -------------------- --------------- --------------- ---------------------------------------------------------------------------
  26925263 12.1.0.2             APPLY           WITH ERRORS     18/02/01 16:22:20.055772

C) MGMTDB에 datapatch 적용하기

grid 유저에서 MGMTDB에 대한 datapatch를 적용합니다.

반드시 ORACLE_SID가 -MGMTDB로 지정된 상태에서 수행해야 합니다.

grid 유저로 한 번만 수행
cd $ORACLE_HOME/OPatch
./datapatch -verbose
[grid@-MGMTDB ~]$ datapatch -verbose
SQL Patching tool version 12.1.0.2.0 Production on Thu Feb  1 17:21:29 2018
Copyright (c) 2012, 2017, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_6204_2018_02_01_17_21_29/sqlpatch_invocation.log

Connecting to database...OK
Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)
Bootstrapping registry and package to current versions...done
Determining current state...done

Current state of SQL patches:
Bundle series DBBP:
  ID 180116 in the binary registry and ID 180116 with errors in PDB CDB$ROOT, ID 180116 with errors in PDB PDB$SEED, ID 180116 with errors in PDB RAC_SCAN

Adding patches to installation queue and performing prereq checks...
Installation queue:
  For the following PDBs: CDB$ROOT PDB$SEED RAC_SCAN
    Nothing to roll back
    The following patches will be applied:
      26925263 (DATABASE BUNDLE PATCH 12.1.0.2.180116)

Installing patches...
Patch installation complete.  Total patches installed: 3

Validating logfiles...
Patch 26925263 apply (pdb CDB$ROOT): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_CDBROOT_2018Feb01_17_22_25.log (no errors)
Patch 26925263 apply (pdb PDB$SEED): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_PDBSEED_2018Feb01_17_23_27.log (no errors)
Patch 26925263 apply (pdb RAC_SCAN): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply__MGMTDB_RAC_SCAN_2018Feb01_17_23_26.log (no errors)
SQL Patching tool complete on Thu Feb  1 17:25:35 2018

D) MGMTDB 패치 결과 확인

MGMTDB에 접속하여 제대로 datapatch가 적용되었는지 확인합니다.

MGMTDB 패치 결과 조회
SELECT patch_id, version, action, status, action_time FROM dba_registry_sqlpatch;
SQL> SELECT patch_id, version, action, status, action_time FROM dba_registry_sqlpatch;

  PATCH_ID VERSION              ACTION          STATUS          ACTION_TIME
---------- -------------------- --------------- --------------- ---------------------------------------------------------------------------
  26925263 12.1.0.2             APPLY           WITH ERRORS     18/02/01 16:22:20.055772
  26925263 12.1.0.2             APPLY           SUCCESS         18/02/01 17:25:30.410993

6. Database 패치 적용하기

A) PDB 상태 확인 및 변경

패치를 적용할 PDB의 상태를 모두 READ WRITE 모드로 변경해 줍니다.

만약 Multitenent Database가 아닌 경우에는 Database를 Open 시켜 주면 됩니다.

PDB를 모두 OPEN
SELECT name, open_mode FROM v$pdbs;
ALTER PLUGGABLE DATABASE ALL OPEN;
SELECT name, open_mode FROM v$pdbs;
SQL> SELECT name, open_mode FROM v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
RACPDB                         MOUNTED
 
SQL> ALTER PLUGGABLE DATABASE ALL OPEN;

Pluggable database altered.

SQL> SELECT name, open_mode FROM v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
RACPDB                         READ WRITE

B) Database에 datapatch 적용하기

oracle 유저로 database에 대한 datapatch를 적용합니다.

oracle 유저로 한번만 수행
cd $ORACLE_HOME/OPatch
./datapatch -verbose
[oracle@racdb1 ~]$ datapatch -verbose
SQL Patching tool version 12.1.0.2.0 Production on Thu Feb  1 17:31:18 2018
Copyright (c) 2012, 2017, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_8153_2018_02_01_17_31_18/sqlpatch_invocation.log

Connecting to database...OK
Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)
Bootstrapping registry and package to current versions...done
Determining current state...done

Current state of SQL patches:
Bundle series DBBP:
  ID 180116 in the binary registry and ID 180116 with errors in PDB CDB$ROOT, ID 180116 with errors in PDB PDB$SEED

Adding patches to installation queue and performing prereq checks...
Installation queue:
  For the following PDBs: CDB$ROOT PDB$SEED RACPDB
    Nothing to roll back
    The following patches will be applied:
      26925263 (DATABASE BUNDLE PATCH 12.1.0.2.180116)

Installing patches...
Patch installation complete.  Total patches installed: 3

Validating logfiles...
Patch 26925263 apply (pdb CDB$ROOT): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply_RACDB_CDBROOT_2018Feb01_17_32_46.log (no errors)
Patch 26925263 apply (pdb PDB$SEED): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply_RACDB_PDBSEED_2018Feb01_17_35_23.log (no errors)
Patch 26925263 apply (pdb RACPDB): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26925263/21857460/26925263_apply_RACDB_RACPDB_2018Feb01_17_35_21.log (no errors)
SQL Patching tool complete on Thu Feb  1 17:42:22 2018

C) Database 패치 결과 확인

패치가 정상적으로 적용되었는지 확인합니다.

DB 패치 결과 조회
SELECT patch_id, version, action, status, action_time FROM dba_registry_sqlpatch;
SQL> SELECT patch_id, version, action, status, action_time FROM dba_registry_sqlpatch;

  PATCH_ID VERSION              ACTION          STATUS          ACTION_TIME
---------- -------------------- --------------- --------------- ---------------------------------------------------------------------------
  26925263 12.1.0.2             APPLY           WITH ERRORS     18/02/01 17:18:03.633165
  26925263 12.1.0.2             APPLY           SUCCESS         18/02/01 17:42:02.037427
  • 레이블 없음