2021. 10. 29. 22:57 오라클
Oracle 21c Read-only Home 테스트
Oracle 21c Read-only Home 테스트 
Read-Only Home 이란? 
18c 에 처음 소개된 개념이며, 읽기 전용 Oracle 홈을 사용하면 여러 서버에 자동으로 원활하게 배포할 수 있는 Oracle 소프트웨어를 쉽고 유연하며 소프트웨어 이미지 기반으로 배포할 수 있습니다. 읽기 전용 Oracle 홈은 또한 확장된 다운타임 없이 Oracle Database의 패치 및 업데이트를 가능하게 합니다. 패치는 단순히 정의된 위치에서 주어진 바이너리 세트를 교체하는 것을 의미하기 때문입니다. 
21c 의 경우 parameter 화일 default 위치가 read-only home 때문에 아래와 같은 위치에 생성됨. 
/oracle/app/oracle/dbs 
/oracle/app/oracle/homes/OraDB21Home1/network/admin/ 
- S/W Only 로 engine 만 설치한 상태 
- orabasetab 확인 Y 인 상태이면 , read-only home 이 활성화 되어 있는것임. 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/install# cat orabasetab 
#orabasetab file is used to track Oracle Home associated with Oracle Base 
/oracle/app/oracle/product/21.0.0/dbhome_1:/oracle/app/oracle:OraDB21Home1:Y: 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/bin# ./orabasehome 
/oracle/app/oracle/homes/OraDB21Home1 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/bin# ./orabaseconfig 
/oracle/app/oracle 
- read-only home 을 비활성화 함. 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/bin# ./roohctl -disable 
Disabling Read-Only Oracle home. 
Update orabasetab file to disable Read-Only Oracle home. 
Orabasetab file has been updated successfully. 
Read-Only Oracle home has been disabled successfully. 
Check the log file /oracle/app/oracle/cfgtoollogs/roohctl/roohctl-210928AM112828.log for more details. 
- orabasetab 확인 Y->N 로 바뀌어 있음. 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/install# cat orabasetab 
#orabasetab file is used to track Oracle Home associated with Oracle Base 
/oracle/app/oracle/product/21.0.0/dbhome_1:/oracle/app/oracle:OraDB21Home1:N: 
- - read-only home 을 다시 활성화 함. 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/bin# ./roohctl -enable 
Enabling Read-Only Oracle home. 
Update orabasetab file to enable Read-Only Oracle home. 
Orabasetab file has been updated successfully. 
Create bootstrap directories for Read-Only Oracle home. 
Bootstrap directories have been created successfully. 
Bootstrap files have been processed successfully. 
Bootstrap files have been processed successfully. 
Read-Only Oracle home has been enabled successfully. 
Check the log file /oracle/app/oracle/cfgtoollogs/roohctl/roohctl-210928AM113155.log for more details. 
- orabasetab 확인 N->Y 로 바뀌어 있음. 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/install# cat orabasetab 
#orabasetab file is used to track Oracle Home associated with Oracle Base 
/oracle/app/oracle/product/21.0.0/dbhome_1:/oracle/app/oracle:OraDB21Home1:Y: 
- Listener 와 DB를 start 하고 테스트 
[ORA21C]oracle@:/home/oracle# lsnrctl start 
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 28-SEP-2021 11:33:59 
Copyright (c) 1991, 2021, Oracle.  All rights reserved. 
Starting /oracle/app/oracle/product/21.0.0/dbhome_1/bin/tnslsnr: please wait... 
TNSLSNR for Linux: Version 21.0.0.0.0 - Production 
System parameter file is /oracle/app/oracle/homes/OraDB21Home1/network/admin/listener.ora 
Log messages written to /oracle/app/oracle/diag/tnslsnr/ora21c/listener/alert/log.xml 
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora21c)(PORT=1521))) 
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora21c)(PORT=1521))) 
STATUS of the LISTENER 
------------------------ 
Alias                     LISTENER 
Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production 
Start Date                28-SEP-2021 11:33:59 
Uptime                    0 days 0 hr. 0 min. 0 sec 
Trace Level               off 
Security                  ON: Local OS Authentication 
SNMP                      OFF 
Listener Parameter File   /oracle/app/oracle/homes/OraDB21Home1/network/admin/listener.ora 
Listener Log File         /oracle/app/oracle/diag/tnslsnr/ora21c/listener/alert/log.xml 
Listening Endpoints Summary... 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora21c)(PORT=1521))) 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) 
The listener supports no services 
The command completed successfully 
SQL> startup 
SQL> show parameter pfile 
NAME                                 TYPE        VALUE 
------------------------------------ ----------- ------------------------------ 
spfile                               string      /oracle/app/oracle/dbs/spfileORA21C.ora 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/bin# ./roohctl -disable 
Disabling Read-Only Oracle home. 
Update orabasetab file to disable Read-Only Oracle home. 
Orabasetab file has been updated successfully. 
Read-Only Oracle home has been disabled successfully. 
Check the log file /oracle/app/oracle/cfgtoollogs/roohctl/roohctl-210928PM125107.log for more details. 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/bin# ./roohctl -enable 
Enabling Read-Only Oracle home. 
Cannot enable Read-Only Oracle home in a configured Oracle home. 
[ORA21C]oracle@:/oracle/app/oracle/product/21.0.0/dbhome_1/install# cat orabasetab 
#orabasetab file is used to track Oracle Home associated with Oracle Base 
/oracle/app/oracle/product/21.0.0/dbhome_1:/oracle/app/oracle:OraDB21Home1:N: 
* 테스트 결과  
=> 21c는 read-only home이  Default 이므로 disable 했을 경우는 Configuration 화일 및 listener.ora 화일 등을 기존과 같은 $ORACLE_HOME/dbs 또는 $ORACLE_HOME/network/admin 아래로 생성하고 기동해 주어야 함. 
=> binary 만 있는 상태에서 read-only home 을 disable <-> enable 하는 것은 허용 
=> listener 및 DB 가 생성된 상태에서 한번 Disable 한  read-only home 을 다시 enable 하는 것은 허용되지 않음 
=> 웬만하면 아직 21c는 쓰지 않는 것이 좋겠다!! 
                                                  
                    



























