프린트 하기

OS 환경 : Oracle Linux 8.8 (64bit)

 

DB 환경 : Oracle Database 19.27.0.0

 

방법 : 오라클 19c RAC db 수동 삭제 가이드

본문에서는 19c rac 환경에서 db를 수동으로 제거하는 방법을 설명함

 

 

db 상태 확인

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
66
67
68
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.chad
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.net1.network
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.ons
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.proxy_advm
               OFFLINE OFFLINE      ora19rac1                STABLE
               OFFLINE OFFLINE      ora19rac2                STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.ora11db.db
      1        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
      2        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
ora.ora19db.db
      1        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
      2        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
ora.ora19rac1.vip
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19rac2.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

여기서 ora11db db를 지울 예정임(이 db는 sid는 ora11db이지만 11g에서 19c로 업그레이드 시켜놓은 db임)

 

 

먼저 db가 open 상태라면 종료

1
$ srvctl stop database -d ORA11DB

 

 

grid에서 제거

1
2
3
4
5
6
$ srvctl remove instance -d ORA11DB -i ORA11DB1
Remove instance from the database ORA11DB? (y/[n]) y  <<-- y입력
$ srvctl remove instance -d ORA11DB -i ORA11DB2
Remove instance from the database ORA11DB? (y/[n]) y  <<-- y입력
$ srvctl remove database -d ORA11DB
Remove the database ORA11DB? (y/[n]) y  <<-- y입력

 

 

crsctl로 확인

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
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.chad
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.net1.network
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.ons
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.proxy_advm
               OFFLINE OFFLINE      ora19rac1                STABLE
               OFFLINE OFFLINE      ora19rac2                STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.ora19db.db
      1        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
      2        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
ora.ora19rac1.vip
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19rac2.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

ora.ora11db.db 리소스가 제거됨

 

 

pfile 및 spfile 재생성
spfile위치가 공용이라면 아래 작업도 필요(편하게 하기 위해서)(양쪽노드 모두에서 수행)

1
2
3
4
5
6
7
SQL> create pfile from spfile;
 
File created.
 
SQL> create spfile from pfile;
 
File created.

 

 

restrict exclusive 모드로 mount 기동(1번 노드에서만 수행)

1
2
3
4
5
6
7
8
9
10
11
$ export ORACLE_SID=ORA11DB1
$ sqlplus / as sysdba
SQL> startup mount restrict exclusive;
ORACLE instance started.
 
Total System Global Area 2516579472 bytes
Fixed Size                  8942736 bytes
Variable Size             620756992 bytes
Database Buffers         1879048192 bytes
Redo Buffers                7831552 bytes
Database mounted.

기동됨

 

 

cluster_database 파라미터 false로 변경(1번 노드에서만 수행)

1
2
3
SQL> alter system set cluster_database=false scope=spfile;
 
System altered.

변경됨

 

 

restrict exclusive 모드로 mount 재기동(1번 노드에서만 수행)

1
2
3
4
5
6
7
8
9
10
SQL> shutdown immediate
SQL> startup mount restrict exclusive;
ORACLE instance started.
 
Total System Global Area 2516579472 bytes
Fixed Size                  8942736 bytes
Variable Size             620756992 bytes
Database Buffers         1879048192 bytes
Redo Buffers                7831552 bytes
Database mounted.

재기동됨

 

 

database 삭제(1번 노드에서만 수행)

1
2
3
4
5
6
SQL> drop database;
 
Database dropped.
 
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0

삭제완료 후 sqlplus에서 자동으로 나와짐

 

 

drop database 시 alert log 확인

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
$ tail -300f /oracle/app/oracle/diag/rdbms/ora11db/ORA11DB1/trace/alert_ORA11DB1.log
2025-06-21T15:19:32.548482+09:00
drop database
2025-06-21T15:19:32.703139+09:00
Deleted Oracle managed file +DATA/ORA11DB/DATAFILE/system.296.1204332561
2025-06-21T15:19:34.314513+09:00
Deleted Oracle managed file +DATA/ORA11DB/DATAFILE/sysaux.293.1204332561
Deleted Oracle managed file +DATA/ORA11DB/DATAFILE/undotbs1.292.1204332561
Deleted Oracle managed file +DATA/ORA11DB/DATAFILE/undotbs2.291.1204332561
Deleted Oracle managed file +DATA/ORA11DB/DATAFILE/users.290.1204332561
Deleted Oracle managed file +DATA/ORA11DB/ONLINELOG/group_3.288.1204333259
Deleted Oracle managed file +DATA/ORA11DB/ONLINELOG/group_5.285.1204333759
Deleted Oracle managed file +DATA/ORA11DB/ONLINELOG/group_6.297.1204333773
Deleted Oracle managed file +DATA/ORA11DB/ONLINELOG/group_7.298.1204333773
Deleted Oracle managed file +DATA/ORA11DB/ONLINELOG/group_8.299.1204333785
Deleted Oracle managed file +DATA/ORA11DB/ONLINELOG/group_9.300.1204333787
Deleted Oracle managed file +DATA/ORA11DB/ONLINELOG/group_10.301.1204333787
Deleted Oracle managed file +DATA/ORA11DB/TEMPFILE/temp.286.1204333263
Deleted file /oracle/app/oracle/product/19c/dbs/snapcf_ORA11DB1.f
Shutting down archive processes
Archiving is disabled
Deleted Oracle managed file +DATA/ORA11DB/CONTROLFILE/current.295.1204331931
2025-06-21T15:19:34.516379+09:00
SUCCESS: diskgroup DATA was dismounted
NOTE: Database dismounted; ASMB process exiting
NOTE: ASMB clearing idle groups before exit

정상적으로 삭제됨

 

 

파라미터 파일, 패스워드파일 등 삭제

1
2
3
4
5
6
7
8
9
10
11
12
13
$ cd $ORACLE_HOME/dbs
$ ls -al
total 35976
drwxr-xr-x.  4 oracle oinstall     4096 Jun 21 15:19 .
drwxrwxr-x. 75 oracle dba          4096 May 15 15:48 ..
-rw-rw----   1 oracle dba          1544 Jun 21 15:19 hc_ORA11DB1.dat
-rw-r-----   1 oracle dba       8388608 Jun 21 15:10 id_ORA11DB1.dat
-rw-r--r--.  1 oracle oinstall     3079 May 14  2015 init.ora
-rw-r--r--   1 oracle oinstall     1515 Jun 21 15:08 initORA11DB1.ora
-rw-r--r--   1 oracle oinstall      737 Jun 21 10:58 initORA11DB1.ora.bak
-rw-r-----   1 oracle oinstall     1305 Jun 10 16:25 initORA11DB1.orabak
-rw-r-----   1 oracle oinstall     1536 Jun 21 09:40 orapwORA11DB1
$ rm -rf ./*ORA11DB*

 

 

asmcmd에서도 삭제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ asmcmd ls -ls +data/ora11db/*
Type           Redund  Striped  Time             Sys  Block_Size  Blocks  Bytes    Space  Name
 
+data/ora11db/PARAMETERFILE/:
PARAMETERFILE  UNPROT  COARSE   JUN 21 15:00:00  Y           512       9   4608  4194304  spfile.284.1204377467
PARAMETERFILE  UNPROT  COARSE   JUN 21 15:00:00  Y           512       9   4608  4194304  spfile.289.1204384107
PARAMETERFILE  UNPROT  COARSE   JUN 21 15:00:00  Y           512       9   4608  4194304  spfile.302.1204384127
 
+data/ora11db/PASSWORD/:
PASSWORD       UNPROT  COARSE   JUN 21 13:00:00  N           512       4   2048        0  orapwdora11db => +DATA/ORA11DB/PASSWORD/pwdora11db.287.1204378401
PASSWORD       UNPROT  COARSE   JUN 21 13:00:00  Y           512       4   2048        0  pwdora11db.287.1204378401
$ asmcmd rm -rf +data/ora11db
 
asmcmd ls -ls +reco/ora11db/*
$ asmcmd ls -ls +reco/ora11db/*
Type  Redund  Striped  Time  Sys  Block_Size  Blocks  Bytes  Space  Name
                             Y                                      2025_06_11/
                             Y                                      2025_06_21/
$ asmcmd rm -rf +reco/ora11db

모두 삭제됨

 

 

참조 : 

https://positivemh.tistory.com/422
https://neo-orcl.tistory.com/48