반응형

[환 경]

RHEL 9.6 + Oracle RAC 19c + ASM

 

[증 상]

$GRID_HOME/crs/install/rootcrs.sh -prepatch -nonrolling 아래와 같은 Error 발생

[root@rac1 ~]# /oradb/app/oracle/grid/19.0.0/crs/install/rootcrs.sh -prepatch -nonrolling
Using configuration parameter file: /oradb/app/oracle/grid/19.0.0/crs/install/crsconfig_params
The log of current session can be found at:
  /oradb/app/base/crsdata/rac1/crsconfig/crs_prepatch_apply_inplace_rac1_2026-07-28_11-34-15AM.log
rac2 : PRKC-1191 : Remote command execution setup check for node rac2 using shell /usr/bin/ssh failed.

load pubkey "/home/oracle/.ssh/id_rsa": Invalid key lengthoracle@rac2: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

2026/07/28 11:34:22 CLSRSC-180: An error occurred while executing the command '/oradb/app/oracle/grid/19.0.0/bin/cluutil -ckpt -global -oraclebase /oradb/app/base -writeckpt -name ROOTCRS_PATCHINFO -state SUCCESS -nodelist rac1,rac2 -transferfile'
2026/07/28 11:34:22 CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_PATCHINFO' with status 'SUCCESS' (error code 0)
2026/07/28 11:34:22 CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_PATCHINFO' with status 'SUCCESS' (error code 0)
Died at /oradb/app/oracle/grid/19.0.0/crs/install/crsutils.pm line 14422.
The command '/oradb/app/oracle/grid/19.0.0/perl/bin/perl -I/oradb/app/oracle/grid/19.0.0/perl/lib -I/oradb/app/oracle/grid/19.0.0/crs/install -I/oradb/app/oracle/grid/19.0.0/xag /oradb/app/oracle/grid/19.0.0/crs/install/rootcrs.pl -prepatch -nonrolling' execution failed
[root@rac1 ~]#

 

[원 인]

RHEL 9.6의 강화된 SSH 보안 규격에 맞춰 OS oracle 계정의 SSH 키(RSA 3072bit 이상)를 재발급하지 않아 노드 간 등가성(SSH Equivalence)이 깨지면서 발생한 OS 환경적 원인

 

[해결 방법]

RAC 1번/2번 Node 각각 수행 해야 함

그리고 다시 $GRID_HOME/crs/install/rootcrs.sh -prepatch -nonrolling 수행 하면 됨

[oracle@rac1 ~]$
[oracle@rac1 ~]$ cd ~/.ssh
[oracle@rac1 .ssh]$ ls
authorized_keys  config  config.backup  id_ecdsa  id_ecdsa.pub  id_rsa  id_rsa.pub  known_hosts
[oracle@rac1 .ssh]$ mv id_* old_keys/ 2>/dev/null
[oracle@rac1 .ssh]$ ls -al
total 36
drwxr-xr-x.  2 oracle dba  151 Jul 28 13:09 .
drwx------. 10 oracle dba 4096 Jul 28 11:26 ..
-rw-r--r--.  1 oracle dba  900 May 29 14:28 authorized_keys
-rw-r--r--.  1 oracle dba   23 May 29 14:28 config
-rw-r--r--.  1 oracle dba   21 May 29 14:28 config.backup
-rw-------   1 oracle dba  505 Jul 28 13:07 id_ecdsa
-rw-r--r--   1 oracle dba  173 Jul 28 13:07 id_ecdsa.pub
-rw-------.  1 oracle dba 1044 May 29 14:28 id_rsa
-rw-r--r--.  1 oracle dba  225 May 29 14:28 id_rsa.pub
-rw-r--r--.  1 oracle dba  540 May 29 14:28 known_hosts
[oracle@rac1 .ssh]$
[oracle@rac1 .ssh]$ ssh-keygen -t rsa -b 3072 -N "" -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
/home/oracle/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Your identification has been saved in /home/oracle/.ssh/id_rsa
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Jdec38lCb79RSTHTQNzeResgGSrVz+njUmXSHrVOtdQ oracle@rac1
The key's randomart image is:
+---[RSA 3072]----+
|         ... ooB+|
|        . .+o...E|
|       ...oo*o++B|
|        .+  o**X=|
|        S   ..OB+|
|             +ooo|
|            o ...|
|           . .  o|
|            .  . |
+----[SHA256]-----+
[oracle@rac1 .ssh]$ ssh-copy-id oracle@rac1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/oracle/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are alr
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to inst
oracle@rac1's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'oracle@rac1'"
and check to make sure that only the key(s) you wanted were added.

[oracle@rac1 .ssh]$
[oracle@rac1 .ssh]$ ssh-copy-id oracle@rac2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/oracle/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are alr
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to inst
oracle@rac2's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'oracle@rac2'"
and check to make sure that only the key(s) you wanted were added.

[oracle@rac1 .ssh]$
[oracle@rac1 ~]$
[oracle@rac1 ~]$ ssh rac1 date
Tue Jul 28 01:12:03 PM KST 2026
[oracle@rac1 ~]$
[oracle@rac1 ~]$
[oracle@rac1 ~]$ ssh rac2 date
Tue Jul 28 01:12:09 PM KST 2026
[oracle@rac1 ~]$

 

반응형

+ Recent posts