프린트 하기

OS 환경 : Oracle Linux 8.1 (64bit)

 

DB 환경 : Oracle Database 19.3.0.0

 

방법 : 오라클 19c dbca silent 시 템플릿별 컴포넌트 비활성화 설정

이전에 General_Purpose.dbc 템플릿의 컴포넌트들을 false로 수정해서 silent mode로 dbca한적이 있는데
이때 설치 이후 어떤 컴포넌트들이 설치되었는지를 확인하지 않았었음
참고 : Oracle Linux 8.4에 Oracle 19c Silent 모드 설치 가이드 ( https://positivemh.tistory.com/1152 )
참고 : 오라클 19c dbca 기본 템플릿과 컴포넌트(옵션) ( https://positivemh.tistory.com/1197 )

 

 

본문에서는 사일런트 모드로 dbca를 수행할때 각 템플릿에서 컴포넌트를 모두 false로 했을때 설치후 어떤 컴포넌트가 설치되는지 확인해봄
각각 General_Purpose, Data_Warehouse, Custom 3개 템플릿으로 확인해봄

 

 

테스트
1. General_Purpose 템플릿 false 후 dbca silent 수행
2. Data_Warehouse 템플릿 false 후 dbca silent 수행
3. Custom 템플릿 false 후 dbca silent 수행

 

 

테스트
1. General_Purpose 템플릿 false 후 dbca silent 수행
먼저 dbca.rsp 파일 수정(요약)

1
2
3
4
5
6
7
8
9
10
11
12
13
$ cd $ORACLE_HOME/assistants/dbca/
$ cp dbca.rsp dbca.rspbak
$ vi dbca.rsp
gdbName=general
sid=general
templateName=General_Purpose.dbc
sysPassword=oracle
systemPassword=oracle
storageType=FS
characterSet=KO16MSWIN949
listeners=LISTENER
automaticMemoryManagement=FALSE
totalMemory=1300

*참고로 rsp 파일에서 Mandatory 가 No 인 항목은 굳이 값을 넣지 않아도됨
Yes 인 항목중에서 Default value 를 변경하고 싶은 경우에만 수정하면됨

 

 

General_Purpose 템플릿 수정, 옵션들 모두 true 에서 false 로 변경

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
$ cd $ORACLE_HOME/assistants/dbca/templates/
$ cp General_Purpose.dbc General_Purpose.dbcbak
$ vi General_Purpose.dbc
--기존
<DatabaseTemplate name="General Purpose" description=" " version="19.0.0.0.0">
   <CommonAttributes>
      <option name="OMS" value="true" includeInPDBs="true"/>
      <option name="JSERVER" value="true" includeInPDBs="true"/>
      <option name="SPATIAL" value="true" includeInPDBs="true"/>
      <option name="IMEDIA" value="true" includeInPDBs="true"/>
      <option name="ORACLE_TEXT" value="true" includeInPDBs="true">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="SAMPLE_SCHEMA" value="false" includeInPDBs="false"/>
      <option name="CWMLITE" value="true" includeInPDBs="true">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="APEX" value="false" includeInPDBs="false"/>
      <option name="DV" value="true" includeInPDBs="true"/>
   </CommonAttributes>
 
--변경
<DatabaseTemplate name="General Purpose" description=" " version="19.0.0.0.0">
   <CommonAttributes>
      <option name="OMS" value="false" includeInPDBs="false"/>
      <option name="JSERVER" value="false" includeInPDBs="false"/>
      <option name="SPATIAL" value="false" includeInPDBs="false"/>
      <option name="IMEDIA" value="false" includeInPDBs="false"/>
      <option name="ORACLE_TEXT" value="false" includeInPDBs="false">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="SAMPLE_SCHEMA" value="false" includeInPDBs="false"/>
      <option name="CWMLITE" value="false" includeInPDBs="false">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="APEX" value="false" includeInPDBs="false"/>
      <option name="DV" value="false" includeInPDBs="false"/>
   </CommonAttributes>

 

 

dbca 수행

1
2
$ dbca -silent -createDatabase -responsefile $ORACLE_HOME/assistants/dbca/dbca.rsp
(로그 생략)

 

 

컴포넌트 확인

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
$ export ORACLE_SID=general
$ sqlplus / as sysdba
SQL>
set lines 200 pages 1000
col comp_id for a15
col comp_name for a50
col version for a10
col status for a10
select comp_id, comp_name, version, status 
from dba_registry
order by comp_id;
 
COMP_ID         COMP_NAME                                          VERSION    STATUS
--------------- -------------------------------------------------- ---------- ----------
APS             OLAP Analytic Workspace                            19.0.0.0.0 VALID
CATALOG         Oracle Database Catalog Views                      19.0.0.0.0 VALID
CATJAVA         Oracle Database Java Packages                      19.0.0.0.0 VALID
CATPROC         Oracle Database Packages and Types                 19.0.0.0.0 VALID
CONTEXT         Oracle Text                                        19.0.0.0.0 VALID
DV              Oracle Database Vault                              19.0.0.0.0 VALID
JAVAVM          JServer JAVA Virtual Machine                       19.0.0.0.0 VALID
OLS             Oracle Label Security                              19.0.0.0.0 VALID
ORDIM           Oracle Multimedia                                  19.0.0.0.0 VALID
OWM             Oracle Workspace Manager                           19.0.0.0.0 VALID
RAC             Oracle Real Application Clusters                   19.0.0.0.0 OPTION OFF
SDO             Spatial                                            19.0.0.0.0 VALID
XDB             Oracle XML Database                                19.0.0.0.0 VALID
XML             Oracle XDK                                         19.0.0.0.0 VALID
XOQ             Oracle OLAP API                                    19.0.0.0.0 VALID
 
15 rows selected.

General_Purpose 템플릿으로 설치한 경우 분명 false로 하였지만 컴포넌트가 모두 설치됨

 

 

2. Data_Warehouse 템플릿 false 후 dbca silent 수행
dbca.rsp 파일 수정(요약)

1
2
3
4
5
6
7
8
9
10
11
12
13
$ cd $ORACLE_HOME/assistants/dbca/
$ cp dbca.rsp dbca.rspbak
$ vi dbca.rsp
gdbName=dataware
sid=dataware
templateName=Data_Warehouse.dbc
sysPassword=oracle
systemPassword=oracle
storageType=FS
characterSet=KO16MSWIN949
listeners=LISTENER
automaticMemoryManagement=FALSE
totalMemory=1300

*참고로 rsp 파일에서 Mandatory 가 No 인 항목은 굳이 값을 넣지 않아도됨
Yes 인 항목중에서 Default value 를 변경하고 싶은 경우에만 수정하면됨

 

 

Data_Warehouse 템플릿 수정, 옵션들 모두 true 에서 false 로 변경

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
$ cd $ORACLE_HOME/assistants/dbca/templates/
$ $ cp Data_Warehouse.dbc Data_Warehouse.dbcbak
$ vi Data_Warehouse.dbc
--기존
<DatabaseTemplate name="Data Warehouse" description=" " version="19.0.0.0.0">
   <CommonAttributes>
      <option name="OMS" value="true" includeInPDBs="true"/>
      <option name="JSERVER" value="true" includeInPDBs="true"/>
      <option name="SPATIAL" value="true" includeInPDBs="true"/>
      <option name="IMEDIA" value="true" includeInPDBs="true"/>
      <option name="ORACLE_TEXT" value="true" includeInPDBs="true">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="SAMPLE_SCHEMA" value="false" includeInPDBs="false">
         <tablespace id="EXAMPLE"/>
      </option>
      <option name="CWMLITE" value="true" includeInPDBs="true">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="APEX" value="false" includeInPDBs="false"/>
      <option name="DV" value="true" includeInPDBs="true"/>
   </CommonAttributes>
 
--변경
<DatabaseTemplate name="Data Warehouse" description=" " version="19.0.0.0.0">
   <CommonAttributes>
      <option name="OMS" value="false" includeInPDBs="false"/>
      <option name="JSERVER" value="false" includeInPDBs="false"/>
      <option name="SPATIAL" value="false" includeInPDBs="false"/>
      <option name="IMEDIA" value="false" includeInPDBs="false"/>
      <option name="ORACLE_TEXT" value="false" includeInPDBs="false">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="SAMPLE_SCHEMA" value="false" includeInPDBs="false">
         <tablespace id="EXAMPLE"/>
      </option>
      <option name="CWMLITE" value="false" includeInPDBs="false">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="APEX" value="false" includeInPDBs="false"/>
      <option name="DV" value="false" includeInPDBs="false"/>
   </CommonAttributes>

 

 

dbca 수행

1
2
$ dbca -silent -createDatabase -responsefile $ORACLE_HOME/assistants/dbca/dbca.rsp
(로그 생략)

 

 

컴포넌트 확인

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
$ export ORACLE_SID=dataware
$ sqlplus / as sysdba
SQL>
set lines 200 pages 1000
col comp_id for a15
col comp_name for a50
col version for a10
col status for a10
select comp_id, comp_name, version, status 
from dba_registry
order by comp_id;
 
COMP_ID         COMP_NAME                                          VERSION    STATUS
--------------- -------------------------------------------------- ---------- ----------
APS             OLAP Analytic Workspace                            19.0.0.0.0 VALID
CATALOG         Oracle Database Catalog Views                      19.0.0.0.0 VALID
CATJAVA         Oracle Database Java Packages                      19.0.0.0.0 VALID
CATPROC         Oracle Database Packages and Types                 19.0.0.0.0 VALID
CONTEXT         Oracle Text                                        19.0.0.0.0 VALID
DV              Oracle Database Vault                              19.0.0.0.0 VALID
JAVAVM          JServer JAVA Virtual Machine                       19.0.0.0.0 VALID
OLS             Oracle Label Security                              19.0.0.0.0 VALID
ORDIM           Oracle Multimedia                                  19.0.0.0.0 VALID
OWM             Oracle Workspace Manager                           19.0.0.0.0 VALID
RAC             Oracle Real Application Clusters                   19.0.0.0.0 OPTION OFF
SDO             Spatial                                            19.0.0.0.0 VALID
XDB             Oracle XML Database                                19.0.0.0.0 VALID
XML             Oracle XDK                                         19.0.0.0.0 VALID
XOQ             Oracle OLAP API                                    19.0.0.0.0 VALID
 
15 rows selected.

Data_Warehouse 템플릿도 분명 false로 하였지만 컴포넌트가 모두 설치됨

 

 

3. Custom 템플릿 false 후 dbca silent 수행
dbca.rsp 파일 수정(요약)

1
2
3
4
5
6
7
8
9
10
11
12
13
$ cd $ORACLE_HOME/assistants/dbca/
$ cp dbca.rsp dbca.rspbak
$ vi dbca.rsp
gdbName=custom
sid=custom
templateName=New_Database.dbt
sysPassword=oracle
systemPassword=oracle
storageType=FS
characterSet=KO16MSWIN949
listeners=LISTENER
automaticMemoryManagement=FALSE
totalMemory=1300

*참고로 rsp 파일에서 Mandatory 가 No 인 항목은 굳이 값을 넣지 않아도됨
Yes 인 항목중에서 Default value 를 변경하고 싶은 경우에만 수정하면됨

 

 

Custom 템플릿 수정, 옵션들 모두 true 에서 false 로 변경

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
$ cd $ORACLE_HOME/assistants/dbca/templates/
$ $ cp New_Database.dbt New_Database.dbtbak
$ vi New_Database.dbt
--기존
<DatabaseTemplate name="New Database" description="" version="19.0.0.0.0">
   <CommonAttributes>
      <option name="OMS" value="false" includeInPDBs="false"/>
      <option name="JSERVER" value="true" includeInPDBs="true"/>
      <option name="SPATIAL" value="true" includeInPDBs="true"/>
      <option name="IMEDIA" value="true" includeInPDBs="true"/>
      <option name="ORACLE_TEXT" value="true" includeInPDBs="true">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="CWMLITE" value="true" includeInPDBs="true">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="SAMPLE_SCHEMA" value="false" includeInPDBs="false"/>
      <option name="APEX" value="false" includeInPDBs="false"/>
      <option name="DV" value="false" includeInPDBs="false"/>
   </CommonAttributes>
 
--변경
<DatabaseTemplate name="New Database" description="" version="19.0.0.0.0">
   <CommonAttributes>
      <option name="OMS" value="false" includeInPDBs="false"/>
      <option name="JSERVER" value="false" includeInPDBs="false"/>
      <option name="SPATIAL" value="false" includeInPDBs="false"/>
      <option name="IMEDIA" value="false" includeInPDBs="false"/>
      <option name="ORACLE_TEXT" value="false" includeInPDBs="false">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="CWMLITE" value="false" includeInPDBs="false">
         <tablespace id="SYSAUX"/>
      </option>
      <option name="SAMPLE_SCHEMA" value="false" includeInPDBs="false"/>
      <option name="APEX" value="false" includeInPDBs="false"/>
      <option name="DV" value="false" includeInPDBs="false"/>
   </CommonAttributes>

 

 

dbca 수행

1
2
$ dbca -silent -createDatabase -responsefile $ORACLE_HOME/assistants/dbca/dbca.rsp
(로그 생략)

 

 

컴포넌트 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ export ORACLE_SID=custom
$ sqlplus / as sysdba
SQL>
set lines 200 pages 1000
col comp_id for a15
col comp_name for a50
col version for a10
col status for a10
select comp_id, comp_name, version, status 
from dba_registry
order by comp_id;
 
COMP_ID         COMP_NAME                                          VERSION    STATUS
--------------- -------------------------------------------------- ---------- ----------
CATALOG         Oracle Database Catalog Views                      19.0.0.0.0 VALID
CATPROC         Oracle Database Packages and Types                 19.0.0.0.0 VALID
OWM             Oracle Workspace Manager                           19.0.0.0.0 VALID
RAC             Oracle Real Application Clusters                   19.0.0.0.0 OPTION OFF
XDB             Oracle XML Database                                19.0.0.0.0 VALID

Custom 템플릿으로 설치한 경우 false로 설정한 컴포넌트가 모두 정상적으로 미설치됨

 

 

결론 :
custom 템플릿을 제외한 다른 템플릿을 사용해서 컴포넌트를 false로 설정한 뒤 silent mode dbca를 수행하면
false로 한것과 다르게 실제로는 컴포넌트가 설치됨
그렇기 때문에 silent mode dbca를 하면서 컴포넌트를 false로 지정하고 싶은 경우 꼭 custom 템플릿을 사용해야함

 

 

참고로 템플릿 파일에서 datafile의 크기는 변경하지 않았기 때문에 dbca시 datafile들을 resize하며 진행되어 느릴수 있음
이때 resize를 해줄수 있는데, 정확히는 silent dbca의 로그중 46%가 나오는 순간부터 datafile 크기 변경이 가능함(alert log를 보면 open 로그가 나오는데 이 이후부터 가능함)

1
2
3
4
5
SQL>
alter database datafile '/app/oracle/oradata/ORACLE19/undotbs01.dbf' resize 1g;
alter database tempfile '/app/oracle/oradata/ORACLE19/temp01.dbf' resize 1g;
alter database datafile '/app/oracle/oradata/ORACLE19/sysaux01.dbf' resize 1g;
alter database datafile '/app/oracle/oradata/ORACLE19/system01.dbf' resize 1500m;

 

 

참조 : 

Oracle Linux 8.4에 Oracle 19c Silent 모드 설치 가이드 ( https://positivemh.tistory.com/1152 )
오라클 19c dbca 기본 템플릿과 컴포넌트(옵션) ( https://positivemh.tistory.com/1197 )
https://cafe.naver.com/prodba/56055

https://surmin.net/2025/03/03/general_purpose%ec%99%80-new_database-dbt-%ec%b0%a8%ec%9d%b4/