2024. 8. 12. 13:34 오라클

Oracle 23ai RAC 설치


귀찮아서 미뤄 두었던 23ai RAC 를설치해 보았다. Single 설치에 이은 2탄이라고나 할까? 

단, Exadata 용 설치 binary 이기 때문에 운영 용도로 성급히 사용해서는 절대 안된다. 반드시 반드시 테스트 용도로만 사용해 볼것!!!

 

1. Oracle Grid Infrastructure S/W 설치

- Directory 사전 생성
mkdir -p /u01/app/23.0.0.0/grid
chown -R oracle:dba /u01


1. 설치파일을 FTP로 해당서버에 upload
LINUX.X64_235000_forEngineeredSytems_grid_home.zip (Size 2.8G)
 
2. 설치이미지 압축해제 (반드시 $GI_HOME 밑에 압축해제 해야 함)
unzip LINUX.X64_235000_forEngineeredSytems_grid_home.zip -d $GI_HOME
 
3. gridSetup.sh실행

xhost +
su – oracle
export DISPLAY=작업PC IP:0.0
cd $GI_HOME
./ gridSetup.sh 실행
 

[Configure Oracle Grid Infrastructure for a New Cluster 선택후, Next]

[Configure Clusterto manage Oracle RAC databases, Next]

[Cluster Name, SCAN Name 지정후, Next]

[add 버튼으로 rac2노드 추가 후 passwordless ssh , Next]

[Network Interface 지정 후, Next]

[Use Oracle Flex ASM for storage 선택 후, Next]

[VOTE 디스크 지정 후, Next] 

여기서는 HIGH로 구성함

[비밀번호 지정 후, Next]

[Enable Automatic Self Correction uncheck, Next]

[Do not use IPMI , Next]

[EM 미구성, Next]

[dba 그룹지정후, Next]

[GI Base 지정 후, Next]

[Inventory 지정후, Next]

[자동 스크립트 uncheck, Next]

[Fixup  Ignore All check , Next]

[rsp 파일 저장후, Install Click] 

[화면의 내용대로 반드시 노드별 순서대로 스크립트 실행]


orainstRoot.sh 수행 (모든 노드 수행)

 

1번노드에서 수행
root@rose1:/root# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
 
Changing groupname of /u01/app/oraInventory to dba.
The execution of the script is complete.


2번노드에서 수행
root@rose2:/root# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
 
Changing groupname of /u01/app/oraInventory to dba.
The execution of the script is complete.
 
1번노드에서 수행
root@rose1:/root# /u01/app/23.0.0.0/grid/root.sh
Performing root user operation.
 
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/23.0.0.0/grid
 
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/23.0.0.0/grid/perl/bin/perl -I/u01/app/23.0.0.0/grid/perl/lib -I/u01/app/23.0.0.0/grid/crs/install /u01/app/23.0.0.0/grid/crs/install/rootcrs.pl '
Using configuration parameter file: /u01/app/23.0.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rose1/crsconfig/rootcrs_rose1_2024-08-07_03-50-49PM.log
2024/08/07 15:50:56 CLSRSC-594: Executing installation step 1 of 19: 'ValidateEnv'.
2024/08/07 15:50:56 CLSRSC-594: Executing installation step 2 of 19: 'CheckRootCert'.
2024/08/07 15:50:57 CLSRSC-594: Executing installation step 3 of 19: 'GenSiteGUIDs'.
2024/08/07 15:50:59 CLSRSC-594: Executing installation step 4 of 19: 'SetupOSD'.
2024/08/07 15:50:59 CLSRSC-594: Executing installation step 5 of 19: 'CheckCRSConfig'.
2024/08/07 15:51:00 CLSRSC-594: Executing installation step 6 of 19: 'SetupLocalGPNP'.
2024/08/07 15:51:01 CLSRSC-594: Executing installation step 7 of 19: 'CreateRootCert'.
2024/08/07 15:51:02 CLSRSC-594: Executing installation step 8 of 19: 'ConfigOLR'.
2024/08/07 15:51:02 CLSRSC-594: Executing installation step 9 of 19: 'ConfigCHMOS'.
2024/08/07 15:51:02 CLSRSC-594: Executing installation step 10 of 19: 'CreateOHASD'.
2024/08/07 15:51:03 CLSRSC-594: Executing installation step 11 of 19: 'ConfigOHASD'.
2024/08/07 15:51:13 CLSRSC-594: Executing installation step 12 of 19: 'SetupTFA'.
2024/08/07 15:51:13 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2024/08/07 15:51:13 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2024/08/07 15:51:16 CLSRSC-594: Executing installation step 15 of 19: 'CheckFirstNode'.
2024/08/07 15:51:17 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2024/08/07 15:51:21 CLSRSC-4002: Successfully installed Oracle Autonomous Health Framework (AHF).
CRS-4256: Updating the profile
Successful addition of voting disk 70302270ae374f52bfdb52dce11423c6.
Successful addition of voting disk 853b00134e034fcebf88f25576fa2a80.
Successful addition of voting disk 7578baed74b14fd6bfcdf937816cc086.
Successful addition of voting disk def894b31fa94f55bf82a38e52a1eedf.
Successful addition of voting disk 31929cd8f29d4f0ebf1b91a21ee27fa6.
Successfully replaced voting disk group with +VOTE.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   70302270ae374f52bfdb52dce11423c6 (/dev/VOTE1) [VOTE]
 2. ONLINE   853b00134e034fcebf88f25576fa2a80 (/dev/VOTE2) [VOTE]
 3. ONLINE   7578baed74b14fd6bfcdf937816cc086 (/dev/VOTE3) [VOTE]
 4. ONLINE   def894b31fa94f55bf82a38e52a1eedf (/dev/VOTE4) [VOTE]
 5. ONLINE   31929cd8f29d4f0ebf1b91a21ee27fa6 (/dev/VOTE5) [VOTE]
Located 5 voting disk(s).
2024/08/07 15:52:29 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2024/08/07 15:52:57 CLSRSC-343: Successfully started Oracle Clusterware stack
2024/08/07 15:53:03 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
clscfg: EXISTING configuration version 23 detected.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2024/08/07 15:53:41 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2024/08/07 15:54:13 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
 
2번노드에서 수행
root@rose2:/root#  /u01/app/23.0.0.0/grid/root.sh
Performing root user operation.
 
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/23.0.0.0/grid
 
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/23.0.0.0/grid/perl/bin/perl -I/u01/app/23.0.0.0/grid/perl/lib -I/u01/app/23.0.0.0/grid/crs/install /u01/app/23.0.0.0/grid/crs/install/rootcrs.pl '
Using configuration parameter file: /u01/app/23.0.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rose2/crsconfig/rootcrs_rose2_2024-08-07_04-54-49PM.log
2024/08/07 16:54:56 CLSRSC-594: Executing installation step 1 of 19: 'ValidateEnv'.
2024/08/07 16:54:56 CLSRSC-594: Executing installation step 2 of 19: 'CheckRootCert'.
2024/08/07 16:54:57 CLSRSC-594: Executing installation step 3 of 19: 'GenSiteGUIDs'.
2024/08/07 16:54:57 CLSRSC-594: Executing installation step 4 of 19: 'SetupOSD'.
2024/08/07 16:54:57 CLSRSC-594: Executing installation step 5 of 19: 'CheckCRSConfig'.
2024/08/07 16:54:58 CLSRSC-594: Executing installation step 6 of 19: 'SetupLocalGPNP'.
2024/08/07 16:54:58 CLSRSC-594: Executing installation step 7 of 19: 'CreateRootCert'.
2024/08/07 16:54:58 CLSRSC-594: Executing installation step 8 of 19: 'ConfigOLR'.
2024/08/07 16:54:59 CLSRSC-594: Executing installation step 9 of 19: 'ConfigCHMOS'.
2024/08/07 16:54:59 CLSRSC-594: Executing installation step 10 of 19: 'CreateOHASD'.
2024/08/07 16:55:00 CLSRSC-594: Executing installation step 11 of 19: 'ConfigOHASD'.
2024/08/07 16:55:06 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2024/08/07 16:55:15 CLSRSC-594: Executing installation step 12 of 19: 'SetupTFA'.
2024/08/07 16:55:15 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2024/08/07 16:55:15 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2024/08/07 16:55:19 CLSRSC-594: Executing installation step 15 of 19: 'CheckFirstNode'.
2024/08/07 16:55:19 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2024/08/07 16:55:21 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2024/08/07 16:56:15 CLSRSC-4002: Successfully installed Oracle Autonomous Health Framework (AHF).
2024/08/07 16:57:25 CLSRSC-343: Successfully started Oracle Clusterware stack
2024/08/07 16:57:25 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2024/08/07 16:57:25 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2024/08/07 16:57:43 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
 
 양 노드에서 root.sh가 완료되어 OK 하면 후속작업이 진행되고 완료된다.

[설치완료]
 

- crs 상태확인

root@rose1:/root# crsctl stat res -t

--------------------------------------------------------------------------------

Name           Target  State        Server                   State details      

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.LISTENER.lsnr

               ONLINE  ONLINE       rose1                    STABLE

               ONLINE  ONLINE       rose2                    STABLE

ora.chad

               ONLINE  ONLINE       rose1                    STABLE

               ONLINE  ONLINE       rose2                    STABLE

ora.cvuadmin

               OFFLINE OFFLINE      rose1                    STABLE

               OFFLINE OFFLINE      rose2                    STABLE

ora.helper

               OFFLINE OFFLINE      rose1                    STABLE

               OFFLINE OFFLINE      rose2                    IDLE,STABLE

ora.net1.network

               ONLINE  ONLINE       rose1                    STABLE

               ONLINE  ONLINE       rose2                    STABLE

ora.ons

               ONLINE  ONLINE       rose1                    STABLE

               ONLINE  ONLINE       rose2                    STABLE

--------------------------------------------------------------------------------

Cluster Resources

--------------------------------------------------------------------------------

ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)

      1        ONLINE  ONLINE       rose1                    STABLE

      2        ONLINE  ONLINE       rose2                    STABLE

ora.LISTENER_SCAN1.lsnr

      1        ONLINE  ONLINE       rose1                    STABLE

ora.VOTE.dg(ora.asmgroup)

      1        ONLINE  ONLINE       rose1                    STABLE

      2        OFFLINE OFFLINE                               STABLE

ora.asm(ora.asmgroup)

      1        ONLINE  ONLINE       rose1                    Started,STABLE

      2        ONLINE  ONLINE       rose2                    Started,STABLE

ora.asmnet1.asmnetwork(ora.asmgroup)

      1        ONLINE  ONLINE       rose1                    STABLE

      2        ONLINE  ONLINE       rose2                    STABLE

ora.cdp1.cdp

      1        ONLINE  ONLINE       rose1                    STABLE

ora.cvu

      1        ONLINE  ONLINE       rose1                    STABLE

ora.rhpserver

      1        OFFLINE OFFLINE                               STABLE

ora.rose1.vip

      1        ONLINE  ONLINE       rose1                    STABLE

ora.rose2.vip

      1        ONLINE  ONLINE       rose2                    STABLE

ora.scan1.vip

      1        ONLINE  ONLINE       rose1                    STABLE

--------------------------------------------------------------------------------

root@rose1:/root# crsctl stat res -t -init

--------------------------------------------------------------------------------

Name           Target  State        Server                   State details      

--------------------------------------------------------------------------------

Cluster Resources

--------------------------------------------------------------------------------

ora.asm

      1        ONLINE  ONLINE       rose1                    Started,STABLE

ora.cluster_interconnect.haip

      1        ONLINE  ONLINE       rose1                    STABLE

ora.crf

      1        ONLINE  ONLINE       rose1                    STABLE

ora.crsd

      1        ONLINE  ONLINE       rose1                    STABLE

ora.cssd

      1        ONLINE  ONLINE       rose1                    STABLE

ora.cssdmonitor

      1        ONLINE  ONLINE       rose1                    STABLE

ora.diskmon

      1        OFFLINE OFFLINE                               STABLE

ora.evmd

      1        ONLINE  ONLINE       rose1                    STABLE

ora.gipcd

      1        ONLINE  ONLINE       rose1                    STABLE

ora.gpnpd

      1        ONLINE  ONLINE       rose1                    STABLE

ora.mdnsd

      1        ONLINE  ONLINE       rose1                    STABLE

ora.storage

      1        ONLINE  ONLINE       rose1                    STABLE

--------------------------------------------------------------------------------

 

2. ASMCA 이용 추가 Diskgroup 생성

- Diskgroup 생성전 asm_diskstring 추가작업
 
root@rose1:/root# su - oracle
[ROSE1]oracle@rose1:/home/oracle# . oraenv
ORACLE_SID = [ROSE1] ? +ASM1
ORACLE_HOME = [/home/oracle] ? /u01/app/23.0.0.0/grid
The Oracle base remains unchanged with value /u01/app/oracle
[+ASM1]oracle@rose1:/home/oracle# sa
 
SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Thu Aug 8 09:03:08 2024
Version 23.5.0.24.07
 Copyright (c) 1982, 2024, Oracle.  All rights reserved.
Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.5.0.24.07
 
SQL> alter system set asm_diskstring='/dev/VOTE*','/dev/DATA*','/dev/RECO*';
System altered.
 
export DISPLAY=작업PC IP:0.0
 ./asmca

[왼쪽메뉴 Disk Groups 선택, Create Click]
[DATA 디스크 그룹지정, External 선택후 OK]
[RECO 디스크 그룹지정, External 선택후 OK]
[생성된 Diskgroup 확인후 Exit]

3. Oracle Database S/W 설치

- Directory 사전 생성
mkdir -p /u01/app/oracle/product/23.0.0.0/dbhome_1
chown -R oracle:dba /u01
chmod -R 755 /u01
 
1. 설치파일을 FTP로 해당서버에upload
LINUX.X64_235000_forEngineeredSystems_db_home.zip (Size 2.1G)
 
2. 설치이미지 압축해제 (반드시 $ORACLE_HOME 밑에 압축해제 해야 함)
LINUX.X64_235000_forEngineeredSystems_db_home.zip -d $ORACLE_HOME
 
3. runInstaller실행
xhost +
su – oracle
export DISPLAY=작업PC IP:0.0
cd $ORACLE_HOME
./runInstaller 실행
 

[Set Up RAC Software Only 지정 후, Next]

[Oralcle Real Application Clusters 선택후 Next]

[노드 지정후, Next]

[Enterprise Edition 지정 후, Next]

[Oracle base 지정 후, Next]

[그룹 지정 후, Next]

[Automatically run configuration scripts 선택하지 않는다, Next]

[Ignore all 체크후, Next]

[Summary 확인후, Install]

[설치 진행이 완료되면 화면의 script 를 순서대로 실행]


[root@rose1]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
 
Changing groupname of /u01/app/oraInventory to dba.
The execution of the script is complete.
 
[root@rose1]# /u01/app/oracle/product/23.0.0.0/dbhome_1/root.sh
Performing root user operation.
 
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME=  /u01/app/oracle/product/23.0.0.0/dbhome_1
 
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
 
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
 
2번도 동일하게 수행후 OK 

[Database S/W 설치완료]

4. Netca 이용 리스너 생성

GRID 설치시 구성되어 있으므로 생략 

 

5. DBCA 이용 Database 생성

export DISPLAY=작업PC IP:0.0
cd $ORACLE_HOME/bin
./dbca
 

[Create Database 선택 후, Next]

[Advanced configuration선택 후, Next]

[Custom Database 선택 후, Next]

[노드 지정 후, Next]

[db name/SID 지정, PDB 이름 지정 (252개까지 가능) , Next]

[Datafile 저장경로 설정 후, Next]

[Fast Recovery Area / 아카이브 경로 설정, Next]

[설치할 component 확인 후, Next]

[Character sets 확인 후, Next]

[EM Uncheck , Next]

[SYS, SYSTEM password 설정 후, Next]

[Generate database creation scripts Check, Next]

[Prerequisite Check 진행, Ignore All 선택후, Next]

[Summary 확인후, Finish] 

[스크립트만 생성후, Close]
 


- Exadata version이기 때문에 engine설치는 잘 되지만 dbca생성시 아래와 같은 Error발 생합니다. (ORA-27350, ORA-01034) 

 

This version of the Oracle Database software cannot be run on this platform.

 

해결방법은 silentDatabase생성하여야 하며 아래와 같은 script 수정하여 dbca 돌리시면 됩니다.


우선 GUI dbca실행하여 script만 받아낸 후에…

[ROSEC1]oracle@rose1:/u01/app/oracle/admin/ROSEC/scripts# ls -al
total 97272
drwxr-x--- 2 oracle dba4096 Aug8 12:27 .
drwxr-x--- 7 oracle dba79 Aug8 10:42 ..
-rw-r----- 1 oracle dba849 Aug8 10:18 CreateClustDBViews.sql
-rw-r----- 1 oracle dba1948 Aug8 10:18 CreateDBCatalog.sql
-rw-r----- 1 oracle dba459 Aug8 10:18 CreateDBFiles.sql
-rw-r----- 1 oracle dba1201 Aug8 10:18 CreateDB.sql
-rw-r----- 1 oracle dba2512 Aug8 12:22 init.ora
-rw-r----- 1 oracle dba1758 Aug8 10:18 lockAccount.sql
-rw-r----- 1 oracle dba92 Aug8 10:18 mkDir.sql
-rw-r----- 1 oracle dba92 Aug8 10:18 PDBCreation.sql
-rw-r----- 1 oracle dba1591 Aug8 10:18 plug_ROSEP1.sql
-rw-r----- 1 oracle dba1266 Aug8 10:18 postDBCreation.sql
-rw-r----- 1 oracle dba1586 Aug8 10:18 postPDBCreation_ROSEP1.sql
-rwxr-x--- 1 oracle dba1131 Aug8 10:18 ROSEC1.sh
-rw-r----- 1 oracle dba      1314 Aug  8 10:18 ROSEC1.sql

 

vi init.ora

_exadata_feature_on=true   <--- 마지막 줄에 해당 hidden 추가후 저장


ROSEC1.sh실행하면 됨.

 

6. 설치완료후 확인

1번 노드
root@rose1:/root# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
ora.chad
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
ora.cvuadmin
               OFFLINE OFFLINE      rose1                    STABLE
               OFFLINE OFFLINE      rose2                    STABLE
ora.helper
               OFFLINE OFFLINE      rose1                    IDLE,STABLE
               OFFLINE OFFLINE      rose2                    IDLE,STABLE
ora.net1.network
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
ora.ons
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rose1                    STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    Started,STABLE
      2        ONLINE  ONLINE       rose2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.cdp1.cdp
      1        ONLINE  ONLINE       rose1                    STABLE
ora.cvu
      1        ONLINE  ONLINE       rose1                    STABLE
ora.rhpserver
      1        OFFLINE OFFLINE                               STABLE
ora.rose1.vip
      1        ONLINE  ONLINE       rose1                    STABLE
ora.rose2.vip
      1        ONLINE  ONLINE       rose2                    STABLE
ora.rosec.db
      1        ONLINE  ONLINE       rose1                    Open,HOME=/u01/app/o
                                                             racle/product/23.0.0
                                                             .0/dbhome_1,STABLE
      2        ONLINE  ONLINE       rose2                    Open,HOME=/u01/app/o
                                                             racle/product/23.0.0
                                                             .0/dbhome_1,STABLE
ora.rosec.rosep1.pdb
      1        ONLINE  ONLINE       rose1                    READ WRITE,STABLE
      2        ONLINE  ONLINE       rose2                    READ WRITE,STABLE
ora.scan1.vip

      1        ONLINE  ONLINE       rose1                    STABLE

 
2번 노드
root@rose2:/root# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
ora.chad
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
ora.cvuadmin
               OFFLINE OFFLINE      rose1                    STABLE
               OFFLINE OFFLINE      rose2                    STABLE
ora.helper
               OFFLINE OFFLINE      rose1                    IDLE,STABLE
               OFFLINE OFFLINE      rose2                    IDLE,STABLE
ora.net1.network
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
ora.ons
               ONLINE  ONLINE       rose1                    STABLE
               ONLINE  ONLINE       rose2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rose1                    STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.VOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    Started,STABLE
      2        ONLINE  ONLINE       rose2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rose1                    STABLE
      2        ONLINE  ONLINE       rose2                    STABLE
ora.cdp1.cdp
      1        ONLINE  ONLINE       rose1                    STABLE
ora.cvu
      1        ONLINE  ONLINE       rose1                    STABLE
ora.rhpserver
      1        OFFLINE OFFLINE                               STABLE
ora.rose1.vip
      1        ONLINE  ONLINE       rose1                    STABLE
ora.rose2.vip
      1        ONLINE  ONLINE       rose2                    STABLE
ora.rosec.db
      1        ONLINE  ONLINE       rose1                    Open,HOME=/u01/app/o
                                                             racle/product/23.0.0
                                                             .0/dbhome_1,STABLE
      2        ONLINE  ONLINE       rose2                    Open,HOME=/u01/app/o
                                                             racle/product/23.0.0
                                                             .0/dbhome_1,STABLE
ora.rosec.rosep1.pdb
      1        ONLINE  ONLINE       rose1                    READ WRITE,STABLE
      2        ONLINE  ONLINE       rose2                    READ WRITE,STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rose1                    STABLE
--------------------------------------------------------------------------------

Posted by pat98

2024. 8. 1. 22:50 오라클

Oracle 23ai 설치


 

 

현재 23ai 버전은 클라우드에서만 정식 release 되어 사용가능하고 on-premise 버전은 release 되지 않았다. (아마 9월에 있을  2024년 Oracle Cloud World 할때 래리 앨리슨이 짜잔~~ 하면서 발표하지 않을까 조심스럽게 예상)

 

free developer 버전이 있지만 뭔가 아쉽고..

 

마침 7월22일부터  Exadata 용 23ai 버전을 edelivery.oracle.com 을 download 받을수 있어 설치해 보고 기록을 남기고자 한다. 설치과정 자체는 이전버전과 거의 같아서 사실 별거 없다..RAC 는 귀찮아서 나중에 해보도록 하겠다.

 

단, Exadata 용 설치 binary 이기 때문에 운영 용도로 성급히 사용해서는 절대 안된다. 반드시 반드시 테스트 용도로만 사용해 볼것!!!

 

- https://edelivery.oracle.com 으로 가서 설치 화일을 다운 받는다.

 

edelivery.oracle.com

 

1. 설치파일을 FTP로 해당서버에 upload
LINUX.X64_235000_forEngineeredSystems_db_home .zip (Size 2.1G)

 

2. mkdir -p /u01/app/oracle/product/23.0.0.0/dbhome_1

   chown -R oracle:dba /u01


3. 설치이미지 압축해제 (반드시 $ORACLE_HOME 밑에 압축해제 해야 함)
unzip LINUX.X64_235000_forEngineeredSystems_db_home .zip -d $ORACLE_HOME


4. runInstaller실행
xhost +
su – oracle
export DISPLAY=작업PC IP:0.0
cd $ORACLE_HOME
./runInstaller 실행

[Set Up Software Only 지정 후, Next]

 

[Single instance database installation지정 후, Next]

 

[Enterprise Edition 지정 후, Next]

 

[Oracle base 지정 후, Next]

 

[Inventory 지정 후, Next]

 

[그룹 지정 후, Next]

 

[Automatically run configuration scripts 선택하지 않는다, Next]

 

[Ignore all 체크후, Next]

 

[설치 진행이 완료되면 화면의 script 를 순서대로 실행]

 

[root@23ai ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to dba.
The execution of the script is complete.

[root@23ai ~]# /u01/app/oracle/product/23.0.0.0/dbhome_1/root.sh
Performing root user operation.

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/23.0.0.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

[Database S/W 설치완료]


5. Netca 이용 리스너 생성
cd $ORACLE_HOME/bin
./netca

[Listener configuration 지정 후, Next]

 

[Add 지정 후, Next]

 

[Listener name지정 후, Next]

 

[Protocol 지정 후, Next]

 

[Port 지정 후, Next]

 

[No 지정 후, Next]

 

[Next]

 

[Finish]


6. DBCA 이용 Database 생성 <--- 단 여기서 Exadata 용 Binary 이므로 마지막에 Error 가 난다. 해결방법도 기술한다.
export DISPLAY=작업PC IP:0.0
cd $ORACLE_HOME/bin
./dbca

[Create Database 선택 후, Next]

 

[Advanced configuration선택 후, Next]

 

[Custom Database 선택 후, Next]

 

[db name/SID 지정, PDB 이름 지정 (252개까지 가능) 후, Next]

 

[Datafile 저장경로 설정 후, Next]

 

[Fast Recovery Area / 아카이브 경로 설정, Next]

 

[리스너 지정 후, Next]

 

[Component 확인 후, Next]

 

[Character sets 확인 후, Next]

 

[EM Uncheck 후, Next]

 

[SYS, SYSTEM password 설정 후, Next]

 

[Generate database creation scripts 체크후 , Next]

 

[Summary 확인후, Finish]

 

[Database 생성 진행]

On-premise 정식버전이면 에러 안 뿜겠지만 이 단계 이후 진행하면 DB생성 진행중

ORA-27350: This version of the Oracle Database software cannot be run on this platform

메세지와 함께 더 이상 설치를 진행할수 없다.

 

- 해결방법- 

GUI 로는 설치를 마무리 할수 없고 Silent mode 를 써서 아름답게 마무리 하자.

DB생성 12 step 에서 생성된 scripts 의 directory 로 간다.

cd /u01/app/oracle/admin/CDB1/scripts

 vi init.ora

_exadata_feature_on=true   <--- 마지막 줄에 해당 hidden 추가후 저장

 

[CDB1]oracle@23ai:/u01/app/oracle/admin/CDB1/scripts# ls -al

total 52

drwxr-x--- 2 oracle dba 4096 Jul 31 15:50 .

drwxr-x--- 6 oracle dba   66 Jul 31 15:07 ..

-rwxr-x--- 1 oracle dba  746 Jul 31 15:07 CDB1.sh

-rw-r----- 1 oracle dba  857 Jul 31 15:07 CDB1.sql

-rw-r----- 1 oracle dba  845 Jul 31 15:07 CreateClustDBViews.sql

-rw-r----- 1 oracle dba 1941 Jul 31 15:07 CreateDBCatalog.sql

-rw-r----- 1 oracle dba  383 Jul 31 15:07 CreateDBFiles.sql

-rw-r----- 1 oracle dba 1465 Jul 31 15:07 CreateDB.sql

-rw-r----- 1 oracle dba 2150 Jul 31 15:46 init.ora

-rw-r----- 1 oracle dba 1757 Jul 31 15:07 lockAccount.sql

-rw-r----- 1 oracle dba   91 Jul 31 15:07 PDBCreation.sql

-rw-r----- 1 oracle dba 1885 Jul 31 15:07 plug_PDB1.sql

-rw-r----- 1 oracle dba  879 Jul 31 15:07 postDBCreation.sql

-rw-r----- 1 oracle dba 1603 Jul 31 15:07 postPDBCreation_PDB1.sql

 

CDB1.sh 실행하면 됨. <---- 당연하게도 스크립트는 설정된 이름에 따라 다를수 있다.

 

text 모드로 쭈욱 진행되고 완료가 되면...

 

[CDB1]oracle@23ai:/home/oracle# ss

SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Thu Aug 1 22:48:48 2024
Version 23.5.0.24.07

Copyright (c) 1982, 2024, Oracle.  All rights reserved.
Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.5.0.24.07

CDB$ROOT@CDB1> show pdbs

    CON_ID CON_NAME         OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                                 MOUNTED

 

- 설치 끝!!--

 

23ai 는 설치작업 보다는 새로이 적용된 기능 및 Architecture 자체를 이해하고 접근하는 것이 굉장히 중요한 버전이 되었다.

Posted by pat98

23ai pdb별 timezone 설정 테스트

 

23ai 부터는 생성된 PDB별로 timezone 을 개별로 설정할 수가 있게 되었다.

- 설정확인
Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.5.0.24.07

SQL> show parameter time_at_dbtimezone
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
time_at_dbtimezone                   string      off

SQL> select name,ISPDB_MODIFIABLE from v$parameter where name='time_at_dbtimezone';
NAME                                     ISPDB
---------------------------------------- -----
time_at_dbtimezone                       TRUE


- 2개의 PDB가 있다고 가정
- 각각의 PDB에 접속하여 아래와 같이 변경

미국 LA
SQL>alter system set time_at_dbtimezone = 'DATABASE' scope=spfile;
SQL>alter database set time_zone='America/Los_Angeles';

한국 Seoul
SQL>alter system set time_at_dbtimezone = 'DATABASE' scope=spfile;
SQL>alter database set time_zone='Asia/Seoul';

- CDB에서 모든 PDB 재기동
SQL>alter pluggable database all close;
SQL>alter pluggable database all open;

- 각각의 PDB에 접속하여 아래와 같이 확인
show parameter time_at_dbtimezone
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "NOW" FROM DUAL;

NOW
-------------------
2024-08-01 14:19:05

* value 값 참고

https://docs.oracle.com/en/database/oracle/oracle-database/23/refrn/TIME_AT_DBTIMEZONE.html#REFRN-GUID-493916F5-AFD7-4001-8FB4-02258E0AD595


OFF- 모든 시간 종속 작업의 경우 데이터베이스는 데이터베이스가 시작될 때 적용되었던 데이터베이스 호스트 시스템의 표준 시간대를 사용합니다. 이는 Oracle Database 23ai 이전 릴리스의 동작입니다.

USER_SQL- SQL 함수는 PDB 설정 에 따라 날짜와 시간을 반환합니다 SYSDATE. 다른 모든 시간 종속 작업의 경우 데이터베이스는 데이터베이스가 시작되었을 때 적용되었던 데이터베이스 호스트 시스템의 표준 시간대를 사용합니다. SYSTIMESTAMPDBTIMEZONE

DATABASE - 모든 시간 종속 작업에 대해 데이터베이스는 PDB 설정 에서 지정된 시간대를 사용합니다.

Posted by pat98

Critical Patch Update (CPU) Program Jul 2024 Patch Availability Document (DB-only) (Doc ID 3027813.1)

 

패치작업 19.24.0.0.240716 (GI PSU 36582629)

Database Patch Set Update : 19.24.0.0.240716 (36582781)
OCW Patch Set Update      : 19.24.0.0.240716 (36587798)
ACFS Patch Set Update     : 19.24.0.0.240716 (36590554)
Tomcat Release Update     : 19.0.0.0.0       (36648174)
DBWLM Release Update      : 19.0.0.0.0       (36758186)

Oracle Grid Infrastructure Patch Set Update 19.24.0.0.240716 
-------------------------------------
GI_HOME, ORACLE_HOME 을 개별로 각각 할때

- grid 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36582629/36582781
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36582629/36587798
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36582629/36590554
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36582629/36758186
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36582629/36648174

- oracle 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36582629/36582781
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36582629/36587798

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/crs/install/rootcrs.sh -prepatch 

(grid 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/patch
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36582629/36587798 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36582629/36590554 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36582629/36582781 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36582629/36758186 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36582629/36648174 -silent

(oracle 유저)
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
cd /u01/patch
./36582629 /36587798/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/patch/36582629/36587798 -silent
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/patch/36582629/36582781 -silent
./36582629 /36587798/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME 

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch 

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name> 

- Loading Modified SQL Files into the Database
sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

### [롤백하는 경우] ###########

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

GI Home
(root로)
$GI_HOME/crs/install/rootcrs.sh -prepatch -rollback

(grid 유저로)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch nrollback -local -id 36587798,36590554,36582781,36758186,36648174 -oh $GI_HOME -silent

(oracle 유저로)
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
cd /u01/install
./36582629 /36587798/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME 
$ORACLE_HOME/OPatch/opatch nrollback -local -id 36587798,36582781 -oh /u01/app/oracle/product/19.0.0.0/dbhome_1 -silent
./36582629 /36587798/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

Run post script
(root로)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch -rollback

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose



Posted by pat98

19c CDB 환경에서 PDB로 접속하기 위해서는

 

1.CDB에 접속

2. SQL> alter session set container=PDB;

이런식으로 접속하곤 하는데 이것 마저 귀찮다면 환경변수 설정하고 바로 SYS나 SYSTEM 계정으로 PDB로 접속할수 있다. = bequeath connections

 

공식적인 방법은 아니다.

 

1. 우선 CDB 에 접속하여 아래와 같은 trigger 를 만들어 준다.

 

 SQL>CREATE OR REPLACE NONEDITIONABLE TRIGGER "SYS"."DBMS_SET_PDB" after logon on database

  WHEN (user = 'SYS' or user = 'SYSTEM') declare
  pdb_name varchar2(64);
  begin
  DBMS_SYSTEM.get_env ('ORACLE_PDB_SID', pdb_name);
  if(pdb_name is not null)
  then
  EXECUTE IMMEDIATE 'alter session set container = ' || pdb_name;
  end if;
  exception
  when others then
  NULL;
  end dbms_set_pdb;
  /
Trigger created.

 

2. 오라클 계정 .bash_profile 설정

 

CDB 이름은 CDB

PDB 이름은 PDB 라고 가정

 

export ORACLE_SID=CDB
export ORACLE_PDB_SID=PDB

 

:wq! 

 

저장후..

 

다시 접속

sqlplus "/as sysdba"

SQL> show user
USER is "SYS"

SQL> show con_name

CON_NAME
------------------------------
PDB

 

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 PDB                            READ WRITE NO

 

 

 

Posted by pat98

Database 생성후 instace 번호가 바뀌어 보일 때...

증상 : database 생성 완료 후 crsctl stat res -t 로 상태 확인 하였을시 1,2,3,4 로 순차적으로 보이는 것이 아닌 바뀌어서 보임.

  INST_ID INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
---------- --------------- --------------------------------------------------
  1 1 RACDB1 RACNode1
  4 4 RACDB4 RACNode4
  3 3 RACDB3 RACNode3
  2 2 RACDB2 RACNode2
  
 원인 : 
 DBCA는 srvm api에서 검색한 노드를 기반으로 인스턴스를 생성하는 반면 노드 순서는 crs 노드에서 실행된 루트 스크립트의 순서에 따라 반환됨.
 이 특정 사례에서 인스턴스 이름이 노드 이름과 일치하더라도 crsctl 출력은 다른 순서로 나타나게 됨.
 
 결론 : 
 olsnodes -n -t 가 정상적이면 상관없기 때문에 expected behavior 임.

RACNode1   1       Unpinned
RACNode2   2       Unpinned
RACNode3   3       Unpinned
RACNode4   4       Unpinned
 
노든의 순서는 인스턴스 번호와 일치하지 않음.
인스턴스 이름이 노드 이름과 일치하더라도 crsctl 출력은 인스턴스마다 순서가 다를 수 있슴.

관련 MOS :
Database Instance Resources Sequence in "crsctl stat res -t" Output Mismatches With Output of "olsnodes -n" (Doc ID 1580894.1)

Posted by pat98

alertlog 에 지속적으로 해당 로그 발생

ORA-00600 [KCBTSE_ENCDEC_TBSBLK_11]

 

검토한 여러가지 방법 등이 있었으나 내리고 바로 Patch 할수 없는 상황이었으므로..

- 조치방법

Oracle 19.21 버전 사용중임.

alter system set "_bug30316897_allow_fallback_to_dbkey" =TRUE;  <---- 메모리단 적용됨

 

적용직후 바로 alertlog 에 해당 메세지 사라짐.

 

- 참조 MOS 노트

ORA-600 [kcbtse_encdec_tbsblk_11] Errors if wrongly Encrypted Blocks Detected in DB (Doc ID 2986072.1)
RMAN: ORA-00600 [KCBTSE_ENCDEC_TBSBLK_1] during RMAN backup for Non-Encrypted datafile (Doc ID 2832781.1)
19c DBUA TDE-Encrypted Database Upgrade Fails During Timezone Step with ORA-600 [kcbtse_encdec_tbsblk_11] in alert.log (Doc ID 2888229.1)

Posted by pat98

set linesize window
set pagesize 100
col file_type format a20
col path format a50
col "USED%" for 990.9
define dirlv=2
select
  file_type,
  count(*) files,
  round(sum(space)/1024/1024) mbytes,
  round(sum(space)/1024/1024/dgmsize*100, 1) "USED%",
  path
from
  ( select
      concat('+'||gname, replace(sys_connect_by_path(case when level < &dirlv then '/'||aname else '' end, '|'), '|', null)) path,
      file_type,
      space,
      gname,
      dgmsize
    from
      ( select b.name gname, a.name aname,
          a.reference_index rindex, a.parent_index pindex,
          c.type file_type, c.space,
          a.system_created, a.alias_directory,
          b.total_mb dgmsize
        from v$asm_alias a, v$asm_diskgroup b, v$asm_file c
        where a.group_number = b.group_number
          and a.group_number = c.group_number(+)
          and a.file_number = c.file_number(+)
          and a.file_incarnation = c.incarnation(+)
      )
    where
      connect_by_isleaf = 1 and alias_directory = 'N' 
      and not (system_created = 'N' and alias_directory = 'N') 
    start with (mod(pindex, power(2, 24))) = 0
    connect by prior rindex = pindex
  )
group by file_type, path, gname, dgmsize
order by gname, mbytes desc
;

Posted by pat98

OS버전은 Oracle Linux 8.9 로 이전과 동일합니다.

Exadata System Software 24ai - 모든 규모에서 미션 크리티컬 AI 제공

 

Exadata 제품 관리 및 엔지니어링 팀은 Exadata System Software 24ai의 출시를 발표하게 되어 기쁩니다. Exadata System Software 24ai, 버전 24.1.0.0.0은 2008년 첫 번째 버전 이후 Exadata 소프트웨어의 최신 릴리스 중 하나입니다. Exadata System Software 24ai는 중요한 릴리스입니다. 여기에는 AI 스마트 스캔, Exadata Live Update, XRMEM(Exadata RDMA Memory)의 컬럼 기반 캐시, 새로운 플래시 캐시 관찰 가능성, 데이터베이스 서버당 VM 수 증가 등 Oracle Database 23ai를 가속화하는 강력하고 새로운 최적화가 포함됩니다.

Exadata System Software 24ai는 AI 벡터 검색을 최대 수십 배까지 가속화하고 모든 규모의 미션 크리티컬 AI를 제공합니다. 이를 통해 애플리케이션은 대량의 데이터와 많은 수의 동시 사용자에 대해 AI Vector Search를 실행할 수 있으므로 Exadata는 최첨단 Generative AI 애플리케이션을 실행하는 데 이상적인 플랫폼입니다.

다음은 Exadata System Software 24ai에 포함된 최신 및 향상된 기능에 대한 개요입니다.

AI 스마트 스캔

AI Smart Scan은 방대한 양의 벡터 데이터에서 매우 짧은 대기 시간, 높은 처리량, 병렬화된 스캔을 제공하는 최적화를 통해 Oracle Database 23ai AI Vector Search를 크게 가속화합니다. AI Smart Scan은 Exadata 스토리지 서버의 초고속 XRMEM(Exadata RDMA Memory) 및 Exadata Smart Flash Cache를 활용하여 메모리 속도로 벡터 데이터를 처리하고, 데이터가 있는 위치에서 확장성이 뛰어난 벡터 거리 계산 및 top-K 필터링을 수행하여 불필요한 네트워크 데이터 전송 및 데이터베이스 서버 처리를 방지합니다.

 

 

오라클 데이터베이스 23ai

 

인 메모리 컬럼 속도 JSON 쿼리

인 메모리 컬럼 속도 JSON 쿼리

Exadata System Software 24ai에서 Oracle Database 23ai의 기본 JSON 데이터 유형과 19c의 OSON 형식 문서는 이제 Flash Cache 및 XRMEM에서 In-Memory Columnar 형식으로 자동으로 투명하게 변환됩니다. 이러한 데이터를 열 형식으로 저장하면 Smart Scan이 SIMD 처리, 데이터 정리, 사전 인코딩 및 압축의 이점을 활용하여 JSON 쿼리를 최대 6.5배 더 빠르게 가속화할 수 있습니다.

 

투명한 계층 간 검사

투명한 계층 간 검사

Database 23ai를 통해 옵티마이저는 이제 계층 간 스캔에서 데이터베이스 및 스토리지 계층의 열 기반 데이터를 투명하게 스캔하고 사용할 수 있으므로 직렬 및 병렬 쿼리를 최대 3배까지 가속화할 수 있습니다. Transparent Cross-Tier Scan을 사용하면 단일 쿼리로 데이터 정리, 사전 인코딩, 압축 및 SIMD 처리와 같은 인메모리 스캔 기능을 활용하고 데이터베이스 및 스토리지 서버의 리소스를 효율적으로 활용할 수 있습니다.

더 빠른 플러그형 데이터베이스 시작

Exadata RDMA 메모리에서 데이터베이스 제어 파일을 캐싱하는 동안 내부 작업의 병렬화가 개선되어 PDB의 시작 속도가 이전 데이터베이스 릴리스보다 최대 2배 빨라집니다.

큰 테이블의 더 빠른 해시 조인

큰 테이블의 더 빠른 해시 조인

Exadata System Software 24ai부터 Oracle Database 23ai는 더 큰 Bloom 필터를 스토리지 서버로 오프로드하여 분석 쿼리 성능을 최대 2배 더 빠르게 할 수 있습니다.

파이프라인 로그 쓰기

Exadata X10M, Oracle Database 23ai 및 19c(19.22)에 배포하면 기존의 "일괄 처리된" 다시 실행 쓰기 메커니즘이 아닌 파이프라이닝으로 다시 실행 쓰기가 트랜잭션 성능을 최대 1.45배까지 향상시킵니다.

AES-XTS 암호화 데이터에 대한 스마트 스캔

Oracle Database 23ai는 보안 및 성능 향상을 위해 AES-XTS 암호화 테이블스페이스를 추가합니다. Exadata System Software 24ai는 AES-XTS로 암호화된 테이블스페이스를 기본적으로 투명하게 스캔합니다.

TDE 암호화 및 키 재설정 중 스마트 스캔Smart Scan during TDE Encryption and Rekey

Smart Scan은 온라인으로 암호화되거나 키를 다시 입력하는 동안 테이블스페이스의 데이터를 스캔할 수 있으므로 쿼리 성능이 최대 4배 향상됩니다.

인덱스로 구성된 테이블에 대한 스마트 스캔Smart Scan on Index-Organized Tables

스마트 스캔은 압축된 IOT를 포함하여 새로운 인덱스로 구성된 테이블을 스캔할 수 있습니다.

와이드 테이블의 스마트 스캔

스마트 스캔은 최대 4096개의 열이 있는 새로운 Oracle Database 23ai 와이드 테이블을 스캔할 수 있습니다.

시간대 업그레이드 중 스마트 스캔

데이터베이스 23ai부터 스마트 스캔은 TIMESTAMP WITH TIMEZONE 열이 있는 테이블을 제외한 모든 테이블에 대해 표준 시간대 업데이트 중에 활성화됩니다.

Oracle Database 23ai 기능 및 연산자의 스마트 스캔

스마트 스캔에는 Database 23ai에 도입된 새로운 날짜, 간격 및 부울 함수와 연산자가 포함되어 있습니다.

  • 날짜 – CEIL 및 FLOOR 함수
  • 간격 – CEIL, FLOOR, ROUND 및 TRUNC 함수
  • Boolean – TO_BOOLEAN 함수, IS FALSE, IS NOT FALSE, IS TRUE, IS NOT TRUE 조건자 연산자

캐싱

메모리 속도에서 컬럼형 스마트 스캔

메모리 속도에서 컬럼형 스마트 스캔

Exadata System Software 24ai의 새로운 기능으로, 가장 자주 사용되는(가장 자주 사용되는) 컬럼형 데이터가 XRMEM(Exadata RDMA Memory)에 자동으로 로드되어 Smart Scan이 고속 메모리를 활용하고 성능을 높일 수 있습니다.

Exadata 캐시 관찰 가능성

Exadata Cache Statistics(ecstat)는 iostat와 같은 다른 Linux 유틸리티와 동일한 스타일을 사용하는 통계 샘플링 도구입니다. 이를 통해 고객은 스토리지 서버의 현재 워크로드에 대한 통찰력을 얻을 수 있으며, 초당 크고 작은 읽기, 처리량, 캐시 적중 및 누락 등을 포함한 중요한 데이터를 노출할 수 있습니다.

Exadata Flash Cache에 자동 KEEP 객체 로드

테이블에 KEEP 속성을 추가하면 명시적인 전체 테이블 스캔을 요구하지 않고 객체를 Flash Cache에 로드하도록 스토리지 서버에 자동으로 지시합니다. Flash Cache에 데이터를 자동으로 로드하면 네트워크 효율성이 향상되고 불필요한 쿼리 결과를 데이터베이스 서버에 반환하지 않으므로 데이터베이스 서버 CPU 사용을 방지할 수 있습니다.

인프라

X10M의 가상 머신 수 증가

X10M의 Exadata System Software 24ai부터 사용 가능한 시스템 리소스에 따라 데이터베이스 서버당 최대 VM 수가 50개로 증가하여 고객이 통합 밀도를 높이고 Exadata X10M의 하드웨어 기능을 더욱 활용할 수 있습니다.

KVM 가상 머신에 대한 보안 부팅

Exadata System Software 24ai부터 새 VM을 배포하는 고객은 Virtual Machines용 보안 부팅을 활성화하여 데이터베이스 환경의 보안 태세를 강화할 수 있습니다.

고가용성

향상된 RoCE 네트워크 복원력

Exadata System Software 24ai에는 자동화된 RoCE 네트워크 링크 및 트래픽 모니터링이 포함되어 있습니다. 네트워크 링크에서 트래픽 정체가 발생하면 Exadata 소프트웨어는 영향을 받는 IP 주소를 파트너 링크로 이동하여 네트워크 관련 데이터베이스 및 클러스터 오류를 방지합니다. 중단된 링크가 다시 작동하면 IP 주소가 자동으로 작동 중인 링크로 돌아갑니다.

모니터링 및 관리

향상된 RoCE 네트워크 감지

Exadata System Software 24ai에는 RoCE 네트워크를 보다 쉽게 검색할 수 있는 두 가지 새로운 유틸리티가 포함되어 있습니다.

  • configure_roce_hostinfo.sh – 필요한 경우 쉽게 재구성할 수 있도록 현재 RoCE 스위치 포트 구성을 검색하고 문서화하며 rocelinkinfo 유틸리티에 대한 유용한 맵으로 사용합니다.
  • rocelinkinfo – 상호 연결 패브릭에서 각 링크의 실시간 상태를 제공하여 RoCE 네트워크 관리를 단순화합니다.

AWR 및 SQL 모니터

X10M 익스트림 플래시 스토리지 서버

Oracle Database 23ai 및 19c에서 X10M Extreme Flash 스토리지 서버는 AWR(Automatic Workload Repository) 보고서에서 성능 최적화 플래시와 용량 최적화 플래시를 더 잘 구분합니다.

자동 워크로드 저장소(AWR)

Oracle Database 23ai에는 다음 섹션이 포함되어 있습니다.

  • 데이터베이스 IO 요청별 상위 PDB – CDB의 상위 50개 PDB에 대한 PDB별 I/O 요청 세부 정보를 표시합니다.
  • 컬럼 기반 캐시 – 이전에 Flash Cache 섹션에 포함되었던 이 새로운 섹션에는 XRMEM 데이터에 대한 자세한 컬럼 기반 캐시와 Flash Cache 데이터의 기존 컬럼 기반 캐시가 포함되어 있습니다

다음 섹션이 개선되었습니다.

  • 요청별 상위 IO 이유 – 이 섹션에서는 스토리지 서버에서 I/O가 수행된 이유에 대해서도 자세히 설명하며 이제 미디어 유형(플래시/디스크) 및 I/O 유형(읽기/쓰기)을 포함합니다.
  • 스마트 IO – 스토리지 서버 읽기에 대해 추가된 세부 정보 스마트 IO에 적합, 컬럼 기반 캐시 읽기, 컬럼 기반 캐시 적격 및 컬럼 캐시 저장됨. 이는 Oracle Database 19c에도 포함되어 있습니다.
  • 대기 이벤트 히스토그램 – 여기에는 다음과 같은 대기 이벤트가 포함되며 Oracle Database 19c에도 포함되어 있습니다.
    • 셀 단일 블록 물리적 읽기: RDMA
    • 셀 단일 블록 물리적 읽기: 플래시 캐시
    • 셀 단일 블록 물리적 읽기: XRMEM

 

SQL 모니터

SQL 모니터에는 다음 메트릭이 포함됩니다.

  • 스마트 IO에 적합한 바이트
  • In-Memory 컬럼 형식
    • 메모리 내 용량(IM 용량 바이트)
    • 메모리 내 쿼리(IM 쿼리 바이트)
    • Memcompress 없음(memcompress 바이트 없음)
  • XRMEM 컬럼 캐시 바이트
  • 스토리지 인덱스에 추가된 바이트(스토리지 인덱스 생성)Bytes added to Storage Index (Storage Index creation)
  • 플래시 및 디스크의 IORM IO 요청
  • 플래시 및 디스크의 IORM 대기 시간

관리 서버용 JSON API

CellCLI, DBMCLI 및 ExaCLI 사용자는 이제 JSON 형식으로 출력하도록 이러한 유틸리티를 구성할 수 있습니다. 또한 데이터베이스 서버(호스트 및 게스트) 및 스토리지 서버의 REST 인터페이스가 JSON 출력을 제공하도록 업데이트되었습니다.

안전

SNMP 보안

Exadata System Software 24ai에서는 전체 시스템 보안을 강화하기 위해 Exadata 서버에서 사용할 수 있는 기존 SNMPv3에 SHA2 인증이 추가되었습니다.

하드웨어, 그리드 인프라 및 데이터베이스 최소 요구 사항

하드웨어

Exadata 시스템 소프트웨어 24ai는 모든 X6 이상의 Exadata 데이터베이스 머신 및 스토리지 확장 랙에서 사용할 수 있습니다.

그리드 인프라 및 데이터베이스

Exadata System Software 24ai는 Oracle Database 및 Grid Infrastructure에 대한 최소 소프트웨어 요구 사항이 Exadata System Software 23.1과 동일합니다.

Exadata 시스템 소프트웨어

릴리스 24.1.0으로 업데이트하기 전에 기존 시스템에 필요한 최소 Oracle Exadata System Software 버전은 Oracle Exadata System Software 21.2.10(2022년 3월)입니다.

자세한 내용은 My Oracle Support 노트 888828.1을 참조하십시오.

추가 정보

Exadata Database Machine 시스템 개요 Oracle Exadata Database Machine의 새로운 기능 장에서는 Exadata System Software 24ai 릴리스에 대한 자세한 정보를 제공합니다. Oracle Exadata Database Machine에 대한 설명서는 여기에서 확인할 수 있습니다.

모든 규모의 미션 크리티컬 AI 제공

Exadata System Software 24ai는 Oracle Database 23ai의 흥미롭고 새로운 AI 벡터 검색 기능에서 이름을 따왔습니다. 그러나 Exadata System Software 24ai AI 기능 그 이상입니다. Exadata System Software 24ai는 투명한 계층 간 스캔, 메모리 속도의 컬럼형 스마트 스캔, 메모리 내 컬럼 속도 JSON 쿼리, 파이프라인 로그 쓰기, 새로운 스마트 스캔 최적화, Exadata Live Update, KVM 가상 머신을 위한 보안 부팅, 향상된 RoCE 네트워크 검색 및 복원력, X10M의 가상 머신 수 증가 등을 포함한 고유한 새 기능을 통해 고객 애플리케이션을 더욱 가속화할 준비가 되어 있습니다.   통합, 향상된 보안 및 더 높은 가용성을 가능하게 합니다.

Exadata는 처음부터 모든 Oracle Database 워크로드를 실행하는 데 이상적인 플랫폼이었습니다. Exadata System Software 24ai는 소프트웨어와 하드웨어를 함께 엔지니어링하기 위한 끊임없는 집중과 추진력으로 탄생한 탁월한 릴리스로, 성능, 가용성, 확장성 및 보안의 한계를 지속적으로 뛰어넘고 있습니다. 이를 통해 기존 Oracle Database 워크로드의 성능을 높이고 업계 어디에서도 볼 수 없는 스마트 오프로드 기능을 통해 고객을 인공 지능 시대로 이끌 수 있습니다. Oracle Database 23ai, Exadata 및 Exadata System Software 24ai는 방대한 양의 벡터 데이터에 대해 매우 짧은 대기 시간, 높은 처리량, 병렬화된 스캔을 제공하는 최적화와 매우 높은 사용자 커뮤니티를 지원하는 입증된 기능을 통해 모든 규모의 미션 크리티컬 AI를 제공할 준비가 되어 있습니다.

그리고 이것은 시작에 불과합니다!!

마지막으로, Exadata PM 팀을 대표하여 엔지니어링, 테스트, MAA, 문서화 및 Exadata System Software 24ai와 같은 릴리스를 가능하게 한 다른 많은 팀의 놀라운 노력을 인정하고 싶습니다. 품질에 대한 끊임없는 집중과 고객의 기대를 뛰어 넘는 그들의 노력은 경외심을 불러 일으 킵니다. 모두 감사합니다.

Posted by pat98

패치작업 19.23.0.0.240416 (GI PSU 36233126 )

Database Patch Set Update : 19.23.0.0.240416 (36233263)
OCW Patch Set Update      : 19.23.0.0.240416 (36240578)
ACFS Patch Set Update     : 19.23.0.0.240416 (36233343)
Tomcat Release Update     : 19.0.0.0.0       (36460248)
DBWLM Release Update      : 19.0.0.0.0       (36383196)

Oracle Grid Infrastructure Patch Set Update 19.23.0.0.240416 
-------------------------------------
GI_HOME, ORACLE_HOME 을 개별로 각각 할때

- grid 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36233126/36233263
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36233126/36240578
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36233126/36233343
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36233126/36383196
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36233126/36460248

- oracle 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36233126/36233263
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/36233126/36240578

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/crs/install/rootcrs.sh -prepatch 

(grid 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/patch
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36233126/36240578 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36233126/36233343 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36233126/36233263 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36233126/36383196 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/36233126/36460248 -silent

(oracle 유저)
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
cd /u01/patch
./36233126 /36240578/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/patch/36233126/36240578 -silent
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/patch/36233126/36233263 -silent
./36233126 /36240578/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME 

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch 

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name> 

- Loading Modified SQL Files into the Database
sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

### [롤백하는 경우] ###########

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

GI Home
(root로)
$GI_HOME/crs/install/rootcrs.sh -prepatch -rollback

(grid 유저로)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch nrollback -local -id 36240578,36233343,36233263,36383196,36460248 -oh $GI_HOME -silent

(oracle 유저로)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./36233126 /36240578/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME 
$ORACLE_HOME/OPatch/opatch nrollback -local -id 36240578,36233263 -oh /u01/app/oracle/product/19.0.0.0/dbhome_1 -silent
./36233126 /36240578/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

Run post script
(root로)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch -rollback

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

Posted by pat98

04-14 05:56
Flag Counter
Yesterday
Today
Total

글 보관함

최근에 올라온 글

달력

 « |  » 2025.4
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

최근에 달린 댓글