프린트 하기

OS환경 : Oracle Linux 8.5 (64bit)

 

DB 환경 : Oracle Database 19.12.0.0 RAC

 

방법 : 오라클 19c RAC Grid 문제 시 재설치 가이드

[오라클 19c RAC /etc /opt 등 파일이 제거된 경우 조치방안 https://positivemh.tistory.com/800 ]

작업중 문제로 인해 1번 노드는 grid가 기동되었지만 2번 노드는 root.sh 가 계속 실패하는 현상 발생하여

grid 를 완전히 재설치한뒤 다시 db에 연결하는 방법을 설명함

 

 

복구(재설치) 작업절차

1. 2번 노드 grid home 수동 제거

2. ocr, vote disk 초기화

3. ocr, vote disk oracleasm 에 재등록

4. gridSetup

5. DATA disk mount

6. db 등록

 

 

[오라클 19c RAC /etc /opt 등 파일이 제거된 경우 조치방안 https://positivemh.tistory.com/800 ] 중

1번 노드 deconfig 후 root.sh 로 정상화

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       oel19db1                 STABLE
ora.chad
               OFFLINE OFFLINE      oel19db1                 STABLE
ora.net1.network
               ONLINE  ONLINE       oel19db1                 STABLE
ora.ons
               ONLINE  ONLINE       oel19db1                 STABLE
ora.proxy_advm
               OFFLINE OFFLINE      oel19db1                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.OCR_VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 Started,STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db2.vip
      1        ONLINE  INTERMEDIATE oel19db1                 FAILED OVER,STABLE
ora.oradb.db
      1        ONLINE  ONLINE       oel19db1                 Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
      2        ONLINE  OFFLINE                               STABLE
ora.qosmserver
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
--------------------------------------------------------------------------------

 

 

2번 노드 deconfig, root.sh 실패

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
case 1
# cd $GRID_HOME/
# sh root.sh 
Performing root user operation.
 
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/app/grid/19c
   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.
Relinking oracle with rac_on option
Using configuration parameter file: /oracle/app/grid/19c/crs/install/crsconfig_params
The log of current session can be found at:
  /oracle/app/oracle/crsdata/oel19db2/crsconfig/rootcrs_oel19db2_2022-01-05_11-23-58AM.log
2022/01/05 11:24:00 CLSRSC-594: Executing installation step 1 of 19'SetupTFA'.
2022/01/05 11:24:00 CLSRSC-594: Executing installation step 2 of 19'ValidateEnv'.
2022/01/05 11:24:00 CLSRSC-594: Executing installation step 3 of 19'CheckFirstNode'.
oracle.ops.mgmt.cluster.ClusterException: scp: /oracle/app/oracle/crsdata/@global/crsconfig/ckptGridHA_global.xml: No such file or directory 
 
2022/01/05 11:24:01 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/cluutil -copy -sourcefile /oracle/app/oracle/crsdata/@global/crsconfig/ckptGridHA_global.xml -sourcenode oel19db1 -destfile /oracle/app/oracle/crsdata/@global/crsconfig/ckptGridHA_global.xml -nodelist oel19db2'
2022/01/05 11:24:01 CLSRSC-571: failed to copy file '/oracle/app/oracle/crsdata/@global/crsconfig/ckptGridHA_global.xml' from node 'oel19db1' to file '/oracle/app/oracle/crsdata/@global/crsconfig/ckptGridHA_global.xml' on local node
Died at /oracle/app/grid/19c/crs/install/crsutils.pm line 14238.
 
case 2
# cd $GRID_HOME/
# sh root.sh
Performing root user operation.
 
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/app/grid/19c
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
 
 
Creating /etc/oratab file...
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.
Relinking oracle with rac_on option
Using configuration parameter file: /oracle/app/grid/19c/crs/install/crsconfig_params
The log of current session can be found at:
  /oracle/app/oracle/crsdata/oel19db2/crsconfig/rootcrs_oel19db2_2021-12-31_11-58-31PM.log
2021/12/31 23:58:34 CLSRSC-456: The Oracle Grid Infrastructure has already been configured.

여러번 테스트로 인해 root.sh 실패 시 내용이 2개임

 

 

장애조치

1번 노드 deconfig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -deconfig -force -verbose -keepdg
Using configuration parameter file: /oracle/app/grid/19c/crs/install/crsconfig_params
The log of current session can be found at:
  /oracle/app/oracle/crsdata/oel19db1/crsconfig/crsdeconfig_oel19db1_2022-01-06_03-25-11PM.log
PRCR-1070 : Failed to check if resource ora.net1.network is registered
CRS-0184 : Cannot communicate with the CRS daemon.
PRCR-1070 : Failed to check if resource ora.helper is registered
CRS-0184 : Cannot communicate with the CRS daemon.
PRCR-1070 : Failed to check if resource ora.ons is registered
CRS-0184 : Cannot communicate with the CRS daemon.
 
2022/01/06 15:25:17 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl config nodeapps'
Redirecting to /bin/systemctl restart rsyslog.service
2022/01/06 15:25:39 CLSRSC-336: Successfully deconfigured Oracle Clusterware stack on this node

 

 

2번 노드 deconfig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -deconfig -force -verbose -keepdg -lastnode
Using configuration parameter file: /oracle/app/grid/19c/crs/install/crsconfig_params
The log of current session can be found at:
  /oracle/app/oracle/crsdata/oel19db2/crsconfig/crsdeconfig_oel19db2_2022-01-06_03-27-32PM.log
****Unable to retrieve Oracle Clusterware home.
Start Oracle Clusterware stack and try again.
2022/01/06 15:27:39 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl stop cvu -f'
****Unable to retrieve Oracle Clusterware home.
Start Oracle Clusterware stack and try again.
2022/01/06 15:27:32 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl remove cvu -f'
2022/01/06 15:27:32 CLSRSC-46: Error: '/oracle/app/oracle/crsdata/oel19db2/crsconfig/srvmcfg4.log' does not exist
2022/01/06 15:27:32 CLSRSC-46: Error: '/oracle/app/oracle/crsdata/oel19db2/crsconfig/srvmcfg4.log' does not exist
****Unable to retrieve Oracle Clusterware home.
Start Oracle Clusterware stack and try again.
2022/01/06 15:27:32 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl stop scan_listener -f'
****Unable to retrieve Oracle Clusterware home.
Start Oracle Clusterware stack and try again.
2022/01/06 15:27:32 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl remove scan_listener -y -f'
****Unable to retrieve Oracle Clusterware home.
Start Oracle Clusterware stack and try again.
2022/01/06 15:27:32 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl stop scan -f'
2022/01/06 15:27:32 CLSRSC-46: Error: '/oracle/app/oracle/crsdata/oel19db2/crsconfig/srvmcfg7.log' does not exist
2022/01/06 15:27:32 CLSRSC-46: Error: '/oracle/app/oracle/crsdata/oel19db2/crsconfig/srvmcfg7.log' does not exist
****Unable to retrieve Oracle Clusterware home.
Start Oracle Clusterware stack and try again.
2022/01/06 15:27:33 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl remove scan -y -f'
2022/01/06 15:27:33 CLSRSC-46: Error: '/oracle/app/oracle/crsdata/oel19db2/crsconfig/srvmcfg8.log' does not exist
2022/01/06 15:27:33 CLSRSC-46: Error: '/oracle/app/oracle/crsdata/oel19db2/crsconfig/srvmcfg8.log' does not exist
****Unable to retrieve Oracle Clusterware home.
Start Oracle Clusterware stack and try again.
2022/01/06 15:27:33 CLSRSC-180: An error occurred while executing the command '/oracle/app/grid/19c/bin/srvctl config nodeapps'
CRS-4047: No Oracle Clusterware components configured.
CRS-4000: Command Stop failed, or completed with errors.
CRS-4047: No Oracle Clusterware components configured.
CRS-4000: Command Check failed, or completed with errors.
2022/01/06 15:27:33 CLSRSC-191: Failed to stop Oracle Clusterware stack
Died at /oracle/app/grid/19c/crs/install/crsdeconfig.pm line 479.

실패함

 

 

/etc/ora~ 남아있는 파일 제거(1번 노드)

1
# rm -rf /etc/ora*

 

 

$GRID_HOME, /etc/ora~ 남아있는 파일 제거(2번 노드)

1
2
# rm -rf $GRID_HOME
# rm -rf /etc/ora*

 

 

oraInventory 백업(양쪽 노드)

1
2
# cd /oracle/app/
# mv oraInventory oraInventorybak

 

 

dd 명령으로 OCR_VOTE용 oracleasm으로 생성한 로우디바이스 헤더 초기화(양쪽 노드)

1
2
3
4
5
6
7
# dd if=/dev/oracleasm/disks/OCR_VOTE1 of=/tmp/ocr1.txt bs=1048576 count=100
# dd if=/dev/oracleasm/disks/OCR_VOTE2 of=/tmp/ocr2.txt bs=1048576 count=100
# dd if=/dev/oracleasm/disks/OCR_VOTE3 of=/tmp/ocr3.txt bs=1048576 count=100
 
# dd if=/dev/zero of=/dev/oracleasm/disks/OCR_VOTE1 bs=1048576 count=50
# dd if=/dev/zero of=/dev/oracleasm/disks/OCR_VOTE2 bs=1048576 count=50
# dd if=/dev/zero of=/dev/oracleasm/disks/OCR_VOTE3 bs=1048576 count=50

 

 

dd 명령으로 OCR_VOTE용 로우디바이스 헤더 초기화(양쪽 노드)

1
2
3
# dd if=/dev/zero of=/dev/19c/OCR_VOTE1 bs=1048576 count=50
# dd if=/dev/zero of=/dev/19c/OCR_VOTE2 bs=1048576 count=50
# dd if=/dev/zero of=/dev/19c/OCR_VOTE3 bs=1048576 count=50

 

 

제대로 초기화 되었는지 확인(양쪽 노드)

1
2
3
4
5
6
# oracleasm querydisk /dev/19c/OCR_VOTE1
Device "/dev/19c/OCR_VOTE1" is not marked as an ASM disk
# oracleasm querydisk /dev/19c/OCR_VOTE2
Device "/dev/19c/OCR_VOTE2" is not marked as an ASM disk
# oracleasm querydisk /dev/19c/OCR_VOTE3
Device "/dev/19c/OCR_VOTE3" is not marked as an ASM disk

not marked 로 나오면 초기화가 된것

 

 

oracleasm scandisk(양쪽 노드)

1
2
3
4
5
6
7
# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Cleaning disk "OCR_VOTE1"
Cleaning disk "OCR_VOTE2"
Cleaning disk "OCR_VOTE3"
Scanning system for ASM disks...

 

 

oracleasm listdisk(양쪽 노드)

1
2
# oracleasm listdisks
DATA01

 

 

oracleasm createdisk(1번 노드)

1
2
3
4
5
6
7
8
9
10
oracleasm createdisk(1번 노드)
# oracleasm createdisk OCR_VOTE1 /dev/19c/OCR_VOTE1
Writing disk header: done
Instantiating disk: done
# oracleasm createdisk OCR_VOTE2 /dev/19c/OCR_VOTE2
Writing disk header: done
Instantiating disk: done
# oracleasm createdisk OCR_VOTE3 /dev/19c/OCR_VOTE3
Writing disk header: done
Instantiating disk: done

 

 

oracleasm scan 및 listdisk(양쪽 노드)

1
2
3
4
5
6
7
8
9
# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
# oracleasm listdisks
DATA01
OCR_VOTE1
OCR_VOTE2
OCR_VOTE3

 

 

cvuqdisk rpm 재설치 후 2번 노드에 복사(1번 노드)(왜인지 모르겠지만 지워져있어서 재설치)

1
2
3
4
5
6
7
8
9
10
# cd $GRID_HOME/cv/rpm
# rpm -Uvh cvuqdisk-1.0.10-1.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Using default group oinstall to install package
Updating / installing...
   1:cvuqdisk-1.0.10-1                ################################# [100%]
# scp cvuqdisk-1.0.10-1.rpm 192.168.137.20:/root
root@192.168.137.20's password: 
cvuqdisk-1.0.10-1.rpm                              100%   11KB   7.1MB/s   00:00    

 

 

cvuqdisk rpm 재설치(2번 노드)

1
2
3
4
5
6
7
cvuqdisk rpm 재설치(2번 노드)
# rpm -Uvh cvuqdisk-1.0.10-1.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Using default group oinstall to install package
Updating / installing...
   1:cvuqdisk-1.0.10-1                ################################# [100%]

 

 

grid 재설치를 위한 권한 재부여(양쪽노드)

1
2
# chown -R oracle:dba /oracle/
# chmod -755 /oracle/

 

 

gridSetup 진행(1번 노드)

1
2
3
# su - oracle
$ cd $GRID_HOME/
$ ./gridSetup.sh 

 

 

Configure Oracle Grid Infrastructure for a New Cluster 선택 

 

 

Configure an Oracle Standalone Cluster 선택

 

 

SCAN 정보 입력

 

 

ADD 선택

 

 

2번 노드 정보 입력

 

 

패스워드 없는 ssh 연결설정은 이미 되어있으므로 Next

 

 

ASM & Private로 선택

 

 

Use Oracle Flex ASM for storage 선택

 

 

No 선택

 

 

OCR_VOTE 입력 후 Normal 선택
디스크가 안나올 경우 Change Discovery Path 선택

 

 

Change Discovery Path 선택 후 경로 입력 후 OK(/dev/oracleasm/disks)

 

 

disk 3개 선택 후 Next

 

 

패스워드 oracle 입력

 

 

Yes 선택

 

 

Do not use IPMI 선택

 

 

EM 체크하지 않고 다음

 

 

그룹 dba로 선택

 

 

Yes 선택

 

 

oracle base 지정

 

 

Yes 선택

 

 

Next

 

 

사전 요구사항 체크중

 

 

패키지도 이미 설치되어있고 NTP는 사용하지않고

SCAN 관련메세지는 SCAN IP가 DNS에 등록되어 있지 않아서 발생한 문제 모두 Ignore

 

 

response 파일이 필요하다면 따로 저장 후 Install

 

 

첫번째 스크립트부터 복사 후 root 유저로 실행

 

 

orainstRoot.sh 실행(1번 노드 실행 후 2번 노드 실행)

1
2
3
4
5
6
7
/oracle/app/oraInventory/orainstRoot.sh
Changing permissions of /oracle/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
 
Changing groupname of /oracle/app/oraInventory to dba.
The execution of the script is complete.

 

 

root.sh 실행(1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/oracle/app/grid/19c/root.sh
Performing root user operation.
 
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/app/grid/19c
 
Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
 
 
Creating /etc/oratab file...
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.
Relinking oracle with rac_on option
Using configuration parameter file: /oracle/app/grid/19c/crs/install/crsconfig_params
The log of current session can be found at:
  /oracle/app/oracle/crsdata/oel19db1/crsconfig/rootcrs_oel19db1_2022-01-06_03-52-01PM.log
2022/01/06 15:52:06 CLSRSC-594: Executing installation step 1 of 19'SetupTFA'.
2022/01/06 15:52:06 CLSRSC-594: Executing installation step 2 of 19'ValidateEnv'.
2022/01/06 15:52:06 CLSRSC-594: Executing installation step 3 of 19'CheckFirstNode'.
2022/01/06 15:52:08 CLSRSC-594: Executing installation step 4 of 19'GenSiteGUIDs'.
2022/01/06 15:52:08 CLSRSC-4004: Failed to install Oracle Trace File Analyzer (TFA) Collector. Grid Infrastructure operations will continue.
2022/01/06 15:52:08 CLSRSC-594: Executing installation step 5 of 19'SetupOSD'.
Redirecting to /bin/systemctl restart rsyslog.service
2022/01/06 15:52:09 CLSRSC-594: Executing installation step 6 of 19'CheckCRSConfig'.
2022/01/06 15:52:09 CLSRSC-594: Executing installation step 7 of 19'SetupLocalGPNP'.
2022/01/06 15:52:16 CLSRSC-594: Executing installation step 8 of 19'CreateRootCert'.
2022/01/06 15:52:18 CLSRSC-594: Executing installation step 9 of 19'ConfigOLR'.
2022/01/06 15:52:26 CLSRSC-594: Executing installation step 10 of 19'ConfigCHMOS'.
2022/01/06 15:52:26 CLSRSC-594: Executing installation step 11 of 19'CreateOHASD'.
2022/01/06 15:52:29 CLSRSC-594: Executing installation step 12 of 19'ConfigOHASD'.
2022/01/06 15:52:29 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2022/01/06 15:52:47 CLSRSC-594: Executing installation step 13 of 19'InstallAFD'.
2022/01/06 15:52:47 CLSRSC-594: Executing installation step 14 of 19'InstallACFS'.
2022/01/06 15:53:05 CLSRSC-594: Executing installation step 15 of 19'InstallKA'.
2022/01/06 15:53:09 CLSRSC-594: Executing installation step 16 of 19'InitConfig'.
 
ASM has been created and started successfully.
 
[DBT-30001] Disk groups created successfully. Check /oracle/app/oracle/cfgtoollogs/asmca/asmca-220106PM035338.log for details.
 
2022/01/06 15:54:32 CLSRSC-482: Running command: '/oracle/app/grid/19c/bin/ocrconfig -upgrade oracle dba'
CRS-4256: Updating the profile
Successful addition of voting disk 3d353ab18a7d4f42bfddda8ca95ab3d7.
Successful addition of voting disk b79437dae8024f54bf8fc6785507f8ce.
Successful addition of voting disk 72214d7f509a4f46bf5e3c2e6d0c4f82.
Successfully replaced voting disk group with +OCR_VOTE.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   3d353ab18a7d4f42bfddda8ca95ab3d7 (/dev/oracleasm/disks/OCR_VOTE1) [OCR_VOTE]
 2. ONLINE   b79437dae8024f54bf8fc6785507f8ce (/dev/oracleasm/disks/OCR_VOTE2) [OCR_VOTE]
 3. ONLINE   72214d7f509a4f46bf5e3c2e6d0c4f82 (/dev/oracleasm/disks/OCR_VOTE3) [OCR_VOTE]
Located 3 voting disk(s).
2022/01/06 15:55:36 CLSRSC-594: Executing installation step 17 of 19'StartCluster'.
2022/01/06 15:56:30 CLSRSC-343: Successfully started Oracle Clusterware stack
2022/01/06 15:56:30 CLSRSC-594: Executing installation step 18 of 19'ConfigNode'.
2022/01/06 15:57:21 CLSRSC-594: Executing installation step 19 of 19'PostConfig'.
2022/01/06 15:57:34 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

 

 

root.sh 실행(2번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/oracle/app/grid/19c/root.sh
Performing root user operation.
 
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/app/grid/19c
 
Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
 
 
Creating /etc/oratab file...
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.
Relinking oracle with rac_on option
Using configuration parameter file: /oracle/app/grid/19c/crs/install/crsconfig_params
The log of current session can be found at:
  /oracle/app/oracle/crsdata/oel19db2/crsconfig/rootcrs_oel19db2_2022-01-06_03-58-42PM.log
2022/01/06 15:58:45 CLSRSC-594: Executing installation step 1 of 19'SetupTFA'.
2022/01/06 15:58:45 CLSRSC-594: Executing installation step 2 of 19'ValidateEnv'.
2022/01/06 15:58:45 CLSRSC-594: Executing installation step 3 of 19'CheckFirstNode'.
2022/01/06 15:58:46 CLSRSC-594: Executing installation step 4 of 19'GenSiteGUIDs'.
2022/01/06 15:58:46 CLSRSC-594: Executing installation step 5 of 19'SetupOSD'.
Redirecting to /bin/systemctl restart rsyslog.service
2022/01/06 15:58:46 CLSRSC-594: Executing installation step 6 of 19'CheckCRSConfig'.
2022/01/06 15:58:47 CLSRSC-4004: Failed to install Oracle Trace File Analyzer (TFA) Collector. Grid Infrastructure operations will continue.
2022/01/06 15:58:47 CLSRSC-594: Executing installation step 7 of 19'SetupLocalGPNP'.
2022/01/06 15:58:47 CLSRSC-594: Executing installation step 8 of 19'CreateRootCert'.
2022/01/06 15:58:47 CLSRSC-594: Executing installation step 9 of 19'ConfigOLR'.
2022/01/06 15:58:50 CLSRSC-594: Executing installation step 10 of 19'ConfigCHMOS'.
2022/01/06 15:58:51 CLSRSC-594: Executing installation step 11 of 19'CreateOHASD'.
2022/01/06 15:58:51 CLSRSC-594: Executing installation step 12 of 19'ConfigOHASD'.
2022/01/06 15:58:52 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2022/01/06 15:59:07 CLSRSC-594: Executing installation step 13 of 19'InstallAFD'.
2022/01/06 15:59:07 CLSRSC-594: Executing installation step 14 of 19'InstallACFS'.
2022/01/06 15:59:23 CLSRSC-594: Executing installation step 15 of 19'InstallKA'.
2022/01/06 15:59:24 CLSRSC-594: Executing installation step 16 of 19'InitConfig'.
2022/01/06 15:59:32 CLSRSC-594: Executing installation step 17 of 19'StartCluster'.
2022/01/06 16:00:12 CLSRSC-343: Successfully started Oracle Clusterware stack
2022/01/06 16:00:12 CLSRSC-594: Executing installation step 18 of 19'ConfigNode'.
2022/01/06 16:00:21 CLSRSC-594: Executing installation step 19 of 19'PostConfig'.
2022/01/06 16:00:28 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

 

 

스크립트 모두 실행후 OK

 

 

SCAN IP가 DNS에 등록되어 있지 않아서 발생한 문제 무시 해도됨 OK

 

 

Yes

 

 

grid 설치 완료

 

 

완료 후 grid 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.chad
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.net1.network
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.ons
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.proxy_advm
               OFFLINE OFFLINE      oel19db1                 STABLE
               OFFLINE OFFLINE      oel19db2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.OCR_VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 Started,STABLE
      2        ONLINE  ONLINE       oel19db2                 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.cvu
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db2.vip
      1        ONLINE  ONLINE       oel19db2                 STABLE
ora.qosmserver
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
--------------------------------------------------------------------------------

OCR_VOTE는 있지만 DATA 리소스와 db 리소스는 없음

 

 

asmca로 DATA diskgroup mount

1
$ asmca

 

 

Disk Groups 선택

 

 

DATA가 DISMOUNTED 상태임

Mount All 선택

 

 

Yes 선택

 

 

DATA도 mount 됨

 

 

mount 후 재확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.chad
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.net1.network
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.ons
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.proxy_advm
               OFFLINE OFFLINE      oel19db1                 STABLE
               OFFLINE OFFLINE      oel19db2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.OCR_VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 Started,STABLE
      2        ONLINE  ONLINE       oel19db2                 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.cvu
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db2.vip
      1        ONLINE  ONLINE       oel19db2                 STABLE
ora.qosmserver
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
--------------------------------------------------------------------------------

 

 

db 리소스 등록

1
2
3
$ srvctl add database -d ORADB -o $ORACLE_HOME
$ srvctl add instance -d ORADB -i ORADB1 -n oel19db1
$ srvctl add instance -d ORADB -i ORADB2 -n oel19db2

 

 

db 기동

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ srvctl start database -d ORADB
PRCR-1079 : Failed to start resource ora.oradb.db
CRS-5017: The resource action "ora.oradb.db start" encountered the following error: 
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/app/oracle/product/19c/dbs/initORADB2.ora'
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/oel19db2/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-5017: The resource action "ora.oradb.db start" encountered the following error: 
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/app/oracle/product/19c/dbs/initORADB1.ora'
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/oel19db1/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.oradb.db' on 'oel19db2' failed
CRS-2632: There are no more servers to try to place resource 'ora.oradb.db' on that would satisfy its placement policy
CRS-2674: Start of 'ora.oradb.db' on 'oel19db1' failed

실패함 파라미터파일을 찾지못함

 

 

파라미터 파일 확인

1
2
3
$ cd $ORACLE_HOME/dbs
$ ls
hc_ORADB1.dat  id_ORADB1.dat  init.ora

없음

 

 

asm에서 파라미터파일 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ asmcmd
ASMCMD> ls
DATA/
OCR_VOTE/
ASMCMD> cd DATA
ASMCMD> ls
ORADB/
ASMCMD> cd ORADB
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
PASSWORD/
TEMPFILE/
ASMCMD> cd PARAMETERFILE
ASMCMD> ls
spfile.268.1086046877
ASMCMD> pwd
+DATA/ORADB/PARAMETERFILE
ASMCMD> exit

 

 

파라미터파일 생성 후 asm경로를 바라보게끔 설정(1번 노드)

1
2
3
$ cd $ORACLE_HOME/dbs
$ vi initORADB1.ora
spfile='+DATA/ORADB/PARAMETERFILE/spfile.268.1086046877'

 

 

파라미터파일 생성 후 asm경로를 바라보게끔 설정(2번 노드)

1
2
3
$ cd $ORACLE_HOME/dbs
$ vi initORADB2.ora
spfile='+DATA/ORADB/PARAMETERFILE/spfile.268.1086046877'

 

 

다시 db 기동

1
$ srvctl start database -d ORADB

 

 

grid 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.chad
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.net1.network
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.ons
               ONLINE  ONLINE       oel19db1                 STABLE
               ONLINE  ONLINE       oel19db2                 STABLE
ora.proxy_advm
               OFFLINE OFFLINE      oel19db1                 STABLE
               OFFLINE OFFLINE      oel19db2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.OCR_VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 Started,STABLE
      2        ONLINE  ONLINE       oel19db2                 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       oel19db1                 STABLE
      2        ONLINE  ONLINE       oel19db2                 STABLE
ora.cvu
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.oel19db2.vip
      1        ONLINE  ONLINE       oel19db2                 STABLE
ora.oradb.db
      1        ONLINE  ONLINE       oel19db1                 Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
      2        ONLINE  ONLINE       oel19db2                 Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       oel19db1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oel19db1                 STABLE
--------------------------------------------------------------------------------

db도 정상적으로 open 됨

 

 

db 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ sqlplus / as sysdba
 
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 6 16:09:26 2022
Version 19.12.0.0.0
 
Copyright (c) 19822021, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
 
SQL> select instance_name, version, status from gv$instance;
 
INSTANCE_NAME     VERSION       STATUS
---------------- ----------------- ------------
ORADB1         19.0.0.0.0       OPEN
ORADB2         19.0.0.0.0       OPEN

정상

 

 

패치 정보 확인

1
2
3
4
5
6
7
8
9
$ cd $ORACLE_HOME/OPatch
$ ./opatch lspatches
List of Homes on this system:
 
  Home name= OraGI19Home1, Location= "/oracle/app/grid/19c"
Inventory load failed... LsPatchesSession::loadAndPrintInstalledPatch()
LsPatchesSession failed: RawInventory gets null OracleHomeInfo
 
OPatch failed with error code 2

oraInvnetory가 새로 생성되서 패치 정보 확인이 되지않음

 

 

현재 oraInvnetory의 ContentsXML/inventory.xml 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ cat /oracle/app/oraInventory/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2021, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
   <SAVED_WITH>12.2.0.7.0</SAVED_WITH>
   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraGI19Home1" LOC="/oracle/app/grid/19c" TYPE="O" IDX="1" CRS="true"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>

db home 정보가 없음

 

 

기존에 백업해두었던 oraInvnetory 중 ContentsXML/inventory.xml 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ cat /oracle/app/oraInventorybak/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2021, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
   <SAVED_WITH>12.2.0.7.0</SAVED_WITH>
   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraGI19Home1" LOC="/oracle/app/grid/19c" TYPE="O" IDX="1" CRS="true"/>
<HOME NAME="OraDB19Home1" LOC="/oracle/app/oracle/product/19c" TYPE="O" IDX="2"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>

 

 

ORACLE HOME 에 대해 oraInventory 재등록(양쪽 노드)

1
2
3
4
5
6
7
8
9
$ cd $ORACLE_HOME/oui/bin
$ ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME="OraDB19Home1"
Starting Oracle Universal Installer...
 
Checking swap space: must be greater than 500 MB.   Actual 7712 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
You can find the log of this install session at:
 /oracle/app/oraInventory/logs/AttachHome2022-01-06_04-10-23PM.log
'AttachHome' was successful.

 

 

재등록후 oraInvnetory의 ContentsXML/inventory.xml 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ cat /oracle/app/oraInventory/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2022, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
   <SAVED_WITH>12.2.0.7.0</SAVED_WITH>
   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraGI19Home1" LOC="/oracle/app/grid/19c" TYPE="O" IDX="1" CRS="true"/>
<HOME NAME="OraDB19Home1" LOC="/oracle/app/oracle/product/19c" TYPE="O" IDX="2"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>

정상적으로 db 정보가 등록됨

 

 

다시 패치정보 확인(양쪽 노드)

1
2
3
4
5
$ cd $ORACLE_HOME/OPatch
$ ./opatch lspatches
32876380;OJVM RELEASE UPDATE19.12.0.0.210720 (32876380)
32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816)
32904851;Database Release Update : 19.12.0.0.210720 (32904851)

정상적으로 확인됨

 

 

참조 : 1377349.1, 1354258.1, 2571719.1, 563048.1, 556834.1

https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/unconfiguring-oracle-clusterware-without-removing-binaries.html#GUID-41C5E8EE-68F9-4849-B4B8-BD82D4A17A57
https://pat98.tistory.com/1068

https://positivemh.tistory.com/762

 

Oracle Linux 8.4에 Oracle 19c RAC 설치 가이드_Part 1

OS환경 : Oracle Linux 8.4 (64bit) DB 환경 : Oracle Database 19.12.0.0 방법 : Oracle Linux 8.4에 Oracle 19c RAC 설치 가이드_Part 1 OS 설치는 아래 게시물 참조 Oracle Linux 8.4 설치 가이드(..

positivemh.tistory.com

https://positivemh.tistory.com/800

 

오라클 19c RAC /etc /opt 등 파일이 제거된 경우 조치방안

OS환경 : Oracle Linux 8.5 (64bit) DB 환경 : Oracle Database 19.12.0.0 RAC 방법 : 오라클 19c RAC /etc /opt 등 파일이 제거된 경우 조치방안 오라클 19c ASM RAC 환경에서 GRID엔진 경로는 변경이나..

positivemh.tistory.com