반응형

ONNX(Open Neural Network Exchange)

서로 다른 프레임워크(PyTorch, TensorFlow, scikit-learn 등)로 학습한 모델을 하나의 공통 포맷으로 변환해서, 어떤 실행 환경에

서든 동일하게 구동할 수 있게 만든 오픈소스 표준

  • PyTorch, TensorFlow 등 서로 다른 도구로 만든 AI 모델을 '어디서나 실행 가능한 공용 포맷'으로 바꾼 파일
  • 토큰화(tokenization, 문장을 숫자 조각으로 쪼개는 전처리)와 후처리 과정을 DB 밖에서 따로 수행 해야 함
  • Oracle이 토큰화 + 후처리까지 다 포함시켜서 'DB 안에서 바로 쓸 수 있게' 지원하는 버전을 제공

Oracle Directory Object

  • Oracle 프로세스는 서버에서 CREATE DIRECTORY로 '이 폴더는 읽어도 된다'고 등록해줘야, LOAD_ONNX_MODEL이 그 폴더 안의 .onnx 파일을 읽어서 DB 안으로 가져올 수 있음.
[oracle@rhel10nm ~]$ --OS에서 ONNX 모델 파일 다운로드 (DB 서버, oracle OS 계정)
[oracle@rhel10nm ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10nm ~]$ pwd
/home/oracle
[oracle@rhel10nm ~]$
[oracle@rhel10nm ~]$ mkdir -p /home/oracle/onnx
[oracle@rhel10nm ~]$ cd /home/oracle/onnx
[oracle@rhel10nm onnx]$ pwd
/home/oracle/onnx
[oracle@rhel10nm onnx]$ ls
[oracle@rhel10nm onnx]$
[oracle@rhel10nm onnx]$ # Oracle이 공개 제공하는 augmented all-MiniLM-L12-v2 모델 (토큰화+후처리 포함)
[oracle@rhel10nm onnx]$
[oracle@rhel10nm onnx]$ wget https://adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com/p/TtH6hL2y25EypZ0-rrczRZ1aXp7v1ONbRBfCiT-BDBN8WLKQ3lgyW6RxCfIFLdA6/n/adwc4pm/b/OML-ai-models/o/all_MiniLM_L12_v2_augmented.zip
--2026-08-27 15:13:20--  https://adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com/p/TtH6hL2y25EypZ0-rrczRZ1aXp7v1ONbRBfCiT-BDBN8WLKQ3lgyW6RxCfIFLdA6/n/adwc4pm/b/OML-ai-models/o/all_MiniLM_L12_v2_augmented.zip
Resolving adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com (adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com)... 134.70.32.1, 134.70.24.1, 134.70.28.1
Connecting to adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com (adwc4pm.objectstorage.us-ashburn-1.oci.customer-oci.com)|134.70.32.1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 122537890 (117M) [application/x-zip-compressed]
Saving to: ‘all_MiniLM_L12_v2_augmented.zip’
all_MiniLM_L12_v2_augmented.zip                     100%[=================================================================================================================>] 116.86M  13.4MB/s    in 9.1s
2026-08-27 15:13:31 (12.9 MB/s) - ‘all_MiniLM_L12_v2_augmented.zip’ saved [122537890/122537890]
[oracle@rhel10nm onnx]$ ls
all_MiniLM_L12_v2_augmented.zip
[oracle@rhel10nm onnx]$
[oracle@rhel10nm onnx]$ unzip -oq all_MiniLM_L12_v2_augmented.zip
[oracle@rhel10nm onnx]$
[oracle@rhel10nm onnx]$ ls -ltrh
total 245M
-rw-rw-rw-. 1 oracle dba 4.2K Oct 30  2025 README-ALL_MINILM_L12_V2-augmented.txt
-rw-rw-rw-. 1 oracle dba  12K Oct 30  2025 LICENSE_ATTRIBUTION.txt
-rw-rw-rw-. 1 oracle dba 128M Oct 30  2025 all_MiniLM_L12_v2.onnx
-rw-r--r--. 1 oracle dba 117M Oct 30  2025 all_MiniLM_L12_v2_augmented.zip
[oracle@rhel10nm onnx]$
[oracle@rhel10nm onnx]$ --DB에 전용 스키마 + Directory 준비 (SYS로 접속, PDB1)
[oracle@rhel10nm onnx]$
[oracle@rhel10nm onnx]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10nm onnx]$ env | grep SID
ORACLE_SID=CDB1
[oracle@rhel10nm onnx]$
[oracle@rhel10nm onnx]$ sqlplus "/as sysdba"
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           READ WRITE NO
         4 PDB2                           READ WRITE NO
SQL>
SQL> --PDB1으로 전환
SQL> ALTER SESSION SET CONTAINER = PDB1;
Session altered.
SQL> CREATE USER veclab IDENTIFIED BY "VecLab_2026#"
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL> --Test용 PDB1 User 생성
SQL> CREATE USER veclab IDENTIFIED BY "VecLab_2026#"
  2  DEFAULT TABLESPACE users
  3  QUOTA UNLIMITED ON users;
User created.
SQL>
SQL> -- 생성한 User에 권한 부여
SQL> GRANT CREATE SESSION, CREATE TABLE, CREATE MINING MODEL, CREATE PROCEDURE TO veclab;
Grant succeeded.
SQL> GRANT DB_DEVELOPER_ROLE TO veclab;
Grant succeeded.
SQL>
SQL> --ONNX file을 사용하기 위한 Oracle DB DIRECTORY 등록
SQL> CREATE OR REPLACE DIRECTORY onnx_dir AS '/home/oracle/onnx';
Directory created.
SQL> GRANT READ ON DIRECTORY onnx_dir TO veclab;
Grant succeeded.
SQL>
SQL> --정상 여부 확인
SQL> col username for a20
SQL> SELECT username, account_status FROM dba_users WHERE username = 'VECLAB';
USERNAME             ACCOUNT_STATUS
-------------------- --------------------------------
VECLAB               OPEN
SQL>
SQL> col DIRECTORY_NAME for a20
SQL> col DIRECTORY_PATH for a20
SQL> SELECT directory_name, directory_path FROM dba_directories WHERE directory_name = 'ONNX_DIR';
DIRECTORY_NAME       DIRECTORY_PATH
-------------------- --------------------
ONNX_DIR             /home/oracle/onnx
SQL>
SQL> --VECLAB으로 접속해서 ONNX 모델 임포트
SQL> CONNECT veclab/VecLab_2026#@//localhost:1521/pdb1
Connected.
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL> show user
USER is "VECLAB"
SQL>
SQL> --ONNX model Import
SQL> BEGIN
  2    DBMS_VECTOR.LOAD_ONNX_MODEL(
  3      directory  => 'ONNX_DIR',
  4      file_name  => 'all_MiniLM_L12_v2.onnx',
  5      model_name => 'ALL_MINILM_L12_V2'
  6    );
  7  END;
  8  /
PL/SQL procedure successfully completed.
SQL>
SQL> --정상여부 확인
SQL> COLUMN model_name FORMAT A25
SQL> COLUMN algorithm FORMAT A15
SQL> COLUMN mining_function FORMAT A15
SQL> SELECT model_name, algorithm, mining_function FROM user_mining_models WHERE model_name = 'ALL_MINILM_L12_V2';
MODEL_NAME                ALGORITHM       MINING_FUNCTION
------------------------- --------------- ---------------
ALL_MINILM_L12_V2         ONNX            EMBEDDING
SQL>
SQL> --테스트 텍스트를 벡터로 변환
SQL> show user
USER is "VECLAB"
SQL> SET LONG 100000
SQL> SET LINESIZE 200
SQL> SELECT VECTOR_EMBEDDING(ALL_MINILM_L12_V2 USING 'The quick brown fox jumps over the lazy dog' AS DATA)
  2  AS test_embedding FROM dual;
TEST_EMBEDDING
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7.27472641E-003,3.94164175E-002,-3.63529809E-002,3.40569913E-002,7.38077983E-002,-3.72928614E-003,2.43414138E-002,-1.69392675E-002,-1.97106842E-002,-4.78451438E-002,-8.3883591E-002,2.4791969E-002,-2.
63055749E-002,-2.57971603E-002,-4.28159907E-002,-5.83125232E-003,-5.08827455E-002,-1.05077941E-002,-4.16032301E-004,-3.42693292E-002,-6.62257671E-002,-1.14664502E-001,1.5677426E-002,-7.39935189E-002,-
1.44775271E-001,-1.72944758E-002,9.20829363E-003,4.24537994E-002,1.2161362E-002,-7.14098364E-002,1.7273685E-002,-8.86857212E-002,-1.86133431E-003,3.33312377E-002,-5.71763106E-002,-2.04728041E-002,3.44
428904E-002,-4.95133214E-002,1.58249512E-002,2.69056093E-002,-3.45751792E-002,-7.43386298E-002,-9.40945838E-003,1.52171394E-002,-9.80986208E-002,-2.22156923E-002,-3.76907736E-002,-5.58498353E-002,-3.1
1352536E-002,2.3220893E-002,3.56804058E-002,4.59630042E-002,3.45915556E-002,3.20215635E-002,6.35632798E-002,9.86363925E-003,-2.01135557E-002,7.3931694E-002,-6.55402914E-002,1.88425891E-002,1.1213134E-
002,6.7218937E-002,9.71960276E-003,3.12769376E-002,-1.68751609E-002,2.50172317E-002,-9.20615217E-004,-4.08093818E-002,-7.05079138E-002,-3.37497257E-002,-2.68950872E-002,-1.81127768E-002,-5.95252141E-0
02,-7.0718728E-002,-2.17059837E-003,3.47504094E-002,-2.19118688E-003,4.38221209E-002,3.25402133E-002,6.22476004E-002,2.70780479E-003,-4.53219973E-002,2.84760371E-002,-2.57603712E-002,-2.74007991E-002,
3.5627488E-002,-3.17576677E-002,-2.30809879E-002,2.16004741E-003,4.11533378E-002,5.08004241E-002,1.84189947E-003,3.43771391E-002,1.40050082E-002,5.28799072E-002,1.88343264E-002,2.89154053E-002,-5.6318
8717E-002,-6.01379015E-002,6.09451532E-002,5.83105683E-002,4.18866947E-002,5.97066544E-002,5.09333089E-002,-3.26132439E-002,-1.22141214E-002,-8.54693539E-003,-5.25939427E-002,-5.01750782E-002,2.478141
8E-003,1.80116612E-002,7.2948873E-002,-1.35894679E-002,7.24670961E-002,2.66749952E-002,-2.48892531E-002,-2.69602891E-002,-7.23517835E-002,-4.08692807E-002,-1.18983295E-002,2.4313435E-002,2.85058655E-0
02,-3.94453481E-002,-3.19237672E-002,9.32946615E-003,-5.34039661E-002,-5.28433435E-002,-7.1160242E-002,-7.50006549E-003,-2.34713145E-002,-3.01026972E-003,-1.02288574E-001,5.46803512E-002,-8.55010748E-
TEST_EMBEDDING
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
002,2.57884376E-002,9.64392945E-002,1.5882358E-002,3.72775421E-002,1.53337256E-004,-9.23913345E-002,-3.61148566E-002,-3.4071099E-002,2.00276338E-002,1.02776438E-002,1.20032895E-002,3.38682197E-002,2.6
2828153E-002,2.13216674E-002,1.2369141E-002,1.04263604E-001,7.71290762E-003,1.00194542E-002,-1.41384499E-002,9.35787428E-003,-9.82235596E-002,4.30136509E-002,-3.75015624E-002,3.17726508E-002,-1.417457
16E-001,1.44754082E-003,-8.60898793E-002,6.58875629E-002,-5.31678945E-002,-5.39876521E-002,2.57961284E-002,-1.94553081E-002,-1.08904935E-001,5.46426997E-002,-2.62249857E-002,3.41376252E-002,6.15888238
E-002,-4.08070721E-002,-5.29084131E-002,4.43112701E-002,1.90413687E-002,-2.88552847E-002,-5.12875691E-002,8.97498727E-002,-4.05822769E-002,4.95420434E-002,3.3748351E-002,-3.78138945E-002,2.05466188E-0
02,2.36968063E-002,3.66628473E-003,-1.5464701E-003,-4.99176569E-002,3.96435596E-002,5.63856512E-002,-5.55534028E-002,2.0721199E-002,3.6899941E-003,5.13139777E-002,-9.15281847E-002,-2.07884777E-002,-5.
62714003E-002,5.96410371E-002,-8.54943506E-003,6.09813631E-003,4.04470824E-002,-1.26148085E-003,-5.99631146E-002,8.77182409E-002,1.86878406E-002,6.77058846E-002,-5.22978716E-002,-1.80234145E-002,1.482
65185E-002,6.95227683E-002,-3.25321853E-002,7.94057082E-003,-4.16030362E-002,-5.59887886E-002,3.71988304E-003,3.75413559E-002,-1.83835812E-002,-7.86135122E-002,-3.07354778E-002,-1.72982551E-002,3.7239
641E-002,3.17811295E-002,-7.76121989E-002,5.39433211E-002,-1.83547106E-033,6.38017431E-002,-5.41611873E-002,3.95276286E-002,2.89424285E-002,-3.34081352E-002,1.15875108E-002,-5.89128304E-003,6.70143887
E-002,-4.09157686E-002,4.0011555E-002,-1.30853236E-001,3.36127281E-002,-5.25257289E-002,-4.77315262E-002,9.37665775E-002,1.39252013E-002,2.28652954E-002,-4.38463353E-002,-5.30154333E-002,6.09911382E-0
02,7.39849508E-002,3.70019749E-002,-5.00446521E-002,-2.57534068E-002,-1.79084484E-002,1.54780233E-002,8.31503943E-002,-2.45714448E-002,-7.00978562E-002,-3.30327861E-002,4.67169285E-002,-4.54100817E-00
2,3.82230319E-002,-9.57782194E-002,3.94362696E-002,6.03236482E-002,1.47741111E-002,-8.13552178E-003,2.36197934E-002,-7.638318E-003,-6.80787675E-003,-6.59432262E-003,8.00694451E-002,3.59729119E-002,7.8
TEST_EMBEDDING
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4198418E-002,3.87197025E-002,-6.23896644E-002,4.35032547E-002,2.19463892E-002,1.26554683E-001,7.02712238E-002,-5.53913042E-002,-2.75944769E-002,-5.12937605E-002,-2.95349322E-002,-9.25385486E-003,-1.47
645987E-004,-2.43406501E-002,6.11418001E-002,4.16555218E-002,-2.5843503E-002,3.65665033E-002,5.16044311E-002,-1.60375722E-002,6.29969733E-003,-6.91696554E-002,-5.96453063E-002,-6.0967505E-002,1.032882
85E-001,-9.86881256E-002,-5.27026281E-002,1.01374425E-001,-5.43012209E-002,4.08676267E-002,-2.52883555E-003,4.27443795E-002,6.87300637E-002,6.93401471E-002,-7.89515115E-003,3.42213064E-002,-1.2472501E
-002,2.31973305E-002,1.28745884E-002,-7.82979652E-002,-9.08287168E-002,3.14463191E-002,-2.85022333E-002,6.94327727E-002,9.36976727E-003,-3.37920934E-002,8.19906741E-002,1.96179561E-002,1.15854621E-001
,2.77508684E-002,3.86438444E-002,3.60320375E-032,1.02761962E-001,-9.45156887E-002,-8.50262195E-002,6.01552762E-002,5.28961197E-002,1.56878456E-002,1.0233311E-002,-1.80751383E-002,3.95397656E-002,-1.30
415618E-001,9.63585898E-002,4.45877351E-002,-3.2531444E-002,5.67232333E-002,5.16179167E-002,-4.18803506E-002,3.60975266E-002,4.59649637E-002,5.42055219E-002,4.21679057E-002,-6.07983097E-002,-1.2745867
5E-002,-2.02139616E-002,4.509243E-002,-1.03897244E-001,4.42596897E-002,-7.90395215E-002,6.52060956E-002,-5.79352081E-002,-3.04603837E-002,-7.51199052E-002,6.82846606E-002,-3.52116041E-002,-9.85126793E
-002,-2.80981464E-003,-2.76608858E-002,9.45840627E-002,-2.384644E-002,7.29917511E-002,3.52699473E-003,1.28603838E-002,7.51570091E-002,-8.52195323E-002,-1.73276924E-002,-2.30271617E-004,3.04181892E-002
,-4.15380392E-003,-1.13098837E-001,7.1289517E-002,-9.00436044E-002,2.27503665E-002,1.30587863E-002,4.22072262E-002,6.76362135E-004,-9.93054137E-002,1.01386465E-001,3.6291793E-002,4.37684869E-003,-4.49
340269E-002,2.59448886E-002,-4.603016E-002,3.35446763E-004,9.31107178E-002,6.99038133E-002]
SQL>
SQL> -- 모델이 생성하는 차원의 차수 확인
SQL> SELECT VECTOR_DIMS(
  2  VECTOR_EMBEDDING(ALL_MINILM_L12_V2 USING 'The quick brown fox jumps over the lazy dog' AS DATA)
  3  ) AS dims FROM dual;
      DIMS
----------
       384
SQL>
SQL> exit
[oracle@rhel10nm onnx]$

 

 

청킹(Chunking)과 대량 임베딩 파이프라인

Chunking

  • 임베딩 모델은 한 번에 처리할 수 있는 텍스트 길이에 한계가 있음(all-MiniLM 계열은 보통 256 토큰 안팎). 
  • 긴 문서(논문,매뉴얼 등등)는 통째로 넣을 수 없고, 작은 조각(Chunk)으로 쪼갠 뒤 조각마다 임베딩을 만들어야 함.

Overlap(겹침)

  • 문장을 딱 잘라버리면 문맥이 끊길 수 있어서, 청크끼리 일부러 몇 단어씩 겹치게 잘라 문맥 손실을 줄임
  • 책을 스캔할 때 페이지 경계에서 문장이 잘리지 않도록 앞뒤로 살짝 겹쳐 찍는 것과 유사 함.
[oracle@rhel10nm ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10nm ~]$ env | grep SID
ORACLE_SID=CDB1
[oracle@rhel10nm ~]$
[oracle@rhel10nm ~]$ sqlplus "/as sysdba"
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> --PDB1에 VECLAB으로 접속
SQL> CONNECT veclab/VecLab_2026#@//localhost:1521/pdb1
Connected.
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL> show user
USER is "VECLAB"
SQL>
SQL> --Test용 Table 생성
SQL> CREATE TABLE lab_raw_docs (
  2      doc_id    NUMBER,
  3      doc_title VARCHAR2(100),
  4      doc_text  CLOB
  5  );
Table created.
SQL>
SQL> desc lab_raw_docs
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DOC_ID                                             NUMBER
 DOC_TITLE                                          VARCHAR2(100)
 DOC_TEXT                                           CLOB
SQL>
SQL> --Chunk되지 않은 Law Data Insert
SQL> INSERT INTO lab_raw_docs VALUES (
  2  1,
  3    'Oracle DB Guide',
  4    'Oracle Data Guard is Oracle''s primary high availability and disaster recovery solution. It maintains one or more standby databases that are transactionally consistent
  5  copies of a production database. When the production database becomes unavailable, Data Guard can switch any standby to the production role, minimizing downtime. Active
  6  Data Guard extends this capability by allowing the standby database to be opened for read-only queries and reporting while apply continues in real time.'
  7  );
1 row created.
SQL> commit;
Commit complete.
SQL>
SQL> SET LONG 100000
SQL> SET LINESIZE 200
SQL> COLUMN chunk_data FORMAT A80
SQL>
SQL> SELECT
  2      JSON_VALUE(ct.column_value, '$.chunk_id' RETURNING NUMBER) AS chunk_id,
  3      JSON_VALUE(ct.column_value, '$.chunk_data')                AS chunk_data
  4  FROM lab_raw_docs dt,
  5       DBMS_VECTOR_CHAIN.UTL_TO_CHUNKS(
  6          dt.doc_text,
  7          JSON('{"by":"words", "max":"30", "overlap":"8", "normalize":"all"}')
  8       ) ct
  9  WHERE dt.doc_id = 1
 10  ORDER BY chunk_id;
  CHUNK_ID CHUNK_DATA
---------- --------------------------------------------------------------------------------
         1 Oracle Data Guard is Oracle's primary high availability and disaster recovery so
           lution. It maintains one or more standby databases that are transactionally cons
           istent

         2 or more standby databases that are transactionally consistent
           copies of a production database. When the production database becomes unavailabl
           e, Data Guard can switch any standby to the production

         3 Guard can switch any standby to the production role, minimizing downtime. Active
         4 the production role, minimizing downtime. Active
           Data Guard extends this capability by allowing the standby database to be opened

  CHUNK_ID CHUNK_DATA
---------- --------------------------------------------------------------------------------
            for read-only queries and reporting while apply

         5 read-only queries and reporting while apply continues in real time'.
SQL> --1번 청크 끝과 2번 청크 시작을 비교해보면 "or more standby databases that are transactionally consistent"(8단어) 중복 됨
SQL> --청크 + 임베딩 결합 파이프라인
SQL> CREATE TABLE lab_doc_chunks AS
  2  SELECT
  3      dt.doc_id,
  4      et.embed_id                AS chunk_id,
  5      et.embed_data               AS chunk_text,
  6      TO_VECTOR(et.embed_vector)  AS chunk_embedding
  7  FROM lab_raw_docs dt,
  8       DBMS_VECTOR_CHAIN.UTL_TO_EMBEDDINGS(
  9          DBMS_VECTOR_CHAIN.UTL_TO_CHUNKS(
 10              dt.doc_text,
 11              JSON('{"by":"words", "max":"30", "overlap":"8", "normalize":"all"}')
 12          ),
 13          JSON('{"provider":"database", "model":"ALL_MINILM_L12_V2"}')
 14       ) t,
 15       JSON_TABLE(t.column_value, '$[*]'
 16          COLUMNS (
 17              embed_id     NUMBER         PATH '$.embed_id',
 18              embed_data   VARCHAR2(4000) PATH '$.embed_data',
 19              embed_vector CLOB           PATH '$.embed_vector'
 20          )
 21       ) et
 22  WHERE dt.doc_id = 1;
Table created.
SQL>
SQL> COLUMN chunk_text FORMAT A80
SQL> SELECT doc_id, chunk_id, chunk_text, VECTOR_DIMS(chunk_embedding) AS dims
  2  FROM lab_doc_chunks ORDER BY chunk_id;
    DOC_ID   CHUNK_ID CHUNK_TEXT                                                                             DIMS
---------- ---------- -------------------------------------------------------------------------------- ----------
         1          1 Oracle Data Guard is Oracle's primary high availability and disaster recovery so        384
                      lution. It maintains one or more standby databases that are transactionally cons
                      istent

         1          2 or more standby databases that are transactionally consistent                           384
                      copies of a production database. When the production database becomes unavailabl
                      e, Data Guard can switch any standby to the production

         1          3 Guard can switch any standby to the production role, minimizing downtime. Active        384
         1          4 the production role, minimizing downtime. Active                                        384
                      Data Guard extends this capability by allowing the standby database to be opened

    DOC_ID   CHUNK_ID CHUNK_TEXT                                                                             DIMS
---------- ---------- -------------------------------------------------------------------------------- ----------
                       for read-only queries and reporting while apply

         1          5 read-only queries and reporting while apply continues in real time'.                     384
SQL> --위와 같이 5개 청크가 나오되, 이번엔 각 청크마다 DIMS = 384인 실제 임베딩 되어야 함
SQL> exit
[oracle@rhel10nm ~]$

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

Oracle Ai Vector 개념

벡터 하나를 '설문지 응답'이라고 생각해보면 세 가지 저장 방식의 차이있음

  • Dense (밀집) 벡터 
    • 문항 100개짜리 설문지에서 응답자가 모든 문항에 빠짐없이 답한 경우
    • 답이 0이어도 그 자리에 0이 물리적으로 저장
    • 텍스트 임베딩이 바로 이 형태임
  • Sparse (희소) 벡터
    • 문항 10000개짜리 설문지인데 응답자가 어차피 대부분 "해당 없음"이라서 답한 문항 몇 개만 기록하는 경우
    • '3번 문항=7점, 158번 문항=2점'처럼 (위치, 값) 쌍만 저장하니 공간이 훨씬 절약
    • 키워드 검색(BM25, TF-IDF류)에서 주로 사용
  • Binary (이진) 벡터 
    • 문항 하나하나가 그냥 'Yes/No(0/1)'인 체크리스트
    • 숫자 하나에 8개 문항(비트)을 사용하여 저장공간이 극도로 작고, 비교 연산(해밍 거리)도 매우빠름
    • 그러나 정밀도는 가장 낮으며 정확도보다 일단 후보를 확 걸러내는 1차 필터링 용도로 사용
[oracle@rhel10nm ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10nm ~]$ env | grep SID
ORACLE_SID=CDB1
[oracle@rhel10nm ~]$
[oracle@rhel10nm ~]$ sqlplus "/as sysdba"
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> --PDB1 접속
SQL> ALTER SESSION SET CONTAINER = PDB1;
Session altered.
SQL> --PDB1 접속 확인
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL>
SQL> --Dense vector
SQL> --DROP TABLE vec_lab_dense PURGE;
SQL> CREATE TABLE vec_lab_dense (
  2  id  NUMBER,
  3  v32 VECTOR(3, FLOAT32),  -- 32bit float: 실제 임베딩 모델이 가장 흔히 쓰는 포맷
  4  v64 VECTOR(3, FLOAT64),  -- 64bit float: 정밀도,저장공간 2배
  5  v8  VECTOR(3, INT8)      -- 8bit 정수: 저장공간 최소, 정밀도 최저
  6  );
Table created.
SQL> desc vec_lab_dense
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER
 V32                                                VECTOR(3, FLOAT32, DENSE)
 V64                                                VECTOR(3, FLOAT64, DENSE)
 V8                                                 VECTOR(3, INT8, DENSE)
SQL>
SQL> INSERT INTO vec_lab_dense
  2  VALUES (1, '[1.625, 1.5, 1.0]', '[11.25, 11.75, 11.5]', '[10, 20, 30]');
1 row created.
SQL> commit;
Commit complete.
SQL> set linesize 120
SQL> col V32 for a30
SQL> col V64 for a40
SQL> col v8 for a30
SQL> --입력한 세 벡터가 그대로 조회돼야 함
SQL> SELECT * FROM vec_lab_dense;
        ID V32                            V64                                      V8
---------- ------------------------------ ---------------------------------------- ------------------------------
         1 [1.625E+000,1.5E+000,1.0E+000] [1.125E+001,1.175E+001,1.15E+001]        [10,20,30]
SQL>
SQL> --1.625E+000은 1.625를 지수 표기법(E+000 = ×10⁰ = ×1)
SQL> --입력:[11.25, 11.75, 11.5] -> 출력:[1.125E+001, 1.175E+001, 1.15E+001] (11.25 = 1.125×10¹)
SQL>
SQL> -- Sparse vector
SQL> -- DROP TABLE vec_lab_sparse PURGE;
SQL>
SQL> CREATE TABLE vec_lab_sparse (
  2  id   NUMBER,
  3  v_sp VECTOR(25, FLOAT32, SPARSE)
  4  );
Table created.
SQL>
SQL> desc vec_lab_sparse
 Name                                                              Null?    Type
 ----------------------------------------------------------------- -------- --------------------------------------------
 ID                                                                         NUMBER
 V_SP                                                                       VECTOR(25, FLOAT32, SPARSE)
SQL>
SQL> -- 전체 25차원 중 5, 8, 11번 위치에만 값이 있고 나머지 22개는 0
SQL> INSERT INTO vec_lab_sparse VALUES (1, '[25,[5,8,11],[25.25,6.125,8.25]]');
1 row created.
SQL> commit;
Commit complete.
SQL>
SQL> col V_SP for a50
SQL> SELECT id, v_sp FROM vec_lab_sparse;
        ID V_SP
---------- --------------------------------------------------
         1 [25,[5,8,11],[2.525E+001,6.125E+000,8.25E+000]]
SQL> -- SELECT결과는 압축된 [25,[5,8,11],[25.25,6.125,8.25]] 형식으로 출력 되어야 함
SQL>
SQL> -- TO_VECTOR로 Dense 변환하여 25개 값을 확인
SQL> set linesize 120
SQL> col V_SP_AS_DENSE for a80
SQL> SELECT id, TO_VECTOR(v_sp, 25, FLOAT32, DENSE) AS v_sp_as_dense FROM vec_lab_sparse;
        ID V_SP_AS_DENSE
---------- --------------------------------------------------------------------------------
         1 [0,0,0,0,0,2.525E+001,0,0,6.125E+000,0,0,8.25E+000,0,0,0,0,0,0,
SQL> --SELECT결과는 25개 숫자가 다 출력되어야 하며 5, 8, 11번째 자리만 값이 있고 나머지는 0이어야 함
SQL> --위 2개의 Select 결과는 압축 형태와 실제 내용이 같은 데이터의 두 가지 표현 차이
SQL> 
SQL> -- Binary vector
SQL> -- DROP TABLE vec_lab_binary PURGE;
SQL>
SQL> CREATE TABLE vec_lab_binary (
  2  id    NUMBER,
  3  v_bin VECTOR(16, BINARY)   -- 16차원 = 2바이트
  4  );
Table created.
SQL>
SQL> desc vec_lab_binary
 Name                                                              Null?    Type
 ----------------------------------------------------------------- -------- --------------------------------------------
 ID                                                                         NUMBER
 V_BIN                                                                      VECTOR(16, BINARY, DENSE)
SQL>
SQL> -- 201 = 이진수 11001001, 15 = 이진수 00001111
SQL> -- 이 두 바이트가 합쳐져서 16개의 개별 비트(차원)를 표현함
SQL> INSERT INTO vec_lab_binary VALUES (1, '[201, 15]');
1 row created.
SQL> commit;
Commit complete.
SQL> col V_BIN for a50
SQL> SELECT id, v_bin FROM vec_lab_binary;
        ID V_BIN
---------- --------------------------------------------------
         1 [201,15]
SQL>
SQL> -- 실습용 Sample Table 생성(문서 1000건 벡터 대량 적재)
SQL> -- lab_documents: a small "document + vector" table.
SQL> -- DROP TABLE lab_documents PURGE;
SQL>
SQL> CREATE TABLE lab_documents (
  2  doc_id    NUMBER,
  3  doc_title VARCHAR2(100),
  4  embedding VECTOR(8, FLOAT32)
  5  );
Table created.
SQL>
SQL> desc lab_documents
 Name                                                              Null?    Type
 ----------------------------------------------------------------- -------- --------------------------------------------
 DOC_ID                                                                     NUMBER
 DOC_TITLE                                                                  VARCHAR2(100)
 EMBEDDING                                                                  VECTOR(8, FLOAT32, DENSE)
SQL>
SQL> INSERT INTO lab_documents (doc_id, doc_title, embedding)
  2  SELECT
  3      LEVEL,
  4      'Document ' || LEVEL,
  5      TO_VECTOR(
  6          '[' ||
  7          ROUND(DBMS_RANDOM.VALUE(0,1),3) || ',' ||
  8          ROUND(DBMS_RANDOM.VALUE(0,1),3) || ',' ||
  9          ROUND(DBMS_RANDOM.VALUE(0,1),3) || ',' ||
 10          ROUND(DBMS_RANDOM.VALUE(0,1),3) || ',' ||
 11          ROUND(DBMS_RANDOM.VALUE(0,1),3) || ',' ||
 12          ROUND(DBMS_RANDOM.VALUE(0,1),3) || ',' ||
 13          ROUND(DBMS_RANDOM.VALUE(0,1),3) || ',' ||
 14          ROUND(DBMS_RANDOM.VALUE(0,1),3) ||
 15          ']'
 16      )
 17  FROM dual
 18  CONNECT BY LEVEL <= 1000;
1000 rows created.
SQL> commit;
Commit complete.
SQL>
SQL> -- 전체 1000건 확인
SQL> SELECT COUNT(*) AS row_count FROM lab_documents;
 ROW_COUNT
----------
      1000
SQL>
SQL> -- 샘플 3건 확인 - 8개 숫자가 채워진 벡터가 보여야 함
SQL> col EMBEDDING for a80
SQL> col DOC_TITLE for a15
SQL> SELECT doc_id, doc_title, embedding FROM lab_documents WHERE doc_id <= 3;
    DOC_ID DOC_TITLE       EMBEDDING
---------- --------------- --------------------------------------------------------------------------------
         1 Document 1      [5.42999983E-001,3.81999999E-001,9.3900001E-001,6.14000022E-001,
         2 Document 2      [5.66999972E-001,9.60000008E-002,3.2100001E-001,6.74000025E-001,
         3 Document 3      [7.9400003E-001,3.31E-001,4.79999989E-001,2.56000012E-001,7.54999995E-001,
SQL> --ROW_COUNT가 1000, 샘플 조회에서 각 행마다 8개 실수로 채워진 벡터가 보이면 성공
SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production
Version 23.26.2.0.0
[oracle@rhel10nm ~]$

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

COMPATIBLE 파라미터 확인 및 변경

COMPATIBLE은 오라클이 디스크에 데이터를 저장하는 내부 포맷의 버전이고 Binary 벡터 타입은 '23.5.0.0.0'이상, Sparse 벡터 타입은 '23.7.0.0.0' 이상 이어함
주의 : COMPATIBLE 값은 한 번 올리면 절대 못 내림

[oracle@rhel10nm ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10nm ~]$ env | grep SID
ORACLE_SID=CDB1
[oracle@rhel10nm ~]$
[oracle@rhel10nm ~]$ sqlplus "/as sysdba"
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           READ WRITE NO
         4 PDB2                           READ WRITE NO
SQL>
SQL> show con_id
CON_ID
------------------------------
1
SQL> -- 이 CDB 안에 어떤 컨테이너(PDB)들이 있는지 전체 목록 확인
SQL> COLUMN NAME FORMAT A15 
SQL> SELECT con_id, name, open_mode FROM v$containers ORDER BY con_id;
    CON_ID NAME            OPEN_MODE
---------- --------------- ----------
         1 CDB$ROOT        READ WRITE
         2 PDB$SEED        READ ONLY
         3 PDB1            READ WRITE
         4 PDB2            READ WRITE
SQL>
SQL> -- 현재 COMPATIBLE 값 확인
SQL> col VALUE for a30
SQL> SELECT name, value FROM v$parameter WHERE name = 'compatible';
NAME            VALUE
--------------- ------------------------------
compatible      23.6.0
SQL>
--COMPATIBLE 변경이 필요한 경우에만 실행
--COMPATIBLE 변경
SQL>
SQL> ALTER SYSTEM SET COMPATIBLE = '23.7.0' SCOPE=SPFILE;
System altered.
SQL> -- COMPATIBLE 변경은 SPFILE에만 반영되며, 재시작해야 실제로 적용됨
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 3251890192 bytes
Fixed Size                  5031952 bytes
Variable Size             771751936 bytes
Database Buffers         2466250752 bytes
Redo Buffers                8855552 bytes
Database mounted.
Database opened.
SQL>
SQL> show parameter COMPATIBLE

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      23.7.0
noncdb_compatible                    boolean     FALSE
SQL>
SQL> -- COMPATIBLE 변경 확인
SQL> col NAME for a20
SQL> col VALUE for a30
SQL> SELECT name, value FROM v$parameter WHERE name = 'compatible';
NAME                 VALUE
-------------------- ------------------------------
compatible           23.7.0
SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production
Version 23.26.2.0.0
[oracle@rhel10nm ~]$

 

Vector Memory Pool

Oracle DB 26ai부터는 여기에 Vector Memory Pool 추가 됨. Vector Memory Pool은 벡터 인덱스(HNSW 그래프 구조 등)를 디스크가 아니라 메모리에 올려놓고 빠르게 검색하기 위한 전용 공간

Vector Memory Pool 공간의 크기를 정하는 파라미터가 VECTOR_MEMORY_SIZE이고, CDB에서 설정하는 것과 PDB에서 설정하는 것의 의미가 다름

  • CDB 레벨: Oracle DB 26ai 전체에서 사용 가능한 공간(Size)
  • PDB 레벨: Oracle DB 26ai 전체에서 사용 가능한 공간에서 각각 PDB가 할당 받은 공간(Size)
[oracle@rhel10nm ~]$ --CDB Level에서 Vector Memory Pool 설정
[oracle@rhel10nm ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10nm ~]$ env | grep SID
ORACLE_SID=CDB1
[oracle@rhel10nm ~]$
[oracle@rhel10nm ~]$ sqlplus "/as sysdba"
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> show parameter VECTOR_MEMORY_SIZE
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
vector_memory_size                   big integer 0
SQL>
SQL> -- CDB 전체에서 AI VECTOR_MEMORY_SIZE Parameter 512MB로 설정
SQL> ALTER SYSTEM SET VECTOR_MEMORY_SIZE = 512M SCOPE=SPFILE;
System altered.
SQL> --Oracle DB 재기동
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> STARTUP;
ORACLE instance started.
Total System Global Area 3251890192 bytes
Fixed Size                  5031952 bytes
Variable Size             587202560 bytes
Database Buffers         2113929216 bytes
Redo Buffers                8855552 bytes
Vector Memory Area        536870912 bytes --> Vector Memory Area 추가 생성 됨
Database mounted.
Database opened.
SQL>
SQL> --VECTOR_MEMORY_SIZE 설정값 확인
SQL> SHOW PARAMETER VECTOR_MEMORY_SIZE;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
vector_memory_size                   big integer 512M
SQL>
SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production
Version 23.26.2.0.0
[oracle@rhel10nm ~]$
[oracle@rhel10nm ~]$ --각각 PDB Level에서 Vector Memory Area 설정
[oracle@rhel10nm ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10nm ~]$ env | grep SID
ORACLE_SID=CDB1
[oracle@rhel10nm ~]$ sqlplus "/as sysdba"
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           MOUNTED
         4 PDB2                           MOUNTED
SQL>
SQL> --PDB1/PDB2 Open
SQL> ALTER PLUGGABLE DATABASE pdb1 OPEN;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE pdb2 OPEN;
Pluggable database altered.
SQL>
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           READ WRITE NO
         4 PDB2                           READ WRITE NO
SQL>
SQL> -- 재부팅해도 자동 Open 등록
SQL> ALTER PLUGGABLE DATABASE pdb1 SAVE STATE;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE pdb2 SAVE STATE;
Pluggable database altered.
SQL>
SQL> --PDB1으로 변경 및 VECTOR_MEMORY_SIZE 파리미터 변경
SQL> ALTER SESSION SET CONTAINER = PDB1;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL> show con_id
CON_ID
------------------------------
3
SQL>
SQL> show parameter VECTOR_MEMORY_SIZE
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
vector_memory_size                   big integer 512M
SQL>
SQL> ALTER SYSTEM SET VECTOR_MEMORY_SIZE = 256M SCOPE=BOTH;
System altered.
SQL> show parameter VECTOR_MEMORY_SIZE
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
vector_memory_size                   big integer 256M
SQL>
SQL> --PDB으로 변경 및 VECTOR_MEMORY_SIZE 파리미터 변경
SQL> ALTER SESSION SET CONTAINER = PDB2;
Session altered.
SQL> SHOW PARAMETER VECTOR_MEMORY_SIZE;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
vector_memory_size                   big integer 512M
SQL> ALTER SYSTEM SET VECTOR_MEMORY_SIZE = 128M SCOPE=BOTH;
System altered.
SQL> SHOW PARAMETER VECTOR_MEMORY_SIZE;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
vector_memory_size                   big integer 128M
SQL>
SQL> --전체 컨테이너의 Vector Memory Pool 상태
SQL> --CDB Root에서 실행
SQL> ALTER SESSION SET CONTAINER = CDB$ROOT;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show con_id
CON_ID
------------------------------
1
SQL>
SQL> COLUMN POOL FORMAT A12
SQL> SELECT con_id, pool, ROUND(alloc_bytes/1024/1024, 1) AS alloc_mb,
  2  ROUND(used_bytes/1024/1024, 1)  AS used_mb, populate_status
  3  FROM v$vector_memory_pool ORDER BY con_id, pool;
    CON_ID POOL           ALLOC_MB    USED_MB POPULATE_STATUS
---------- ------------ ---------- ---------- --------------------------
         1 1MB POOL            447          0 DONE
         1 64KB POOL            48          0 DONE
         2 1MB POOL            448          0 DONE
         2 64KB POOL            48          0 DONE
         3 1MB POOL            224          0 DONE
         3 64KB POOL            24          0 DONE
         4 1MB POOL            112          0 DONE
         4 64KB POOL            12          0 DONE

8 rows selected.
SQL>
SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production
Version 23.26.2.0.0
[oracle@rhel10nm ~]$

 

 

 

 

 

 

 

반응형
반응형

사전 환경 설정

---Patch File 확인 및 unzip
[oracle@rhel10rac1 STAGE]$
[oracle@rhel10rac1 STAGE]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 STAGE]$ pwd
/u01/app/STAGE
[oracle@rhel10rac1 STAGE]$ ls -al
total 3531012
drwxr-xr-x. 2 oracle dba        132 Aug  4 09:11 .
drwxr-xr-x. 6 root   dba         65 Aug  3 14:54 ..
-rw-r--r--. 1 oracle dba 2493354906 Aug  3 14:57 DB_Gold_Image_23.26.3_p39581612_230000_Linux-x86-64.zip
-rw-r--r--. 1 oracle dba 1122394588 Aug  3 14:58 GI_Gold_Image_23.26.3_p39581618_230000_Linux-x86-64.zip
[oracle@rhel10rac1 STAGE]$
[oracle@rhel10rac1 STAGE]$ mkdir -p /u01/app/oracle/product/26.0.0/dbhome_2
[oracle@rhel10rac1 STAGE]$
[oracle@rhel10rac1 STAGE]$ unzip -d /u01/app/oracle/product/26.0.0/dbhome_2 DB_Gold_Image_23.26.3_p39581612_230000_Linux-x86-64.zip
Archive:  DB_Gold_Image_23.26.3_p39581612_230000_Linux-x86-64.zip
  inflating: /u01/app/oracle/product/26.0.0/dbhome_2/META-INF/MANIFEST.MF
  inflating: /u01/app/oracle/product/26.0.0/dbhome_2/META-INF/ORACLE_C.SF
  inflating: /u01/app/oracle/product/26.0.0/dbhome_2/META-INF/ORACLE_C.RSA
   creating: /u01/app/oracle/product/26.0.0/dbhome_2/OPatch/
  inflating: /u01/app/oracle/product/26.0.0/dbhome_2/OPatch/README.txt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /u01/app/oracle/product/26.0.0/dbhome_2/rdbms/mesg/ocith.msb -> orath.msb
  /u01/app/oracle/product/26.0.0/dbhome_2/rdbms/mesg/ocitr.msb -> oratr.msb
  /u01/app/oracle/product/26.0.0/dbhome_2/rdbms/mesg/ocius.msb -> oraus.msb
  /u01/app/oracle/product/26.0.0/dbhome_2/rdbms/mesg/ocius.msg -> ./oraus.msg
  /u01/app/oracle/product/26.0.0/dbhome_2/rdbms/mesg/ocizhs.msb -> orazhs.msb
  /u01/app/oracle/product/26.0.0/dbhome_2/rdbms/mesg/ocizht.msb -> orazht.msb
[oracle@rhel10rac1 STAGE]$

 

Oracle DB Software Only Install

[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$ vi /home/oracle/DATASYNCXML/db_sw_only_Gold_Image_RU3.rsp
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ more /home/oracle/DATASYNCXML/db_sw_only_Gold_Image_RU3.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v23.0.0
installOption=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=dba
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
installEdition=EE
OSDBA=dba
OSBACKUPDBA=dba
OSDGDBA=dba
OSKMDBA=dba
OSRACDBA=dba
clusterNodes=rhel10rac1,rhel10rac2
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ cd /u01/app/oracle/product/26.0.0/dbhome_2
[oracle@rhel10rac1 dbhome_2]$ pwd
/u01/app/oracle/product/26.0.0/dbhome_2
[oracle@rhel10rac1 dbhome_2]$ ls
addnode     crs     cv         demo         has            inventory  jlib  md        nls     OPatch   ords             perl     QOpatch  README.html   schagent.conf  sqlj      suptools  xdk
assistants  crypto  data       diagnostics  hs             javavm     ldap  META-INF  odbc    opmn     oss              plsql    R        relnotes      sdk            sqlpatch  ucp
bin         css     dbs        dv           install        jdbc       lib   mgw       olap    oracore  oui              precomp  racg     root.sh       slax           sqlplus   usm
clone       ctx     deinstall  env.ora      instantclient  jdk        log   network   oml4py  ord      PatchSearch.xml  python   rdbms    runInstaller  sqlcl          srvm      utl
[oracle@rhel10rac1 dbhome_2]$
[oracle@rhel10rac1 dbhome_2]$ ./runInstaller -silent -ignorePrereqFailure -setupDBHomeAs /u01/app/oracle/product/26.0.0/dbhome_1 -responseFile /home/oracle/DATASYNCXML/db_sw_only_Gold_Image_RU3.rsp -clusterNodes rhel10rac1,rhel10rac2
Launching Oracle AI Database Setup Wizard...

[WARNING] [INS-13013] Target environment does not meet some mandatory requirements.
   CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/InstallActions2026-08-04_11-07-26AM/installActions2026-08-04_11-07-26AM.log.
   ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/InstallActions2026-08-04_11-07-26AM/installActions2026-08-04_11-07-26AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/app/oracle/product/26.0.0/dbhome_2/install/response/db_2026-08-04_11-07-26AM.rsp

You can find the log of this install session at:
 /u01/app/oraInventory/logs/InstallActions2026-08-04_11-07-26AM/installActions2026-08-04_11-07-26AM.log

As a root user, run the following script(s):
        1. /u01/app/oracle/product/26.0.0/dbhome_2/root.sh

Run /u01/app/oracle/product/26.0.0/dbhome_2/root.sh on the following nodes:
[rhel10rac1, rhel10rac2]


Successfully Setup Software with warning(s).
[oracle@rhel10rac1 dbhome_2]$
---root.sh
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# /u01/app/oracle/product/26.0.0/dbhome_2/root.sh
Check /u01/app/oracle/product/26.0.0/dbhome_2/install/root_rhel10rac1_2026-08-04_11-16-12-260235811.log for the output of root script
[root@rhel10rac1 ~]#

[root@rhel10rac2 ~]#
[root@rhel10rac2 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac2 ~]#
[root@rhel10rac2 ~]# /u01/app/oracle/product/26.0.0/dbhome_2/root.sh
Check /u01/app/oracle/product/26.0.0/dbhome_2/install/root_rhel10rac2_2026-08-04_11-16-22-027619638.log for the output of root script
[root@rhel10rac2 ~]#

 

Oracle DB Home 변경

[oracle@rhel10rac1 bin]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 bin]$ pwd
/u01/app/oracle/product/26.0.0/dbhome_2/bin
[oracle@rhel10rac1 bin]$
[oracle@rhel10rac1 bin]$ env | grep SID
ORACLE_SID=CDBRAC1
[oracle@rhel10rac1 bin]$
[oracle@rhel10rac1 bin]$ ./dbca -silent -moveDatabase -sourceDB CDBRAC
Session ID of the current execution is: 1
2% complete
3% complete
5% complete
7% complete
10% complete
13% complete
-----------------
Running Source_database_operations job
Completed Source_database_operations job
20% complete
-----------------
Running OJVM_pre_install_step-rhel10rac1 job
Completed OJVM_pre_install_step-rhel10rac1 job
27% complete
-----------------
Running OJVM_pre_install_step-rhel10rac2 job
Completed OJVM_pre_install_step-rhel10rac2 job
33% complete
-----------------
Running Copy_custom_config_files-rhel10rac1 job
Completed Copy_custom_config_files-rhel10rac1 job
34% complete
-----------------
Running Move_tns_alias_entries-rhel10rac1 job
Completed Move_tns_alias_entries-rhel10rac1 job
35% complete
-----------------
Running Move_ldap_entries-rhel10rac1 job
Skipping. Job is detected as not applicable.
36% complete
-----------------
Running Move_sqlnet_entries-rhel10rac1 job
Completed Move_sqlnet_entries-rhel10rac1 job
37% complete
38% complete
-----------------
Running Copy_timezone_files-rhel10rac1 job
Skipping. Job is detected as not applicable.
39% complete
40% complete
-----------------
Running Copy_custom_config_files-rhel10rac2 job
Completed Copy_custom_config_files-rhel10rac2 job
41% complete
-----------------
Running Move_tns_alias_entries-rhel10rac2 job
Completed Move_tns_alias_entries-rhel10rac2 job
42% complete
-----------------
Running Move_ldap_entries-rhel10rac2 job
Skipping. Job is detected as not applicable.
43% complete
-----------------
Running Move_sqlnet_entries-rhel10rac2 job
Completed Move_sqlnet_entries-rhel10rac2 job
44% complete
45% complete
-----------------
Running Copy_timezone_files-rhel10rac2 job
Skipping. Job is detected as not applicable.
46% complete
47% complete
-----------------
Running Stop_listeners_from_source-rhel10rac1 job
Skipping. Job is detected as not applicable.
48% complete
-----------------
Running Add_listeners_to_target-rhel10rac1 job
Skipping. Job is detected as not applicable.
49% complete
-----------------
Running Modify_listeners_resource-rhel10rac1 job
Skipping. Job is detected as not applicable.
51% complete
-----------------
Running Start_listeners_from_target-rhel10rac1 job
Skipping. Job is detected as not applicable.
52% complete
-----------------
Running Delete_listeners_from_source-rhel10rac1 job
Skipping. Job is detected as not applicable.
53% complete
-----------------
Running Stop_listeners_from_source-rhel10rac2 job
Skipping. Job is detected as not applicable.
55% complete
-----------------
Running Add_listeners_to_target-rhel10rac2 job
Skipping. Job is detected as not applicable.
56% complete
-----------------
Running Modify_listeners_resource-rhel10rac2 job
Skipping. Job is detected as not applicable.
57% complete
-----------------
Running Start_listeners_from_target-rhel10rac2 job
Skipping. Job is detected as not applicable.
59% complete
-----------------
Running Delete_listeners_from_source-rhel10rac2 job
Skipping. Job is detected as not applicable.
60% complete
61% complete
-----------------
Running Stop_database_instance-rhel10rac1 job
Completed Stop_database_instance-rhel10rac1 job
62% complete
-----------------
Running Modify_database_resource-rhel10rac1 job
Completed Modify_database_resource-rhel10rac1 job
63% complete
64% complete
65% complete
66% complete
-----------------
Running Start_database_instance-rhel10rac1 job
Completed Start_database_instance-rhel10rac1 job
67% complete
68% complete
-----------------
Running Stop_database_instance-rhel10rac2 job
Completed Stop_database_instance-rhel10rac2 job
69% complete
-----------------
Running Modify_database_resource-rhel10rac2 job
Completed Modify_database_resource-rhel10rac2 job
70% complete
71% complete
72% complete
-----------------
Running Start_database_instance-rhel10rac2 job
Completed Start_database_instance-rhel10rac2 job
73% complete
-----------------
Running Run_datapatch job
Completed Run_datapatch job
77% complete
-----------------
Running Recompile_invalid_objects job
Completed Recompile_invalid_objects job
80% complete
81% complete
82% complete
83% complete
84% complete
86% complete
87% complete
88% complete
89% complete
-----------------
Running Update_dba_directories job
Completed Update_dba_directories job
90% complete
91% complete
-----------------
Running Finalize_database_move job
Completed Finalize_database_move job
92% complete
-----------------
Running Post_database_move_validation job
Skipping. Job is detected as not applicable.
93% complete
-----------------
Running Run_custom_scripts job
Completed Run_custom_scripts job
97% complete
-----------------
Running Run_custom_rollback_scripts job
Skipping. Job is detected as not applicable.
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/CDBRAC/CDBRAC.log" for further details.
[oracle@rhel10rac1 bin]$

 

후속작업

--OS Oracle User .bash_profile 변경
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ env | grep SID
ORACLE_SID=CDBRAC1
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ env | grep HOME
GRID_HOME=/u01/app/grid/26.0.0/gdhome_2
DB_HOME=/u01/app/oracle/product/26.0.0/dbhome_2
HOME=/home/oracle
ORACLE_HOME=/u01/app/oracle/product/26.0.0/dbhome_2
[oracle@rhel10rac1 ~]$

--확인 작업
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$ env | grep SID
ORACLE_SID=CDBRAC1
[oracle@rhel10rac1 ~]$ sqlplus "/as sysdba"
SQL> SET LINESIZE 200 PAGESIZE 100
SQL> COLUMN patch_id FORMAT 9999999999
SQL> COLUMN action FORMAT A10
SQL> COLUMN status FORMAT A12
SQL> COLUMN source_version FORMAT A15
SQL> COLUMN target_version FORMAT A15
SQL> COLUMN action_time FORMAT A28
SQL> COLUMN description FORMAT A70
SQL> SELECT patch_id, action, status, source_version, target_version, action_time, description FROM cdb_registry_sqlpatch ORDER BY action_time DESC;
   PATCH_ID ACTION     STATUS       SOURCE_VERSION  TARGET_VERSION  ACTION_TIME                  DESCRIPTION
----------- ---------- ------------ --------------- --------------- ---------------------------- ----------------------------------------------------------------------
   39578879 APPLY      SUCCESS      23.26.2.0.0     23.26.3.0.0     04-AUG-26 12.05.01.621942 PM Database Release Update : 23.26.3.0.0 (39578879) Gold Image
   39578879 APPLY      SUCCESS      23.26.2.0.0     23.26.3.0.0     04-AUG-26 11.45.49.858986 AM Database Release Update : 23.26.3.0.0 (39578879) Gold Image
   39093711 APPLY      SUCCESS      23.26.2.0.0     23.26.2.0.0     03-AUG-26 06.48.38.108896 PM Database Release Update : 23.26.2.0.0 (39093711) Gold Image
   39093711 APPLY      SUCCESS      23.26.2.0.0     23.26.2.0.0     03-AUG-26 06.48.37.557707 PM Database Release Update : 23.26.2.0.0 (39093711) Gold Image
SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.3.0.0 - Production
Version 23.26.3.0.0
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ cd $ORACLE_HOME/OPatch/
[oracle@rhel10rac1 OPatch]$ pwd
/u01/app/oracle/product/26.0.0/dbhome_2/OPatch
[oracle@rhel10rac1 OPatch]$
[oracle@rhel10rac1 OPatch]$ ./opatch lspatches
39578859;OCW RELEASE UPDATE 23.26.3.0.0 (39578859) Gold Image
39578879;Database Release Update : 23.26.3.0.0 (39578879) Gold Image

OPatch succeeded.
[oracle@rhel10rac1 OPatch]$

--Post 작업
[oracle@rhel10rac1 ~]$ sqlplus "/as sysdba"
SQL> ALTER PLUGGABLE DATABASE ALL OPEN;
SQL> eixt
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$ cd $ORACLE_HOME/OPatch
[oracle@rhel10rac1 OPatch]$ pwd
/u01/app/oracle/product/26.0.0/dbhome_2/OPatch
[oracle@rhel10rac1 OPatch]$
[oracle@rhel10rac1 OPatch]$ ./datapatch -verbose
SQL Patching tool version 23.26.2.0.0 Production on Mon Aug  3 20:26:08 2026
Copyright (c) 2012, 2026, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/product/26.0.0/dbhome_2/cfgtoollogs/sqlpatch/sqlpatch_sid_CDBRAC1_ts_2026_08_03_20_26_08_pid_193049/sqlpatch_invocation.log

Connecting to database...OK
Gathering database info...done

Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)

Bootstrapping registry and package to current versions...done
Determining current state...done

Current state of interim SQL patches:
  No interim patches found

Current state of release update SQL patches:
  Binary registry:
    23.26.2.0.0 Release_Update 260428181725: Installed
  PDB CDB$ROOT:
    Applied 23.26.2.0.0 Release_Update 260428181725 successfully on 31-JUL-26 07.51.13.924282 PM
  PDB PDB:
    Applied 23.26.2.0.0 Release_Update 260428181725 successfully on 31-JUL-26 07.51.14.493294 PM
  PDB PDB$SEED:
    Applied 23.26.2.0.0 Release_Update 260428181725 successfully on 31-JUL-26 07.51.14.493294 PM

Adding patches to installation queue and performing prereq checks...done
Installation queue:
  For the following PDBs: CDB$ROOT PDB$SEED PDB
    No interim patches need to be rolled back
    No release update patches need to be installed
    No interim patches need to be applied

SQL Patching tool complete on Mon Aug  3 20:27:01 2026
[oracle@rhel10rac1 OPatch]$

[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ env | grep SID
ORACLE_SID=+ASM1
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.chad
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.helper
               OFFLINE OFFLINE      rhel10rac1               STABLE
               OFFLINE OFFLINE      rhel10rac2               IDLE,STABLE
ora.net1.network
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.ons
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.DATA01.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       rhel10rac2               STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.RECO01.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               Started,STABLE
      2        ONLINE  ONLINE       rhel10rac2               Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.cdbrac.cdbrac_pdb1.svc
      1        ONLINE  ONLINE       rhel10rac2               STABLE
      2        ONLINE  ONLINE       rhel10rac1               STABLE
ora.cdbrac.db
      1        ONLINE  ONLINE       rhel10rac1               Open,HOME=/u01/app/o
                                                             racle/product/26.0.0
                                                             /dbhome_2,STABLE
      2        ONLINE  ONLINE       rhel10rac2               Open,HOME=/u01/app/o
                                                             racle/product/26.0.0
                                                             /dbhome_2,STABLE
ora.cdbrac.pdb1.pdb
      1        ONLINE  ONLINE       rhel10rac1               READ WRITE,STABLE
      2        ONLINE  ONLINE       rhel10rac2               READ WRITE,STABLE
ora.cdp1.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cdp2.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cdp3.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.cvuhelper
      1        OFFLINE OFFLINE                               STABLE
ora.rhel10rac1.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.rhel10rac2.vip
      1        ONLINE  ONLINE       rhel10rac2               STABLE
ora.rhpserver
      1        OFFLINE OFFLINE                               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       rhel10rac2               STABLE
--------------------------------------------------------------------------------
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ srvctl status database -d CDBRAC
Instance CDBRAC1 is running on node rhel10rac1
Instance CDBRAC2 is running on node rhel10rac2
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ srvctl config database -d CDBRAC
Database unique name: CDBRAC
Database name: CDBRAC
Oracle home: /u01/app/oracle/product/26.0.0/dbhome_2
Oracle user: oracle
Spfile: +DATA01/CDBRAC/PARAMETERFILE/spfile.272.1240339719
Password file: +DATA01/CDBRAC/PASSWORD/pwdcdbrac.256.1240330395
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA01
Mount point paths:
Services: CDBRAC_PDB1
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: dba
Database instances: CDBRAC1,CDBRAC2
Configured nodes: rhel10rac1,rhel10rac2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
[oracle@rhel10rac1 ~]$
반응형
반응형

사전 환경 점검 및 설정

--기존 Patch Level 확인
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ env | grep SID
ORACLE_SID=+ASM1
[oracle@rhel10rac1 ~]$ cd $ORACLE_HOME/OPatch/
[oracle@rhel10rac1 OPatch]$
[oracle@rhel10rac1 OPatch]$ ./opatch lspatches
39099119;MICRONAUT RELEASE UPDATE 23.26.2.0.0 (39099119) Gold Image
39099244;RHP RELEASE UPDATE 23.26.2.0.0 (39099244) Gold Image
39099110;ACFS RELEASE UPDATE 23.26.2.0.0 (39099110) Gold Image
39093738;OCW RELEASE UPDATE 23.26.2.0.0 (39093738) Gold Image
39093711;Database Release Update : 23.26.2.0.0 (39093711) Gold Image

OPatch succeeded.
[oracle@rhel10rac1 OPatch]$
---Patch File 확인
[oracle@rhel10rac1 STAGE]$
[oracle@rhel10rac1 STAGE]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 STAGE]$ pwd
/u01/app/STAGE
[oracle@rhel10rac1 STAGE]$
[oracle@rhel10rac1 STAGE]$ ls -al
total 3531012
drwxr-xr-x. 2 oracle dba        132 Aug  4 09:11 .
drwxr-xr-x. 6 root   dba         65 Aug  3 14:54 ..
-rw-r--r--. 1 oracle dba 2493354906 Aug  3 14:57 DB_Gold_Image_23.26.3_p39581612_230000_Linux-x86-64.zip
-rw-r--r--. 1 oracle dba 1122394588 Aug  3 14:58 GI_Gold_Image_23.26.3_p39581618_230000_Linux-x86-64.zip
[oracle@rhel10rac1 STAGE]$

 

신규 Grid Home 생성

----신규 Grid Home 생성은 Oracle RAC 전체 Node에 각각 생성 해야 함
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# mkdir -p /u01/app/grid/26.0.0/gdhome_2
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# cd /u01/app/grid/26.0.0
[root@rhel10rac1 26.0.0]# ls -al
total 4
drwxr-xr-x.  4 root dba    38 Aug  4 09:13 .
drwxr-xr-x.  3 root dba    20 Aug  3 14:33 ..
drwxr-xr-x. 68 root dba  4096 Aug  3 15:23 gdhome_1
drwxr-xr-x.  2 root root    6 Aug  4 09:13 gdhome_2
[root@rhel10rac1 26.0.0]#
[root@rhel10rac1 26.0.0]# chown -R oracle:dba ./gdhome_2
[root@rhel10rac1 26.0.0]#
[root@rhel10rac1 26.0.0]# ls -al
total 4
drwxr-xr-x.  4 root   dba   38 Aug  4 09:13 .
drwxr-xr-x.  3 root   dba   20 Aug  3 14:33 ..
drwxr-xr-x. 68 root   dba 4096 Aug  3 15:23 gdhome_1
drwxr-xr-x.  2 oracle dba    6 Aug  4 09:13 gdhome_2
[root@rhel10rac1 26.0.0]#
---Gold Image Unzip
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$ env | grep SID
ORACLE_SID=+ASM1
[oracle@rhel10rac1 ~]$ cd /u01/app/STAGE/
[oracle@rhel10rac1 STAGE]$ ls -al
total 3531012
drwxr-xr-x. 2 oracle dba        132 Aug  4 09:11 .
drwxr-xr-x. 6 root   dba         65 Aug  3 14:54 ..
-rw-r--r--. 1 oracle dba 2493354906 Aug  3 14:57 DB_Gold_Image_23.26.3_p39581612_230000_Linux-x86-64.zip
-rw-r--r--. 1 oracle dba 1122394588 Aug  3 14:58 GI_Gold_Image_23.26.3_p39581618_230000_Linux-x86-64.zip
[oracle@rhel10rac1 STAGE]$
[oracle@rhel10rac1 STAGE]$ unzip -d /u01/app/grid/26.0.0/gdhome_2 GI_Gold_Image_23.26.3_p39581618_230000_Linux-x86-64.zip
Archive:  GI_Gold_Image_23.26.3_p39581618_230000_Linux-x86-64.zip
  inflating: /u01/app/grid/26.0.0/gdhome_2/META-INF/MANIFEST.MF
  inflating: /u01/app/grid/26.0.0/gdhome_2/META-INF/ORACLE_C.SF
  inflating: /u01/app/grid/26.0.0/gdhome_2/META-INF/ORACLE_C.RSA
   creating: /u01/app/grid/26.0.0/gdhome_2/OPatch/
  inflating: /u01/app/grid/26.0.0/gdhome_2/OPatch/README.txt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocisf.msb -> orasf.msb
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocisk.msb -> orask.msb
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocith.msb -> orath.msb
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocitr.msb -> oratr.msb
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocius.msb -> oraus.msb
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocius.msg -> ./oraus.msg
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocizhs.msb -> orazhs.msb
  /u01/app/grid/26.0.0/gdhome_2/rdbms/mesg/ocizht.msb -> orazht.msb
[oracle@rhel10rac1 STAGE]$

 

Grid Software Only Inteall - GUI 화면으로 진행

[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac1 ~]# export DISPLAY=192.168.56.1:0.0
[root@rhel10rac1 ~]# xhost +
access control disabled, clients can connect from any host
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# su - oracle
Last login: Tue Aug  4 09:15:00 KST 2026 on pts/0
[ORACLE_SID = CDBRAC1 ]
[oracle@rhel10rac1 ~]$ grid_env
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$ env | grep SID
ORACLE_SID=+ASM1
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ export DISPLAY=192.168.56.1:0.0
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ cd /u01/app/grid/26.0.0/gdhome_2/
[oracle@rhel10rac1 gdhome_2]$ ls
addnode     crs     dbs          env.ora       has        jdbc  lib        network  oracore          perl     python   README.html  rootupgrade.sh  sqlpatch  usm           xdk
assistants  crypto  deinstall    evm           install    jdk   md         nls      oss              plsql    QOpatch  relnotes     runcluvfy.sh    sqlplus   utl
bin         css     demo         gpnp          inventory  jlib  META-INF   OPatch   oui              precomp  racg     rhp          sdk             srvm      welcome.html
clone       cv      diagnostics  gridSetup.sh  javavm     ldap  micronaut  opmn     PatchSearch.xml  pylib    rdbms    root.sh      slax            ucp       xag
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ ./gridSetup.sh
Launching Oracle Grid Infrastructure Setup Wizard...

The response file for this session can be found at:
 /u01/app/grid/26.0.0/gdhome_2/install/response/grid_2026-08-04_09-21-00AM.rsp

You can find the log of this install session at:
 /u01/app/oraInventory/logs/GridSetupActions2026-08-04_09-21-00AM/gridSetupActions2026-08-04_09-21-00AM.log
[oracle@rhel10rac1 gdhome_2]$



---root.sh
[root@rhel10rac1 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# /u01/app/grid/26.0.0/gdhome_2/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/grid/26.0.0/gdhome_2

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.

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.

To configure Grid Infrastructure for a Cluster execute the following command as oracle user:
/u01/app/grid/26.0.0/gdhome_2/gridSetup.sh
This command launches the Grid Infrastructure Setup Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.

[root@rhel10rac1 ~]#

[root@rhel10rac2 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac2 ~]#
[root@rhel10rac2 ~]# /u01/app/grid/26.0.0/gdhome_2/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/grid/26.0.0/gdhome_2

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.

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.

To configure Grid Infrastructure for a Cluster execute the following command as oracle user:
/u01/app/grid/26.0.0/gdhome_2/gridSetup.sh
This command launches the Grid Infrastructure Setup Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.

[root@rhel10rac2 ~]#

 

Oracle GRID Home 변경

[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ env | grep SID
ORACLE_SID=+ASM1
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ env | grep ORACLE_HOME
ORACLE_HOME=/u01/app/grid/26.0.0/gdhome_1
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ pwd
/u01/app/grid/26.0.0/gdhome_2
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ which crsctl
/u01/app/grid/26.0.0/gdhome_1/bin/crsctl
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ crsctl status res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.chad
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.helper
               OFFLINE OFFLINE      rhel10rac1               IDLE,STABLE
               OFFLINE OFFLINE      rhel10rac2               IDLE,STABLE
ora.net1.network
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.ons
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.DATA01.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       rhel10rac2               STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.RECO01.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               Started,STABLE
      2        ONLINE  ONLINE       rhel10rac2               Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.cdbrac.cdbrac_pdb1.svc
      1        ONLINE  ONLINE       rhel10rac2               STABLE
      2        ONLINE  ONLINE       rhel10rac1               STABLE
ora.cdbrac.db
      1        ONLINE  ONLINE       rhel10rac1               Open,HOME=/u01/app/o
                                                             racle/product/26.0.0
                                                             /dbhome_1,STABLE
      2        ONLINE  ONLINE       rhel10rac2               Open,HOME=/u01/app/o
                                                             racle/product/26.0.0
                                                             /dbhome_1,STABLE
ora.cdbrac.pdb1.pdb
      1        ONLINE  ONLINE       rhel10rac1               READ WRITE,STABLE
      2        ONLINE  ONLINE       rhel10rac2               READ WRITE,STABLE
ora.cdp1.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cdp2.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cdp3.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.cvuhelper
      1        OFFLINE OFFLINE                               STABLE
ora.rhel10rac1.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.rhel10rac2.vip
      1        ONLINE  ONLINE       rhel10rac2               STABLE
ora.rhpserver
      1        OFFLINE OFFLINE                               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       rhel10rac2               STABLE
--------------------------------------------------------------------------------
[oracle@rhel10rac1 gdhome_2]$

[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ pwd
/u01/app/grid/26.0.0/gdhome_2
[oracle@rhel10rac1 gdhome_2]$ env | grep SID
ORACLE_SID=+ASM1
Patch 39581618 - Grid Infrastructure Release Update Gold Image 23.26.3.0.0[oracle@rhel10rac1 gdhome_2]$ env | grep DISPLAY
DISPLAY=192.168.56.1:0.0
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ ls
addnode      clone   cv         diagnostics  gridSetup.sh  javavm  ldap  micronaut  opmn         oui              precomp  racg         rhp            rootupgrade.sh  sqlpatch  usm           xdk
assistants   crs     dbs        env.ora      has           jdbc    lib   network    oracore      PatchSearch.xml  pylib    rdbms        root.sh        runcluvfy.sh    sqlplus   utl
bin          crypto  deinstall  evm          install       jdk     log   nls        oraInst.loc  perl             python   README.html  root.sh.old    sdk             srvm      welcome.html
cfgtoollogs  css     demo       gpnp         inventory     jlib    md    OPatch     oss          plsql            QOpatch  relnotes     root.sh.old.1  slax            ucp       xag
[oracle@rhel10rac1 gdhome_2]$
[oracle@rhel10rac1 gdhome_2]$ ./gridSetup.sh -switchgridhome
Launching Oracle Grid Infrastructure Setup Wizard...

[oracle@rhel10rac1 gdhome_2]$
---root.sh
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac1 ~]#
[root@rhel10rac1 ~]# /u01/app/grid/26.0.0/gdhome_2/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/grid/26.0.0/gdhome_2

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.

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.
RAC option enabled on: Linux
Executing command '/u01/app/grid/26.0.0/gdhome_2/perl/bin/perl -I/u01/app/grid/26.0.0/gdhome_2/perl/lib -I/u01/app/grid/26.0.0/gdhome_2/crs/install /u01/app/grid/26.0.0/gdhome_2/crs/install/rootcrs.pl  -dstcrshome /u01/app/grid/26.0.0/gdhome_2  -prepatch  '
Using configuration parameter file: /u01/app/grid/26.0.0/gdhome_2/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rhel10rac1/crsconfig/crs_prepatch_apply_oop_rhel10rac1_2026-08-04_09-36-04AM.log

 Initializing ...

 Performing following verification checks ...

   cluster upgrade state ...PASSED
   OLR Integrity ...PASSED
   Hosts File ...PASSED
   Free Space: rhel10rac1:/ ...PASSED
   ASM Integrity ...PASSED
   Software home: /u01/app/grid/26.0.0/gdhome_1 ...PASSED
   Immutable file attribute check ...PASSED

 Pre-check for Patch Application was successful.

 CVU operation performed:      stage -pre patch
 Date:                         Aug 4, 2026, 9:36:38 AM
 CVU version:                  23.26.2.0.0 (032926x8664)
 Clusterware version:          23.0.0.0.0
 CVU home:                     /u01/app/grid/26.0.0/gdhome_1
 Grid home:                    /u01/app/grid/26.0.0/gdhome_1
 User:                         oracle
 Operating system:             Linux6.12.0-211.7.3.el10_2.x86_64

2026/08/04 09:37:24 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.
Executing command '/u01/app/grid/26.0.0/gdhome_2/perl/bin/perl -I/u01/app/grid/26.0.0/gdhome_2/perl/lib -I/u01/app/grid/26.0.0/gdhome_2/crs/install /u01/app/grid/26.0.0/gdhome_2/crs/install/rootcrs.pl  -dstcrshome /u01/app/grid/26.0.0/gdhome_2  -postpatch '
Using configuration parameter file: /u01/app/grid/26.0.0/gdhome_2/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rhel10rac1/crsconfig/crs_postpatch_apply_oop_rhel10rac1_2026-08-04_09-37-25AM.log
2026/08/04 09:38:41 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2026/08/04 09:40:39 CLSRSC-4015: Performing install or upgrade action for Oracle Autonomous Health Framework (AHF).
2026/08/04 09:40:39 CLSRSC-4012: Shutting down Oracle Autonomous Health Framework (AHF).
2026/08/04 09:42:29 CLSRSC-4013: Successfully shut down Oracle Autonomous Health Framework (AHF).
2026/08/04 09:42:41 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
[root@rhel10rac1 ~]#

[root@rhel10rac2 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10rac2 ~]#
[root@rhel10rac2 ~]# /u01/app/grid/26.0.0/gdhome_2/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/grid/26.0.0/gdhome_2

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.

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.
RAC option enabled on: Linux
Executing command '/u01/app/grid/26.0.0/gdhome_2/perl/bin/perl -I/u01/app/grid/26.0.0/gdhome_2/perl/lib -I/u01/app/grid/26.0.0/gdhome_2/crs/install /u01/app/grid/26.0.0/gdhome_2/crs/install/rootcrs.pl  -dstcrshome /u01/app/grid/26.0.0/gdhome_2  -prepatch  '
Using configuration parameter file: /u01/app/grid/26.0.0/gdhome_2/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rhel10rac2/crsconfig/crs_prepatch_apply_oop_rhel10rac2_2026-08-04_09-43-20AM.log

 Initializing ...

 Performing following verification checks ...

   cluster upgrade state ...PASSED
   OLR Integrity ...PASSED
   Hosts File ...PASSED
   Free Space: rhel10rac2:/ ...PASSED
   ASM Integrity ...PASSED
   Software home: /u01/app/grid/26.0.0/gdhome_1 ...PASSED
   Immutable file attribute check ...PASSED

 Pre-check for Patch Application was successful.

 CVU operation performed:      stage -pre patch
 Date:                         Aug 4, 2026, 9:43:57 AM
 CVU version:                  23.26.2.0.0 (032926x8664)
 Clusterware version:          23.0.0.0.0
 CVU home:                     /u01/app/grid/26.0.0/gdhome_1
 Grid home:                    /u01/app/grid/26.0.0/gdhome_1
 User:                         oracle
 Operating system:             Linux6.12.0-211.7.3.el10_2.x86_64

2026/08/04 09:44:44 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.
Executing command '/u01/app/grid/26.0.0/gdhome_2/perl/bin/perl -I/u01/app/grid/26.0.0/gdhome_2/perl/lib -I/u01/app/grid/26.0.0/gdhome_2/crs/install /u01/app/grid/26.0.0/gdhome_2/crs/install/rootcrs.pl  -dstcrshome /u01/app/grid/26.0.0/gdhome_2  -postpatch '
Using configuration parameter file: /u01/app/grid/26.0.0/gdhome_2/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rhel10rac2/crsconfig/crs_postpatch_apply_oop_rhel10rac2_2026-08-04_09-44-45AM.log
2026/08/04 09:45:58 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2026/08/04 09:47:37 CLSRSC-4015: Performing install or upgrade action for Oracle Autonomous Health Framework (AHF).
2026/08/04 09:47:37 CLSRSC-4012: Shutting down Oracle Autonomous Health Framework (AHF).
2026/08/04 09:49:13 CLSRSC-4013: Successfully shut down Oracle Autonomous Health Framework (AHF).

 Initializing ...

 Performing following verification checks ...

   cluster upgrade state ...PASSED

 Post-check for Patch Application was successful.

 CVU operation performed:      stage -post patch
 Date:                         Aug 4, 2026, 9:49:41 AM
 CVU version:                  23.26.3.0.0 (070426x8664)
 Clusterware version:          23.0.0.0.0
 CVU home:                     /u01/app/grid/26.0.0/gdhome_2
 Grid home:                    /u01/app/grid/26.0.0/gdhome_2
 User:                         oracle
 Operating system:             Linux6.12.0-211.7.3.el10_2.x86_64

2026/08/04 09:50:37 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
[root@rhel10rac2 ~]#

 

변경 사항 적용 및 확인

---Oracle Grid Process 확인
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ ps -ef | grep d.bin
root       59724       1  2 09:39 ?        00:00:21 /u01/app/grid/26.0.0/gdhome_2/bin/ohasd.bin reboot _ORA_BLOCKING_STACK_LOCALE=AMERICAN_AMERICA.AL32UTF8
oracle     59946       1  0 09:39 ?        00:00:02 /u01/app/grid/26.0.0/gdhome_2/bin/mdnsd.bin
oracle     59948       1  0 09:39 ?        00:00:05 /u01/app/grid/26.0.0/gdhome_2/bin/evmd.bin
oracle     59984       1  0 09:39 ?        00:00:02 /u01/app/grid/26.0.0/gdhome_2/bin/gpnpd.bin
oracle     60038       1  0 09:39 ?        00:00:07 /u01/app/grid/26.0.0/gdhome_2/bin/gipcd.bin
root       60137       1  2 09:39 ?        00:00:24 /u01/app/grid/26.0.0/gdhome_2/bin/osysmond.bin
oracle     60301       1  2 09:39 ?        00:00:20 /u01/app/grid/26.0.0/gdhome_2/bin/onmd.bin
oracle     60305       1  1 09:39 ?        00:00:10 /u01/app/grid/26.0.0/gdhome_2/bin/ocssd.bin
root       60972       1  3 09:39 ?        00:00:28 /u01/app/grid/26.0.0/gdhome_2/bin/crsd.bin reboot
oracle    102080   27600  0 09:53 pts/0    00:00:00 grep --color=auto d.bin
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ ps -ef | grep tns
root           8       2  0 09:05 ?        00:00:00 [kworker/R-netns]
oracle     61520       1  0 09:39 ?        00:00:00 /u01/app/grid/26.0.0/gdhome_2/bin/tnslsnr LISTENER -no_crs_notify -inherit
oracle     61669       1  0 09:39 ?        00:00:00 /u01/app/grid/26.0.0/gdhome_2/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
oracle     82961       1  0 09:45 ?        00:00:00 /u01/app/grid/26.0.0/gdhome_2/bin/tnslsnr LISTENER_SCAN1 -no_crs_notify -inherit
oracle     83014       1  0 09:45 ?        00:00:00 /u01/app/grid/26.0.0/gdhome_2/bin/tnslsnr LISTENER_SCAN2 -no_crs_notify -inherit
oracle    102553   27600  0 09:54 pts/0    00:00:00 grep --color=auto tns
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ /u01/app/grid/26.0.0/gdhome_2/bin/crsctl status res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.chad
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.helper
               OFFLINE OFFLINE      rhel10rac1               STABLE
               OFFLINE OFFLINE      rhel10rac2               IDLE,STABLE
ora.net1.network
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
ora.ons
               ONLINE  ONLINE       rhel10rac1               STABLE
               ONLINE  ONLINE       rhel10rac2               STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.DATA01.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       rhel10rac2               STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.RECO01.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               Started,STABLE
      2        ONLINE  ONLINE       rhel10rac2               Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rhel10rac1               STABLE
      2        ONLINE  ONLINE       rhel10rac2               STABLE
ora.cdbrac.cdbrac_pdb1.svc
      1        ONLINE  ONLINE       rhel10rac2               STABLE
      2        ONLINE  ONLINE       rhel10rac1               STABLE
ora.cdbrac.db
      1        ONLINE  ONLINE       rhel10rac1               Open,HOME=/u01/app/o
                                                             racle/product/26.0.0
                                                             /dbhome_1,STABLE
      2        ONLINE  ONLINE       rhel10rac2               Open,HOME=/u01/app/o
                                                             racle/product/26.0.0
                                                             /dbhome_1,STABLE
ora.cdbrac.pdb1.pdb
      1        ONLINE  ONLINE       rhel10rac1               READ WRITE,STABLE
      2        ONLINE  ONLINE       rhel10rac2               READ WRITE,STABLE
ora.cdp1.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cdp2.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cdp3.cdp
      1        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.cvuhelper
      1        OFFLINE OFFLINE                               STABLE
ora.rhel10rac1.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.rhel10rac2.vip
      1        ONLINE  ONLINE       rhel10rac2               STABLE
ora.rhpserver
      1        OFFLINE OFFLINE                               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       rhel10rac1               STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       rhel10rac2               STABLE
--------------------------------------------------------------------------------
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 OPatch]$
[oracle@rhel10rac1 OPatch]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 OPatch]$ cd $ORACLE_HOME
[oracle@rhel10rac1 gdhome_2]$ cd OPatch/
[oracle@rhel10rac1 OPatch]$ pwd
/u01/app/grid/26.0.0/gdhome_2/OPatch
[oracle@rhel10rac1 OPatch]$
[oracle@rhel10rac1 OPatch]$ ./opatch lspatches
39578862;MICRONAUT RELEASE UPDATE 23.26.3.0.0 (39578862) Gold Image
39578856;RHP RELEASE UPDATE 23.26.3.0.0 (39578856) Gold Image
39578865;ACFS RELEASE UPDATE 23.26.3.0.0 (39578865) Gold Image
39578859;OCW RELEASE UPDATE 23.26.3.0.0 (39578859) Gold Image
39578879;Database Release Update : 23.26.3.0.0 (39578879) Gold Image

OPatch succeeded.
[oracle@rhel10rac1 OPatch]$


--OS oracle User .bash_profile 변경
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ env | grep SID
ORACLE_SID=+ASM1
[oracle@rhel10rac1 ~]$
[oracle@rhel10rac1 ~]$ echo $ORACLE_HOME
/u01/app/grid/26.0.0/gdhome_2
[oracle@rhel10rac1 ~]$

 

반응형
반응형

Oracle DB 26Ai Gold Image 23.26.3 부터 Oracle Database 26Ai Standard Edition 2 선택 가능

[ Oracle DB 26Ai Gold Image 23.26.3 ]

 

 

반응형
반응형

[환 경]

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 ~]$

 

반응형
반응형

Read-Only 오라클 홈 아키텍처는 순수한 소프트웨어 바이너리(설치본) 영역과 시스템 운영 중에 변경되는 설정 및 로그 데이터 영역을 완벽하게 분리하는 구조를 의미.

주의: '읽기 전용'이라는 표현이 운영체제(OS) 레벨에서 디렉터리나 파일 시스템 자체가 Read-Only로 마운트되어야 함을 뜻하는 것은 아닙니다. 파일 시스템과 마운트 포인트는 항상 읽기/쓰기(Read/Write)가 가능한 상태여야 합

 

Oracle Home 상태 확인(변경 전)

[oracle@ai26readonly dbhome_1]$
[oracle@ai26readonly dbhome_1]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@ai26readonly dbhome_1]$
[oracle@ai26readonly dbhome_1]$ env | grep SID
ORACLE_SID=CDB1
[oracle@ai26readonly dbhome_1]$ cd $ORACLE_HOME/bin
[oracle@ai26readonly bin]$ pwd
/u01/app/oracle/product/26.0.0/dbhome_1/bin
[oracle@ai26readonly bin]$
[oracle@ai26readonly bin]$ ./orabasehome
/u01/app/oracle/product/26.0.0/dbhome_1
[oracle@ai26readonly bin]$
반환된 경로가 $ORACLE_HOME과 같다면 ➔ Read/Write 모드
반환된 경로가 $ORACLE_BASE/homes/HOME_NAME 형태라면 ➔ Read-Only 모드

 

Read Only로 변경

[oracle@ai26readonly bin]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@ai26readonly bin]$ pwd
/u01/app/oracle/product/26.0.0/dbhome_1/bin
[oracle@ai26readonly bin]$
[oracle@ai26readonly bin]$ ls -al roohctl
-rwxr-x---. 1 oracle dba 5250 Jul  1 15:04 roohctl
[oracle@ai26readonly bin]$
[oracle@ai26readonly 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 /u01/app/oracle/cfgtoollogs/roohctl/roohctl-260701PM033927.log for more details.
[oracle@ai26readonly bin]$
[oracle@ai26readonly bin]$ ./orabasehome
/u01/app/oracle/homes/OraDB23Home1
[oracle@ai26readonly bin]$
[oracle@ai26readonly bin]$ cd /u01/app/oracle/homes/OraDB23Home1
[oracle@ai26readonly OraDB23Home1]$ ls
assistants  dbs  drdaas  hs  install  mgw  network  rdbms
[oracle@ai26readonly OraDB23Home1]$

 

Oracle DB,리스너 생성 후 확인

[oracle@ai26readonly ~]$ id
uid=5001(oracle) gid=500(dba) groups=500(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@ai26readonly ~]$ env | grep SID
ORACLE_SID=CDB1
[oracle@ai26readonly ~]$
[oracle@ai26readonly ~]$ ps -ef | grep tns
root           8       2  0 08:48 ?        00:00:00 [kworker/R-netns]
oracle     30580       1  0 13:00 ?        00:00:00 /u01/app/oracle/product/26.0.0/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle     30625    4282  0 13:01 pts/0    00:00:00 grep --color=auto tns
[oracle@ai26readonly ~]$
[oracle@ai26readonly ~]$
[oracle@ai26readonly ~]$ lsnrctl status

LSNRCTL for Linux: Version 23.26.1.0.0 - Production on 02-JUL-2026 13:01:51

Copyright (c) 1991, 2026, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ai26readonly)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 23.26.1.0.0 - Production
Start Date                02-JUL-2026 13:00:49
Uptime                    0 days 0 hr. 1 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/homes/OraDB23Home1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/ai26readonly/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ai26readonly)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "5598f6714447661ae0636538a8c0b5af" has 1 instance(s).
  Instance "CDB1", status READY, has 1 handler(s) for this service...
Service "CDB1" has 1 instance(s).
  Instance "CDB1", status READY, has 1 handler(s) for this service...
Service "CDB1XDB" has 1 instance(s).
  Instance "CDB1", status READY, has 1 handler(s) for this service...
Service "pdb1" has 1 instance(s).
  Instance "CDB1", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@ai26readonly ~]$
[oracle@ai26readonly ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 23.26.1.0.0 - Production on Thu Jul 2 13:01:57 2026
Version 23.26.1.0.0

Copyright (c) 1982, 2025, Oracle.  All rights reserved.


Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/dbs/spfileCDB1.ora
SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0
[oracle@ai26readonly ~]$

 

 

반응형
반응형
Redhat 10에 Oracle DB 26Ai를 설치하기 위해서는 23.26.2(Gold Image) + Patch 39268330를 적용 해야 함

 

Installing Oracle AI Database 26ai on Oracle Linux 10 or Red Hat Enterprise Linux 10

 

Database Release Notes

 

docs.oracle.com

 

설치 방법

[oracle@rhel10nm ~]$ cd $ORACLE_HOME
[oracle@rhel10nm dbhome_1]$ pwd
/u01/app/oracle/product/26.0.0/dbhome_1
[oracle@rhel10nm dbhome_1]$
[oracle@rhel10nm dbhome_1]$ ls
addnode     crs     cv         demo         has            inventory  jlib  md        nls     OPatch      ord   PatchSearch.xml  python   rdbms        runInstaller   sqlcl     srvm      utl
assistants  crypto  data       diagnostics  hs             javavm     ldap  META-INF  odbc    OPatch_ORG  ords  perl             QOpatch  README.html  schagent.conf  sqlj      suptools  xdk
bin         css     dbs        dv           install        jdbc       lib   mgw       olap    opmn        oss   plsql            R        relnotes     sdk            sqlpatch  ucp
clone       ctx     deinstall  env.ora      instantclient  jdk        log   network   oml4py  oracore     oui   precomp          racg     root.sh      slax           sqlplus   usm
[oracle@rhel10nm dbhome_1]$
[oracle@rhel10nm dbhome_1]$ ./runInstaller -applyOneOffs /u01/app/STAGE/39268330
[oracle@rhel10nm dbhome_1]$
반응형
반응형

RHEL9 부터 초기설치 후 보안강화로 SSH등 외부에서 OS root User로 Login을 차단 했다.

 

RHEL 10에서 Web Console을 OS root User로 Login 할 수 있는 설정 하는 방법이다.

--Disallowed List에서 OS root User 제거
[root@rhel10nm ~]#
[root@rhel10nm ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10nm ~]#
[root@rhel10nm ~]# more /etc/cockpit/disallowed-users
# List of users which are not allowed to login to Cockpit
root
[root@rhel10nm ~]#
[root@rhel10nm ~]# vi /etc/cockpit/disallowed-users
[root@rhel10nm ~]#
[root@rhel10nm ~]# more /etc/cockpit/disallowed-users
# List of users which are not allowed to login to Cockpit
#root
[root@rhel10nm ~]#
--Web Console Restart
[root@rhel10nm ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel10nm ~]#
[root@rhel10nm ~]# systemctl restart cockpit.socket
[root@rhel10nm ~]#

 

반응형

+ Recent posts