반응형
■ [2025-08-10] 19c 2Node RAC 환경에서 root os user로 GRID_HOME과 ORACLE_HOME 이하의 파일 권한을 모두 일괄적으로 바꾸는 실수를 한 경우 복구 방법

 

1. 테스트 환경

 

OS : Oracle Linux Server 7.9 (Linux rdb01d 5.4.17-2102.201.3.el7uek.x86_64)
DB : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production (Version 19.27.0.0.0)
RAC1 : ol7ora19r1(192.168.0.21) : ORA19R1
RAC2 : ol7ora19r2(192.168.0.22) : ORA19R2

 

2. root os user로 GRID_HOME과 ORACLE_HOME 이하의 파일 권한을 모두 일괄적으로 변경

 

--절대로 이런 실수를 하지 않도록 조심! 또 조심! 또 조심! 해야함

 

--1번 노드
[root@ol7ora19r1][/root]$ echo $GRID_HOME
/u01/app/19c/grid

[root@ol7ora19r1][/root]$ chown grid:oinstall -R /u01/app/19c/grid

 

[root@ol7ora19r1][/root]$ echo $ORACLE_HOME
/u01/app/oracle/product/19c/db_1

[root@ol7ora19r1][/root]$ chown oracle:oinstall -R /u01/app/oracle/product/19c/db_1

 

--2번 노드
[root@ol7ora19r2][/root]$  echo $GRID_HOME
/u01/app/19c/grid

[root@ol7ora19r2][/root]$ chown grid:oinstall -R /u01/app/19c/grid

[root@ol7ora19r2][/root]$ echo $ORACLE_HOME
/u01/app/oracle/product/19c/db_1

[root@ol7ora19r2][/root]$ chown oracle:oinstall -R /u01/app/oracle/product/19c/db_1

 

--이러한 실수를 저지르면 Oracle 인스턴스 alert log에 아래와 같은 에러가 발생함
2025-08-10T13:33:43.232396+09:00


***********************************************************************

Fatal NI connect error 12547, connecting to:
 (DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app/19c/grid/bin/oracle)(ARGV0=oracle+ASM1_mmnl_ora19r1)(ENVS='ORACLE_HOME=/u01/app/19c/grid,ORACLE_SID=+ASM1,ORA_SERVER_BROKER_MODE=NONE')(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(ORACLE_HOME=/u01/app/19c/grid)(SID=+ASM1)(CID=(PROGRAM=oracle)(HOST=ol7ora19r1)(USER=oracle)))(SECURITY=(AUTHENTICATION_SERVICE=beq))(enable=setuser))

  VERSION INFORMATION:
        TNS for Linux: Version 19.0.0.0.0 - Production
        Oracle Bequeath NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
  Version 19.27.0.0.0
  Time: 10-AUG-2025 13:33:43
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12547

TNS-12547: TNS:lost contact
    ns secondary err code: 12560
    nt main err code: 517

TNS-00517: Lost contact
    nt secondary err code: 32
    nt OS err code: 0

 

--또한 아래와 같이 db 접속도 되지 않음
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ alias ss
alias ss='rlwrap sqlplus "/as sysdba"'
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ ss

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Aug 10 13:34:47 2025
Version 19.27.0.0.0

Copyright (c) 1982, 2024, Oracle.  All rights reserved.

Connected.
ERROR:
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0

[2025-08-10 13:34:48][ol7ora19r1]<SYS@ORA19R1>

 

--지금부터 이 상황을 복구 하는 것이 목표임

 

2. 모든 노드의 CRS를 내림

 

--1번 노드
[root@ol7ora19r1][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -unlock
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r1/crsconfig/crsunlock_ol7ora19r1_2025-08-10_01-39-00PM.log
2025/08/10 13:39:47 CLSRSC-4012: Shutting down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 13:39:56 CLSRSC-4013: Successfully shut down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 13:39:56 CLSRSC-347: Successfully unlock /u01/app/19c/grid


--oracle alert log
2025-08-10T13:39:02.031704+09:00
Instance terminated by USER, pid = 6698
2025-08-10T13:39:02.047516+09:00
Warning: 2 processes are still attacheded to shmid 5:
 (size: 53248 bytes, creator pid: 1940, last attach/detach pid: 6698)
Instance shutdown complete (OS id: 6698)

 

--grid alert log
2025-08-10 13:39:00.790 [OHASD(2070)]CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'ol7ora19r1'
2025-08-10 13:39:00.818 [ORAROOTAGENT(843)]CRS-5024: Unmounting file system "/acfs1_vol1"
2025-08-10 13:39:01.163 [ORAROOTAGENT(843)]CRS-5025: File system "/acfs1_vol1" unmounted
2025-08-10 13:39:18.136 [ORAROOTAGENT(843)]CRS-5822: Agent '/u01/app/19c/grid/bin/orarootagent_root' disconnected from server. Details at (:CRSAGF00117:) {0:1:69} in /u01/app/oracle/diag/crs/ol7ora19r1/crs/trace/crsd_orarootagent_root.trc.
2025-08-10 13:39:21.011 [MDNSD(2662)]CRS-5602: mDNS service stopping by request.
2025-08-10 13:39:21.624 [MDNSD(2662)]CRS-8504: Oracle Clusterware MDNSD process with operating system process ID 2662 is exiting
2025-08-10 13:39:42.778 [OCTSSD(9415)]CRS-2405: The Cluster Time Synchronization Service on host ol7ora19r1 is shutdown by user
2025-08-10 13:39:42.812 [OCTSSD(9415)]CRS-8504: Oracle Clusterware OCTSSD process with operating system process ID 9415 is exiting
2025-08-10 13:39:43.938 [OCSSD(3781)]CRS-1603: CSSD on node ol7ora19r1 has been shut down.
2025-08-10 13:39:46.959 [GPNPD(2717)]CRS-2329: Grid Plug and Play Daemon(GPNPD) on node ol7ora19r1 shut down.
2025-08-10 13:39:47.072 [OHASD(2070)]CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'ol7ora19r1' has completed
2025-08-10 13:39:47.088 [ORAROOTAGENT(2521)]CRS-5822: Agent '/u01/app/19c/grid/bin/orarootagent_root' disconnected from server. Details at (:CRSAGF00117:) {0:3:12} in /u01/app/oracle/diag/crs/ol7ora19r1/crs/trace/ohasd_orarootagent_root.trc.

 

[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ alias csrt
alias csrt='crsctl stat res -t'
[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ csrt
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Status failed, or completed with errors.

 

[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ ps -ef | grep -i d.bin
root      8242  1220  0 13:41 pts/2    00:00:00 grep --color=auto -i d.bin

--> 1번 노드가 모두 내려감

 

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

 

--2번 노드
[root@ol7ora19r2][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -unlock
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r2/crsconfig/crsunlock_ol7ora19r2_2025-08-10_01-44-07PM.log
2025/08/10 13:44:43 CLSRSC-4012: Shutting down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 13:44:52 CLSRSC-4013: Successfully shut down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 13:44:52 CLSRSC-347: Successfully unlock /u01/app/19c/grid

 

--oracle alert log
2025-08-10T13:44:07.915843+09:00
Shutting down ORACLE instance (abort) (OS id: 5083)
2025-08-10T13:44:07.915966+09:00
Shutdown is initiated by
oraagent.bin@ol7ora19r2 (TNS V1-V3).
License high water mark = 7
USER (ospid: 5083): terminating the instance
2025-08-10T13:44:09.015173+09:00
Instance terminated by USER, pid = 5083
2025-08-10T13:44:09.267073+09:00
Instance shutdown complete (OS id: 5083)

 

--grid alert log
2025-08-10 13:44:07.821 [OHASD(2075)]CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'ol7ora19r2'
2025-08-10 13:44:07.902 [ORAROOTAGENT(5060)]CRS-5024: Unmounting file system "/acfs1_vol1"
2025-08-10 13:44:08.217 [ORAROOTAGENT(5060)]CRS-5025: File system "/acfs1_vol1" unmounted
2025-08-10 13:44:17.601 [ORAROOTAGENT(5060)]CRS-5822: Agent '/u01/app/19c/grid/bin/orarootagent_root' disconnected from server. Details at (:CRSAGF00117:) {0:1:49} in /u01/app/oracle/diag/crs/ol7ora19r2/crs/trace/crsd_orarootagent_root.trc.
2025-08-10 13:44:20.440 [MDNSD(2498)]CRS-5602: mDNS service stopping by request.
2025-08-10 13:44:21.045 [MDNSD(2498)]CRS-8504: Oracle Clusterware MDNSD process with operating system process ID 2498 is exiting
2025-08-10 13:44:25.670 [GIPCD(2627)]CRS-7503: The Oracle Grid Infrastructure process 'gipcd' observed communication issues between node 'ol7ora19r2' and node 'ol7ora19r1', interface list of local node 'ol7ora19r2' is '10.0.0.22:15291;', interface list of remote node 'ol7ora19r1' is '10.0.0.21:39563;'.
2025-08-10 13:44:38.815 [OCTSSD(3934)]CRS-2405: The Cluster Time Synchronization Service on host ol7ora19r2 is shutdown by user
2025-08-10 13:44:38.825 [OCTSSD(3934)]CRS-8504: Oracle Clusterware OCTSSD process with operating system process ID 3934 is exiting
2025-08-10 13:44:39.851 [OCSSD(3546)]CRS-1603: CSSD on node ol7ora19r2 has been shut down.
2025-08-10 13:44:42.866 [GPNPD(2548)]CRS-2329: Grid Plug and Play Daemon(GPNPD) on node ol7ora19r2 shut down.
2025-08-10 13:44:43.482 [OHASD(2075)]CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'ol7ora19r2' has completed
2025-08-10 13:44:43.498 [ORAROOTAGENT(2357)]CRS-5822: Agent '/u01/app/19c/grid/bin/orarootagent_root' disconnected from server. Details at (:CRSAGF00117:) {0:1:12} in /u01/app/oracle/diag/crs/ol7ora19r2/crs/trace/ohasd_orarootagent_root.trc.

 

[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ alias csrt
alias csrt='crsctl stat res -t'

 

[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ csrt
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Status failed, or completed with errors.

 

[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ ps -ef | grep d.bin
root      6387  9219  0 13:45 pts/2    00:00:00 grep --color=auto d.bin
--> 2번 노드가 모두 내려감


3. 1번 노드의 파일 권한 복구

 

3-1. $ORACLE_BASE/crsdata/호스트네임/output 위치 mv로 백업 후 output 디렉토리 생성

 

[root@ol7ora19r1][/root]$ echo $ORACLE_BASE
/u01/app/oracle

[root@ol7ora19r1][/root]$ cd $ORACLE_BASE/crsdata/ol7ora19r1/output
[root@ol7ora19r1][/u01/app/oracle/crsdata/ol7ora19r1/output]$ ls -l
total 1448
-rw-r--r--. 1 grid   oinstall   9934 Aug 10 13:22 crsd_jagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:22 crsd_jagent_grid.pid
-rw-r--r--. 1 grid   oinstall  15231 Aug 10 13:39 crsd_oraagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      4 Aug 10 13:22 crsd_oraagent_grid.pid
-rw-r--r--. 1 oracle oinstall  28290 Aug 10 13:39 crsd_oraagent_oracleOUT.trc
-rw-r--r--. 1 oracle oinstall      5 Aug 10 13:22 crsd_oraagent_oracle.pid
-rw-r--r--. 1 root   root       9878 Aug 10 13:22 crsd_orarootagent_rootOUT.trc
-rw-r--r--. 1 root   root          4 Aug 10 13:22 crsd_orarootagent_root.pid
-rw-r--r--. 1 root   root      53575 Aug 10 13:22 crsdOUT.trc
-rw-r--r--. 1 root   root          4 Aug 10 13:22 crsd.pid
-rw-r--r--. 1 grid   oinstall  12850 Aug 10 13:22 crsd_scriptagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:22 crsd_scriptagent_grid.pid
-rw-r--r--. 1 root   root        241 Aug 10 13:17 crswrapexece.log
-rw-r--r--. 1 grid   oinstall  10266 Aug 10 13:17 evmdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:17 evmd.pid
-rw-r--r--. 1 grid   oinstall  16314 Aug 10 13:39 evmloggerOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:17 evmlogger.pid
-rw-r--r--. 1 root   root      47564 Aug 10 13:22 gipcdOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:17 gipcd.pid
-rw-r--r--. 1 grid   oinstall  12615 Aug 10 13:17 gpnpdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:17 gpnpd.pid
-rw-r--r--. 1 grid   oinstall  20607 Aug 10 13:39 mdnsdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:17 mdnsd.pid
-rw-r--r--. 1 grid   oinstall   2889 Aug 10 13:22 ochadOUT.trc
-rw-r--r--. 1 grid   oinstall 895301 Aug 10 13:21 ocssdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:18 ocssd.pid
-rw-r--r--. 1 root   root      10379 Aug 10 13:21 octssdOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 octssd.pid
-rw-r--r--. 1 root   root      68150 Aug 10 13:18 ohasd_cssdagent_rootOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:18 ohasd_cssdagent_root.pid
-rw-r--r--. 1 root   root      68498 Aug 10 13:18 ohasd_cssdmonitor_rootOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:18 ohasd_cssdmonitor_root.pid
-rw-r--r--. 1 grid   oinstall  22910 Aug 10 13:39 ohasd_oraagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:17 ohasd_oraagent_grid.pid
-rw-r--r--. 1 root   root      11049 Aug 10 13:17 ohasd_orarootagent_rootOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:17 ohasd_orarootagent_root.pid
-rw-r--r--. 1 root   root      10680 Aug 10 13:17 ohasdOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:17 ohasd.pid
-rw-r--r--. 1 root   root      11518 Aug 10 13:39 osysmondOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:18 osysmond.pid

 

[root@ol7ora19r1][/u01/app/oracle/crsdata/ol7ora19r1/output]$ mv /u01/app/oracle/crsdata/ol7ora19r1/output /u01/app/oracle/crsdata/ol7ora19r1/output.bak

[root@ol7ora19r1][/u01/app/oracle/crsdata/ol7ora19r1/output]$ ls -l /u01/app/oracle/crsdata/ol7ora19r1/ | grep output.bak
drwxrwxrwt. 2 grid oinstall 4096 Jun  3 12:55 output.bak

 

[root@ol7ora19r1][/u01/app/oracle/crsdata/ol7ora19r1]$ mkdir -p /u01/app/oracle/crsdata/ol7ora19r1/output
[root@ol7ora19r1][/u01/app/oracle/crsdata/ol7ora19r1]$ chown grid:oinstall /u01/app/oracle/crsdata/ol7ora19r1/output
[root@ol7ora19r1][/u01/app/oracle/crsdata/ol7ora19r1]$ chmod 1777 /u01/app/oracle/crsdata/ol7ora19r1/output
[root@ol7ora19r1][/u01/app/oracle/crsdata/ol7ora19r1]$ ls -l /u01/app/oracle/crsdata/ol7ora19r1/ | grep output
drwxrwxrwt. 2 grid oinstall    6 Aug 10 13:50 output
drwxrwxrwt. 2 grid oinstall 4096 Jun  3 12:55 output.bak

 

3-2. 소켓 파일 삭제

 

[root@ol7ora19r1][/root]$ cd /tmp/.oracle/
[root@ol7ora19r1][/tmp/.oracle]$ ls -l | wc -l
1
--> 해당 위치는 현재 파일이 없음 (ls -l | wc -l 명령으로 1이 나오면 파일이 없는 것임)

 

[root@ol7ora19r1][/tmp/.oracle]$ cd /var/tmp/.oracle/
[root@ol7ora19r1][/var/tmp/.oracle]$ ls -l | wc -l
61

[root@ol7ora19r1][/var/tmp/.oracle]$ cd /usr/tmp/.oracle/
[root@ol7ora19r1][/usr/tmp/.oracle]$ ls -l | wc -l
61

 

[root@ol7ora19r1][/usr/tmp/.oracle]$ rm -f /var/tmp/.oracle/*
[root@ol7ora19r1][/usr/tmp/.oracle]$ rm -f /usr/tmp/.oracle/*

3-3. rootcrs.sh -init 명령 수행

 

[root@ol7ora19r1][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -init
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r1/crsconfig/crsinit_ol7ora19r1_2025-08-10_01-57-21PM.log

 

3-4. grid 및 oracle 엔진 모두 relink all 작업

 

--grid 엔진 relink all 작업
[+ASM1:grid@ol7ora19r1][/home/grid]$ echo $GRID_HOME
/u01/app/19c/grid

[+ASM1:grid@ol7ora19r1][/home/grid]$ cd $GRID_HOME/bin
[+ASM1:grid@ol7ora19r1][/u01/app/19c/grid/bin]$ ./relink all
  The Oracle home in which you are running this relinking tool does not
have proper write permissions. Please run this relink script as the same
user who owns the Oracle home and ensure that the Oracle home has the
permissions from the original installation.
  If this is a Grid Infrastructure home, please refer to the
documentation for the proper steps to relink and apply oneoff patches.
--> 여기서 이러한 메시지가 나옴 (rootcrs.sh -unlock 작업만 해주면 안되는걸로 판단)

--아래와 같이 root os user로 rootcrs.sh -prepatch 해줌
[root@ol7ora19r1][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -prepatch
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r1/crsconfig/crs_prepatch_apply_inplace_ol7ora19r1_2025-08-10_02-00-38PM.log
Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [2119256259].
2025/08/10 14:02:29 CLSRSC-4012: Shutting down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 14:02:41 CLSRSC-4013: Successfully shut down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 14:02:46 CLSRSC-347: Successfully unlock /u01/app/19c/grid
2025/08/10 14:02:48 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.


 

--다시 relink all 시도
[+ASM1:grid@ol7ora19r1][/u01/app/19c/grid/bin]$ ./relink all
writing relink log to: /u01/app/19c/grid/install/relinkActions2025-08-10_02-03-38PM.log
[+ASM1:grid@ol7ora19r1][/u01/app/19c/grid/bin]$ echo $?
0
--> grid 엔진 relink all 성공함

 

--oracle 엔진 relink all 작업
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ cd $ORACLE_HOME/bin
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/bin]$ ./relink all
writing relink log to: /u01/app/oracle/product/19c/db_1/install/relinkActions2025-08-10_02-05-53PM.log
--> oracle 엔진 relink all 성공함

 

3-5. oracle 및 grid 엔진 특정 바이너리의 권한을 변경

[root@ol7ora19r1][/root]$ cd $GRID_HOME/rdbms/install
[root@ol7ora19r1][/u01/app/19c/grid/rdbms/install]$ cat ./rootadd_rdbms.sh
#!/bin/sh

ORACLE_HOME=/u01/app/19c/grid
CHOWN=/bin/chown
CHMOD=/bin/chmod
RM=/bin/rm
AWK=/bin/awk
ECHO=/bin/echo
CP=/bin/cp

#
# check for zero UID
#
RUID=`/usr/bin/id|$AWK -F\( '{print $1}'|$AWK -F= '{print $2}'`
if [ $RUID -ne 0 ];then
  $ECHO "You must be logged in as user with UID as zero (e.g. root user) to run root.sh."
  $ECHO "Log in as user with UID as zero (e.g. root user) and restart root.sh execution."
  exit 1
fi

if [ -f $ORACLE_HOME/bin/oradism ]; then
        $CHOWN root $ORACLE_HOME/bin/oradism
        $CHMOD 4750 $ORACLE_HOME/bin/oradism
fi
# remove backup copy
if [ -f $ORACLE_HOME/bin/oradism.old ]; then
        $RM -f $ORACLE_HOME/bin/oradism.old
fi
# copy extjobo to extjob if it doesn''t exist
if [ ! -f $ORACLE_HOME/bin/extjob -a -f $ORACLE_HOME/bin/extjobo ]; then
        $CP -p $ORACLE_HOME/bin/extjobo $ORACLE_HOME/bin/extjob
fi
if [ -f $ORACLE_HOME/bin/extjob ]; then
        $CHOWN root $ORACLE_HOME/bin/extjob
        $CHMOD 4750 $ORACLE_HOME/bin/extjob
fi
if [ -f $ORACLE_HOME/rdbms/admin/externaljob.ora ]; then
        $CHOWN root $ORACLE_HOME/rdbms/admin/externaljob.ora
        $CHMOD 640 $ORACLE_HOME/rdbms/admin/externaljob.ora
fi
# properly setup job scheduler switch user executable
if [ -f $ORACLE_HOME/bin/jssu ]; then
        $CHOWN root $ORACLE_HOME/bin/jssu
        $CHMOD 4750 $ORACLE_HOME/bin/jssu
fi
# Bug#25068882: properly set up extproc executable
if [ -f $ORACLE_HOME/bin/extproc ]; then
        $CHMOD g+s $ORACLE_HOME/bin/extproc
fi
# remove backup copy
if [ -f $ORACLE_HOME/rdbms/admin/externaljob.ora.orig ]; then
        $RM -f $ORACLE_HOME/rdbms/admin/externaljob.ora.orig
fi

# tighten permissions on $ORACLE_HOME/scheduler/wallet
if [ -d $ORACLE_HOME/scheduler/wallet ]; then
  $CHMOD 0700 $ORACLE_HOME/scheduler/wallet
fi
[root@ol7ora19r1][/u01/app/19c/grid/rdbms/install]$

[root@ol7ora19r1][/u01/app/19c/grid/rdbms/install]$ ./rootadd_rdbms.sh
--> root 소유의 특정 권한을 가져야할 파일에 대한 권한 작업을 수행함

 

[root@ol7ora19r1][/root]$ cd $ORACLE_HOME/rdbms/install
[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1/rdbms/install]$ cat ./rootadd_rdbms.sh
#!/bin/sh

ORACLE_HOME=/u01/app/oracle/product/19c/db_1
CHOWN=/bin/chown
CHMOD=/bin/chmod
RM=/bin/rm
AWK=/bin/awk
ECHO=/bin/echo
CP=/bin/cp

#
# check for zero UID
#
RUID=`/usr/bin/id|$AWK -F\( '{print $1}'|$AWK -F= '{print $2}'`
if [ $RUID -ne 0 ];then
  $ECHO "You must be logged in as user with UID as zero (e.g. root user) to run root.sh."
  $ECHO "Log in as user with UID as zero (e.g. root user) and restart root.sh execution."
  exit 1
fi

if [ -f $ORACLE_HOME/bin/oradism ]; then
        $CHOWN root $ORACLE_HOME/bin/oradism
        $CHMOD 4750 $ORACLE_HOME/bin/oradism
fi
# remove backup copy
if [ -f $ORACLE_HOME/bin/oradism.old ]; then
        $RM -f $ORACLE_HOME/bin/oradism.old
fi
# copy extjobo to extjob if it doesn''t exist
if [ ! -f $ORACLE_HOME/bin/extjob -a -f $ORACLE_HOME/bin/extjobo ]; then
        $CP -p $ORACLE_HOME/bin/extjobo $ORACLE_HOME/bin/extjob
fi
if [ -f $ORACLE_HOME/bin/extjob ]; then
        $CHOWN root $ORACLE_HOME/bin/extjob
        $CHMOD 4750 $ORACLE_HOME/bin/extjob
fi
if [ -f $ORACLE_HOME/rdbms/admin/externaljob.ora ]; then
        $CHOWN root $ORACLE_HOME/rdbms/admin/externaljob.ora
        $CHMOD 640 $ORACLE_HOME/rdbms/admin/externaljob.ora
fi
# properly setup job scheduler switch user executable
if [ -f $ORACLE_HOME/bin/jssu ]; then
        $CHOWN root $ORACLE_HOME/bin/jssu
        $CHMOD 4750 $ORACLE_HOME/bin/jssu
fi
# Bug#25068882: properly set up extproc executable
if [ -f $ORACLE_HOME/bin/extproc ]; then
        $CHMOD g+s $ORACLE_HOME/bin/extproc
fi
# remove backup copy
if [ -f $ORACLE_HOME/rdbms/admin/externaljob.ora.orig ]; then
        $RM -f $ORACLE_HOME/rdbms/admin/externaljob.ora.orig
fi

# tighten permissions on $ORACLE_HOME/scheduler/wallet
if [ -d $ORACLE_HOME/scheduler/wallet ]; then
  $CHMOD 0700 $ORACLE_HOME/scheduler/wallet
fi

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1/rdbms/install]$ ./rootadd_rdbms.sh

 

[root@ol7ora19r1][/root]$ cd /u01/app/oraInventory
[root@ol7ora19r1][/u01/app/oraInventory]$ cat orainstRoot.sh
#!/bin/sh
AWK=/bin/awk
CHMOD=/bin/chmod
CHGRP=/bin/chgrp
CP=/bin/cp
ECHO=/bin/echo
MKDIR=/bin/mkdir
RUID=`/usr/bin/id|$AWK -F\( '{print $1}'|$AWK -F\= '{print $2}'`
if [ ${RUID} != "0" ];then
   $ECHO "This script must be executed as root"
   exit 1
fi
if [ ! -d "/etc" ]; then
$MKDIR -p /etc;
fi
$CHMOD 755 /etc;
if [ -f "/u01/app/oraInventory/oraInst.loc" ]; then
$CP /u01/app/oraInventory/oraInst.loc /etc/oraInst.loc;
$CHMOD 644 /etc/oraInst.loc
else
INVPTR=/etc/oraInst.loc
INVLOC=/u01/app/oraInventory
GRP=oinstall
PTRDIR="`dirname $INVPTR`";
# Create the software inventory location pointer file
if [ ! -d "$PTRDIR" ]; then
 $MKDIR -p $PTRDIR;
fi
$ECHO "Creating the Oracle inventory pointer file ($INVPTR)";
$ECHO    inventory_loc=$INVLOC > $INVPTR
$ECHO    inst_group=$GRP >> $INVPTR
chmod 644 $INVPTR
# Create the inventory directory if it doesn''t exist
if [ ! -d "$INVLOC" ];then
 $ECHO "Creating the Oracle inventory directory ($INVLOC)";
 $MKDIR -p $INVLOC;
fi
fi
$ECHO "Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
";
$CHMOD -R g+rw,o-rwx /u01/app/oraInventory;
if [ $? != 0 ]; then
 $ECHO "OUI-35086:WARNING: chmod of /u01/app/oraInventory
Adding read,write permissions for group.
,Removing read,write,execute permissions for world.
 failed!";
fi
$ECHO "Changing groupname of /u01/app/oraInventory to oinstall.";
$CHGRP -R oinstall /u01/app/oraInventory;
if [ $? != 0 ]; then
 $ECHO "OUI-10057:WARNING: chgrp of /u01/app/oraInventory to oinstall failed!";
fi
$ECHO "The execution of the script is complete."

 

[root@ol7ora19r1][/u01/app/oraInventory]$ ./orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.


[root@ol7ora19r1][/root]$ cd $ORACLE_HOME/
[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ cat root.sh
#!/bin/sh
unset WAS_ROOTMACRO_CALL_MADE
. /u01/app/oracle/product/19c/db_1/install/utl/rootmacro.sh "$@"
. /u01/app/oracle/product/19c/db_1/install/utl/rootinstall.sh
/u01/app/oracle/product/19c/db_1/install/root_schagent.sh

#
# Root Actions related to network
#
/u01/app/oracle/product/19c/db_1/network/install/sqlnet/setowner.sh

#
# Invoke standalone rootadd_rdbms.sh
#
/u01/app/oracle/product/19c/db_1/rdbms/install/rootadd_rdbms.sh

/u01/app/oracle/product/19c/db_1/rdbms/install/rootadd_filemap.sh

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ./root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19c/db_1
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$

 

--파일 권한 확인 (grid 엔진)

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/extjob
-rwsr-x---. 1 root oinstall 3035304 Aug 10 14:03 /u01/app/19c/grid/bin/extjob

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/jssu
-rwsr-x---. 1 root oinstall 2332824 Aug 10 14:03 /u01/app/19c/grid/bin/jssu

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/oradism
-rwsr-x---. 1 root oinstall 147848 Apr 17  2019 /u01/app/19c/grid/bin/oradism

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/rdbms/admin/externaljob.ora
-rw-r-----. 1 root oinstall 1534 Dec 22  2005 /u01/app/19c/grid/rdbms/admin/externaljob.ora

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/oracle
-rwsr-s--x. 1 grid oinstall 439577944 Aug 10 14:04 /u01/app/19c/grid/bin/oracle

 

--파일 권한 확인 (oracle 엔진)
[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/extjob
-rwsr-x---. 1 root oinstall 3035304 Aug 10 14:06 /u01/app/oracle/product/19c/db_1/bin/extjob

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/jssu
-rwsr-x---. 1 root oinstall 2332824 Aug 10 14:06 /u01/app/oracle/product/19c/db_1/bin/jssu

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/oradism
-rwsr-x---. 1 root oinstall 147848 Apr 17  2019 /u01/app/oracle/product/19c/db_1/bin/oradism

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/rdbms/admin/externaljob.ora
-rw-r-----. 1 root oinstall 1534 Dec 22  2005 /u01/app/oracle/product/19c/db_1/rdbms/admin/externaljob.ora

 

[root@ol7ora19r1][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/oracle
-rwsr-s--x. 1 oracle asmadmin 462239912 Aug 10 14:06 /u01/app/oracle/product/19c/db_1/bin/oracle


3-6. grid 엔진 postpatch로 시작

 

[root@ol7ora19r1][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -postpatch
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r1/crsconfig/crs_postpatch_apply_inplace_ol7ora19r1_2025-08-10_02-21-05PM.log
2025/08/10 14:21:16 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [2119256259].
2025/08/10 14:23:57 CLSRSC-4015: Performing install or upgrade action for Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 14:24:01 CLSRSC-672: Post-patch steps for patching GI home successfully completed.


[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ alias csrt
alias csrt='crsctl stat res -t'
[root@ol7ora19r1][/u01/app/19c/grid/crs/install]$ csrt
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ACFS1.ACFS1_VOL1.advm
               ONLINE  ONLINE       ol7ora19r1               STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       ol7ora19r1               STABLE
ora.acfs1.acfs1_vol1.acfs
               ONLINE  ONLINE       ol7ora19r1               mounted on /acfs1_vo
                                                             l1,STABLE
ora.chad
               ONLINE  ONLINE       ol7ora19r1               STABLE
ora.net1.network
               ONLINE  ONLINE       ol7ora19r1               STABLE
ora.ons
               ONLINE  ONLINE       ol7ora19r1               STABLE
ora.proxy_advm
               ONLINE  ONLINE       ol7ora19r1               STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ACFS1.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.CRS.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.DATA1_NEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.FRA1_NEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               Started,STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.ol7ora19r1.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.ol7ora19r2.vip
      1        ONLINE  INTERMEDIATE ol7ora19r1               FAILED OVER,STABLE
ora.ora19r.db
      1        ONLINE  ONLINE       ol7ora19r1               Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
--------------------------------------------------------------------------------

--> 1번 노드 완료

 

4. 2번 노드의 파일 권한 복구

 

4-1. $ORACLE_BASE/crsdata/호스트네임/output 위치 mv로 백업 후 output 디렉토리 생성

 

[root@ol7ora19r2][/root]$ echo $ORACLE_BASE
/u01/app/oracle

[root@ol7ora19r2][/root]$ cd $ORACLE_BASE/crsdata/ol7ora19r2/output
[root@ol7ora19r2][/u01/app/oracle/crsdata/ol7ora19r2/output]$ ls -l
total 860
-rw-r--r--. 1 grid   oinstall   9936 Aug 10 13:39 crsd_jagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:39 crsd_jagent_grid.pid
-rw-r--r--. 1 grid   oinstall  19243 Aug 10 13:44 crsd_oraagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:22 crsd_oraagent_grid.pid
-rw-r--r--. 1 oracle oinstall  30741 Aug 10 13:44 crsd_oraagent_oracleOUT.trc
-rw-r--r--. 1 oracle oinstall      4 Aug 10 13:23 crsd_oraagent_oracle.pid
-rw-r--r--. 1 root   root      11780 Aug 10 13:22 crsd_orarootagent_rootOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:22 crsd_orarootagent_root.pid
-rw-r--r--. 1 root   root      63887 Aug 10 13:22 crsdOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:22 crsd.pid
-rw-r--r--. 1 grid   oinstall  11340 Aug 10 13:39 crsd_scriptagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:39 crsd_scriptagent_grid.pid
-rw-r--r--. 1 root   root        241 Aug 10 13:21 crswrapexece.log
-rw-r--r--. 1 grid   oinstall  13452 Aug 10 13:21 evmdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:21 evmd.pid
-rw-r--r--. 1 grid   oinstall  21616 Aug 10 13:44 evmloggerOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:21 evmlogger.pid
-rw-r--r--. 1 root   root      64574 Aug 10 13:22 gipcdOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 gipcd.pid
-rw-r--r--. 1 grid   oinstall  16532 Aug 10 13:21 gpnpdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:21 gpnpd.pid
-rw-r--r--. 1 grid   oinstall  26428 Aug 10 13:44 mdnsdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:21 mdnsd.pid
-rw-r--r--. 1 grid   oinstall   3424 Aug 10 13:22 ochadOUT.trc
-rw-r--r--. 1 grid   oinstall 177332 Aug 10 13:39 ocssdOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:21 ocssd.pid
-rw-r--r--. 1 root   root      12171 Aug 10 13:21 octssdOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 octssd.pid
-rw-r--r--. 1 root   root      85775 Aug 10 13:21 ohasd_cssdagent_rootOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 ohasd_cssdagent_root.pid
-rw-r--r--. 1 root   root      86213 Aug 10 13:21 ohasd_cssdmonitor_rootOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 ohasd_cssdmonitor_root.pid
-rw-r--r--. 1 grid   oinstall  30519 Aug 10 13:44 ohasd_oraagent_gridOUT.trc
-rw-r--r--. 1 grid   oinstall      5 Aug 10 13:21 ohasd_oraagent_grid.pid
-rw-r--r--. 1 root   root      14859 Aug 10 13:21 ohasd_orarootagent_rootOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 ohasd_orarootagent_root.pid
-rw-r--r--. 1 root   root      14239 Aug 10 13:21 ohasdOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 ohasd.pid
-rw-r--r--. 1 root   root      14890 Aug 10 13:44 osysmondOUT.trc
-rw-r--r--. 1 root   root          5 Aug 10 13:21 osysmond.pid

 

[root@ol7ora19r2][/u01/app/oracle/crsdata/ol7ora19r2/output]$ mv /u01/app/oracle/crsdata/ol7ora19r2/output /u01/app/oracle/crsdata/ol7ora19r2/output.bak
[root@ol7ora19r2][/u01/app/oracle/crsdata/ol7ora19r2/output]$ ls -l /u01/app/oracle/crsdata/ol7ora19r2/ | grep output.bak
drwxrwxrwt. 2 grid oinstall 4096 Jun  3 19:40 output.bak

[root@ol7ora19r2][/u01/app/oracle/crsdata/ol7ora19r2/output]$ mkdir -p /u01/app/oracle/crsdata/ol7ora19r2/output
[root@ol7ora19r2][/u01/app/oracle/crsdata/ol7ora19r2/output]$ chown grid:oinstall /u01/app/oracle/crsdata/ol7ora19r2/output
[root@ol7ora19r2][/u01/app/oracle/crsdata/ol7ora19r2/output]$ chmod 1777 /u01/app/oracle/crsdata/ol7ora19r2/output
[root@ol7ora19r2][/u01/app/oracle/crsdata/ol7ora19r2/output]$ ls -l /u01/app/oracle/crsdata/ol7ora19r2/ | grep output
drwxrwxrwt. 2 grid oinstall    6 Aug 10 14:27 output
drwxrwxrwt. 2 grid oinstall 4096 Jun  3 19:40 output.bak


4-2. 소켓 파일 삭제

 

[root@ol7ora19r2][/root]$ cd /tmp/.oracle/
[root@ol7ora19r2][/tmp/.oracle]$ ls -l | wc -l
1

--> 해당 위치는 현재 파일이 없음 (ls -l | wc -l 명령으로 1이 나오면 파일이 없는 것임)

 

[root@ol7ora19r2][/tmp/.oracle]$ cd /var/tmp/.oracle/
[root@ol7ora19r2][/var/tmp/.oracle]$ ls -l | wc -l
61

[root@ol7ora19r2][/var/tmp/.oracle]$ cd /usr/tmp/.oracle/
[root@ol7ora19r2][/usr/tmp/.oracle]$ ls -l | wc -l
61

 

[root@ol7ora19r2][/usr/tmp/.oracle]$ rm -f /var/tmp/.oracle/*
[root@ol7ora19r2][/usr/tmp/.oracle]$ rm -f /usr/tmp/.oracle/*

4-3. rootcrs.sh -init 명령 수행

 

[root@ol7ora19r2][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -init
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r2/crsconfig/crsinit_ol7ora19r2_2025-08-10_02-29-18PM.log


4-4. grid 및 oracle 엔진 모두 relink all 작업

 

--grid 엔진 relink all 작업
[+ASM1:grid@ol7ora19r2][/home/grid]$ echo $GRID_HOME
/u01/app/19c/grid

[+ASM1:grid@ol7ora19r2][/home/grid]$ cd $GRID_HOME/bin
[+ASM1:grid@ol7ora19r2][/u01/app/19c/grid/bin]$ ./relink all
  The Oracle home in which you are running this relinking tool does not
have proper write permissions. Please run this relink script as the same
user who owns the Oracle home and ensure that the Oracle home has the
permissions from the original installation.
  If this is a Grid Infrastructure home, please refer to the
documentation for the proper steps to relink and apply oneoff patches.
--> 여기서 이러한 메시지가 나옴 (rootcrs.sh -unlock 작업만 해주면 안되는걸로 판단)

--아래와 같이 root os user로 rootcrs.sh -prepatch 해줌
[root@ol7ora19r2][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -prepatch
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r2/crsconfig/crs_prepatch_apply_inplace_ol7ora19r2_2025-08-10_02-30-28PM.log
Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [2119256259].
2025/08/10 14:32:13 CLSRSC-4012: Shutting down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 14:32:23 CLSRSC-4013: Successfully shut down Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 14:32:26 CLSRSC-347: Successfully unlock /u01/app/19c/grid
2025/08/10 14:32:28 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.


--다시 relink all 시도
[+ASM2:grid@ol7ora19r2][/u01/app/19c/grid/bin]$ ./relink all
writing relink log to: /u01/app/19c/grid/install/relinkActions2025-08-10_02-32-59PM.log
[+ASM2:grid@ol7ora19r2][/u01/app/19c/grid/bin]$ echo $?

0

--> grid 엔진 relink all 성공함

 

--oracle 엔진 relink all 작업
[ORA19R2:oracle@ol7ora19r2][/home/oracle]$ cd $ORACLE_HOME/bin
[ORA19R2:oracle@ol7ora19r2][/u01/app/oracle/product/19c/db_1/bin]$ ./relink all
writing relink log to: /u01/app/oracle/product/19c/db_1/install/relinkActions2025-08-10_02-34-09PM.log

--> oracle 엔진 relink all 성공함

 

4-5. oracle 및 grid 엔진 특정 바이너리의 권한을 변경

[root@ol7ora19r2][/root]$ cd $GRID_HOME/rdbms/install
[root@ol7ora19r2][/u01/app/19c/grid/rdbms/install]$ ./rootadd_rdbms.sh

--> root 소유의 특정 권한을 가져야할 파일에 대한 권한 작업을 수행함

 

[root@ol7ora19r2][/root]$ cd $GRID_HOME/rdbms/install
[root@ol7ora19r2][/u01/app/19c/grid/rdbms/install]$ ./rootadd_rdbms.sh
[root@ol7ora19r2][/u01/app/19c/grid/rdbms/install]$ cd $ORACLE_HOME/rdbms/install
[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1/rdbms/install]$ ./rootadd_rdbms.sh
[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1/rdbms/install]$ cd /u01/app/oraInventory
[root@ol7ora19r2][/u01/app/oraInventory]$ ./orainstRoot.sh

Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.

 

[root@ol7ora19r2][/u01/app/oraInventory]$ cd $ORACLE_HOME/
[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ./root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19c/db_1
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

 

--파일 권한 확인 (grid 엔진)

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/extjob
-rwsr-x---. 1 root oinstall 3035304 Aug 10 14:33 /u01/app/19c/grid/bin/extjob

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/jssu
-rwsr-x---. 1 root oinstall 2332824 Aug 10 14:33 /u01/app/19c/grid/bin/jssu

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/oradism
-rwsr-x---. 1 root oinstall 147848 Jun  3 02:36 /u01/app/19c/grid/bin/oradism

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/rdbms/admin/externaljob.ora
-rw-r-----. 1 root oinstall 1534 Jun  3 02:35 /u01/app/19c/grid/rdbms/admin/externaljob.ora

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $GRID_HOME/bin/oracle
-rwsr-s--x. 1 grid oinstall 439577944 Aug 10 14:33 /u01/app/19c/grid/bin/oracle

 

--파일 권한 확인 (oracle 엔진)

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/extjob
-rwsr-x---. 1 root oinstall 3035304 Aug 10 14:34 /u01/app/oracle/product/19c/db_1/bin/extjob

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/jssu
-rwsr-x---. 1 root oinstall 2332824 Aug 10 14:34 /u01/app/oracle/product/19c/db_1/bin/jssu

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/oradism
-rwsr-x---. 1 root oinstall 147848 Jun  3 12:13 /u01/app/oracle/product/19c/db_1/bin/oradism

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/rdbms/admin/externaljob.ora
-rw-r-----. 1 root oinstall 1534 Jun  3 12:12 /u01/app/oracle/product/19c/db_1/rdbms/admin/externaljob.ora

 

[root@ol7ora19r2][/u01/app/oracle/product/19c/db_1]$ ls -al $ORACLE_HOME/bin/oracle
-rwsr-s--x. 1 oracle asmadmin 462239912 Aug 10 14:34 /u01/app/oracle/product/19c/db_1/bin/oracle

 

4-6. grid 엔진 postpatch로 시작

 

[root@ol7ora19r2][/root]$ cd $GRID_HOME/crs/install
[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ ./rootcrs.sh -postpatch
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/ol7ora19r2/crsconfig/crs_postpatch_apply_inplace_ol7ora19r2_2025-08-10_02-38-53PM.log
2025/08/10 14:39:08 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [2119256259].
2025/08/10 14:41:44 CLSRSC-4015: Performing install or upgrade action for Oracle Trace File Analyzer (TFA) Collector.
2025/08/10 14:41:46 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
2025/08/10 14:43:31 CLSRSC-4003: Successfully patched Oracle Trace File Analyzer (TFA) Collector.


[root@ol7ora19r2][/u01/app/19c/grid/crs/install]$ csrt
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ACFS1.ACFS1_VOL1.advm
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.acfs1.acfs1_vol1.acfs
               ONLINE  ONLINE       ol7ora19r1               mounted on /acfs1_vo
                                                             l1,STABLE
               ONLINE  ONLINE       ol7ora19r2               mounted on /acfs1_vo
                                                             l1,STABLE
ora.chad
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.net1.network
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.ons
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.proxy_advm
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ACFS1.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.CRS.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.DATA1_NEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.FRA1_NEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               Started,STABLE
      2        ONLINE  ONLINE       ol7ora19r2               Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.cvu
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.ol7ora19r1.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.ol7ora19r2.vip
      1        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.ora19r.db
      1        ONLINE  ONLINE       ol7ora19r1               Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
      2        ONLINE  ONLINE       ol7ora19r2               Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
--------------------------------------------------------------------------------

--> 2번 노드 완료


5. DB 리소스 재생성 (옵션)

 

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl stop database -db ora19r
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl config database -db ora19r
Database unique name: ORA19R
Database name:
Oracle home: /u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile: +DATA1_NEW/ORA19R/PARAMETERFILE/spfile.270.1203101939
Password file: +DATA1_NEW/ORA19R/PASSWORD/orapwora19r
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA1_NEW,FRA1_NEW
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances: ORA19R1,ORA19R2
Configured nodes: ol7ora19r1,ol7ora19r2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed

 

ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl remove database -db ora19r
Remove the database ora19r? (y/[n]) y

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl add database \
-db ora19r \
-oraclehome $ORACLE_HOME \
-dbtype RAC \
-spfile +DATA1_NEW/ORA19R/PARAMETERFILE/spfile.270.1203101939 \
-pwfile +DATA1_NEW/ORA19R/PASSWORD/orapwora19r \
-startoption OPEN \
-stopoption IMMEDIATE \
-diskgroup "DATA1_NEW,FRA1_NEW"

 

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl add instance -db ora19r -i ORA19R1 -n ol7ora19r1
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl add instance -db ora19r -i ORA19R2 -n ol7ora19r2

 

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl enable instance -db ora19r -i ORA19R1
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl enable instance -db ora19r -i ORA19R2

 

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl status instance -db ora19r -i ORA19R1
Instance ORA19R1 is not running on node ol7ora19r1

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl status instance -db ora19r -i ORA19R2
Instance ORA19R2 is not running on node ol7ora19r2

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl start database -db ora19r

 

[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ csrt
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ACFS1.ACFS1_VOL1.advm
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.acfs1.acfs1_vol1.acfs
               ONLINE  ONLINE       ol7ora19r1               mounted on /acfs1_vo
                                                             l1,STABLE
               ONLINE  ONLINE       ol7ora19r2               mounted on /acfs1_vo
                                                             l1,STABLE
ora.chad
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.net1.network
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.ons
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
ora.proxy_advm
               ONLINE  ONLINE       ol7ora19r1               STABLE
               ONLINE  ONLINE       ol7ora19r2               STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ACFS1.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.CRS.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.DATA1_NEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.FRA1_NEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               Started,STABLE
      2        ONLINE  ONLINE       ol7ora19r2               Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
      2        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.cvu
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.ol7ora19r1.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.ol7ora19r2.vip
      1        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.ora19r.db
      1        ONLINE  ONLINE       ol7ora19r1               Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
      2        ONLINE  ONLINE       ol7ora19r2               Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ol7ora19r2               STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       ol7ora19r1               STABLE
--------------------------------------------------------------------------------

--여기까지 일괄적으로 grid와 oracle 엔진의 권한을 바꾼 후 복구하는 작업을 테스트 해봄
--긴급으로 업무가 가능하도록 조치했지만 후추 RAC 재설치를 하는 것이 맞음

--(복구는 됐으나 어차피 한번 세팅하면 오래 쓸 시스템이니 당연히 재설치가 맞음)

반응형

+ Recent posts