Database초보우낙

오라클 엑사 데이터 주요 명령어 총정리2 본문

오라클 엑사

오라클 엑사 데이터 주요 명령어 총정리2

오운학 2024. 4. 11. 11:45

💡CellCLI를 이용하여 다른 방법으로 스토리지 서버의 상태 정보를 확인하는 명령

CellCLI> list metriccurrent attributes name, objectType, metricObjectName, metricValue, alertState where objectType='CELL'
         CL_BBU_CHARGE           CELL    krx3bcel01      84.0 %          normal
         CL_BBU_TEMP             CELL    krx3bcel01      33.0 C          normal
         CL_CPUT_CS              CELL    krx3bcel01      0.8 %           normal
         CL_CPUT                 CELL    krx3bcel01      3.8 %           normal
         CL_CPUT_MS              CELL    krx3bcel01      0.5 %           normal
         CL_FANS                 CELL    krx3bcel01      8               normal
         CL_MEMUT_CS             CELL    krx3bcel01      10.8 %          normal
         CL_MEMUT                CELL    krx3bcel01      32 %            normal
         CL_MEMUT_MS             CELL    krx3bcel01      0.9 %           normal
         CL_RUNQ                 CELL    krx3bcel01      0.4             normal
         CL_SWAP_IN_BY_SEC       CELL    krx3bcel01      0.0 KB/sec      normal
         CL_SWAP_OUT_BY_SEC      CELL    krx3bcel01      0.0 KB/sec      normal
         CL_SWAP_USAGE           CELL    krx3bcel01      0 %             normal
         CL_TEMP                 CELL    krx3bcel01      19.0 C          normal
         CL_VIRTMEM_CS           CELL    krx3bcel01      9,342 MB        normal
         CL_VIRTMEM_MS           CELL    krx3bcel01      1,373 MB        normal
         IORM_MODE               CELL    krx3bcel01      2               normal
         N_HCA_MB_RCV_SEC        CELL    krx3bcel01      0.065 MB/sec    normal
         N_HCA_MB_TRANS_SEC      CELL    krx3bcel01      0.117 MB/sec    normal
         N_NIC_KB_RCV_SEC        CELL    krx3bcel01      1.1 KB/sec      normal
         N_NIC_KB_TRANS_SEC      CELL    krx3bcel01      0.9 KB/sec      normal
         N_NIC_NW                CELL    krx3bcel01      3               normal
CellCLI>
 
CellCLI> describe metricdefinition
        name
        description
        metricType
        objectType
        persistencePolicy
        unit
 
CellCLI> list metricdefinition attributes name, metrictype, objecttype, unit, description where name='CL_BBU_CHARGE'

         CL_BBU_CHARGE   Instantaneous   CELL    %       "Disk Controller Battery Charge"

list metriccurrent attributes name, objectType, metricObjectName, metricValue, alertState where objectType='CELL' 명령어의 결과는 CELL 객체의 현재 메트릭 값을 나타냅니다. 각 줄은 다음 값을 포함합니다:

  • name: 메트릭의 이름을 나타냅니다.
  • objectType: 메트릭의 객체 유형을 나타냅니다. 이 경우 모든 객체 유형은 'CELL'입니다.
  • metricObjectName: 메트릭의 객체 이름을 나타냅니다. 이 경우 모든 객체 이름은 'krx3bcel01'입니다.
  • metricValue: 메트릭의 현재 값을 나타냅니다. 값은 다양한 단위로 표시됩니다 (%, C, %, %, %, KB/sec, KB/sec, %, C, MB, MB, MB/sec, MB/sec, KB/sec, KB/sec, 개).
  • alertState: 메트릭의 경고 상태를 나타냅니다. 이 경우 모든 경고 상태는 'normal'입니다.

즉, 이 명령어는 'krx3bcel01'이라는 이름의 CELL 객체에 대한 다양한 메트릭의 현재 값을 제공합니다. 모든 메트릭의 경고 상태가 'normal'이므로, 이 CELL 객체는 현재 정상 상태인 것으로 보입니다.

 

"메트릭(metric)" 은 시스템이나 애플리케이션의 성능, 건강 상태, 기타 특성을 측정하기 위한 표준 단위입니다. 시스템 메트릭은 CPU 사용량, 메모리 사용량, 디스크 I/O 등을 포함할 수 있으며, 애플리케이션 메트릭은 에러율, 응답 시간, 처리량 등을 포함할 수 있습니다. 메트릭은 시스템이나 애플리케이션의 성능을 모니터링하고 분석하는 데 필수적인 도구입니다.

 

 

"CELL" 는 Oracle Exadata의 스토리지 서버를 나타냅니다. 'krx3bcel01'과 같은 이름으로 참조되며, 이 객체는 다양한 메트릭을 통해 성능, 건강 상태 등을 모니터링할 수 있습니다.

 

 

 

다음은 오라클 엑사 데이터 전문가들이 스토리지 서버에 문제가 생기지 않게 예방하는 차원에서 확인하는 주요 명령어들입니다:

스토리지 서버 상태 확인: list cell detail 명령어를 사용하여 스토리지 서버의 상태를 확인할 수 있습니다. 이 명령어는 스토리지 서버의 다양한 메트릭, 예를 들면 CPU 사용량, 메모리 사용량, 전원 상태 등을 보여줍니다.

스토리지 서버 경고 메시지 확인:
list alerthistory 명령어를 사용하여 스토리지 서버에서 발생한 경고 메시지를 확인할 수 있습니다. 이 명령어는 시스템에서 발생한 문제와 그 해결 상태를 보여줍니다.

스토리지 서버의 특정 경고 메시지 상세 정보 확인:
list alerthistory [로그 ID] detail 명령어를 사용하여 특정 경고 메시지의 상세 정보를 확인할 수 있습니다.

스토리지 서버 메트릭 확인:
list metriccurrent where objectType='CELL' 명령어를 사용하여 스토리지 서버의 현재 메트릭 값을 확인할 수 있습니다. 이 명령어는 스토리지 서버의 다양한 메트릭을 보여주며, 이를 통해 스토리지 서버의 성능과 건강 상태를 모니터링할 수 있습니다.

스토리지 서버 메트릭 정의 확인: list metricdefinition 명령어를 사용하여 스토리지 서버의 메트릭 정의를 확인할 수 있습니다. 이 명령어는 스토리지 서버 메트릭의 이름, 유형, 단위, 설명 등을 보여줍니다.

 

 

💡CellCLI를 이용한 문제가 발생한 컴포넌트를 확인하기

 list metriccurrent attributes name, metricObjectName, metricValue, alertState where objectType='CELL' and alertState!='normal'

 

이 명령어는 'CELL' 객체 유형의 메트릭 중에서 경고 상태가 'normal'이 아닌 경우를 찾는 것입니다. 결과가 아무것도 없다는 것은 현재 'CELL' 객체에 대한 메트릭이 모두 'normal' 상태라는 것을 의미합니다. 즉, 현재 스토리지 서버에는 경고 상태에 있는 메트릭이 없다는 것으로, 문제가 발생하고 있는 컴포넌트가 없다는 것을 의미합니다.

 

💡CellCLI를 이용한 스토리지 구성요소 확인

CellCLI를 실행시켜 physical 디스크 목록을 조회합니다.

 

CellCLI>list physicaldisk
         20:0            KGNG5M          normal
         20:1            KG59EM          normal
         20:2            KGNENM          normal
         20:3            KG6KSM          normal
         20:4            KG5BJM          normal
         20:5            KG5GPM          normal
         20:6            KGNDZM          normal
         20:7            KG6K5M          normal
         20:8            KEJ1AM          normal
         20:9            KG557M          normal
         20:10           KG5BNM          normal
         20:11           KG7SUM          normal
         FLASH_1_0       5L003GG3        normal
         FLASH_1_1       5L003FVR        normal
         FLASH_1_2       5L003JYQ        normal
         FLASH_1_3       5L003JEF        normal
         FLASH_2_0       5L003G8L        normal
         FLASH_2_1       5L003FVF        normal
         FLASH_2_2       5L003JK9        normal
         FLASH_2_3       5L003HM1        normal
         FLASH_4_0       5L003G3K        normal
         FLASH_4_1       5L003GGA        normal
         FLASH_4_2       5L003FQT        normal
         FLASH_4_3       5L003GAZ        normal
         FLASH_5_0       5L004QLQ        normal
         FLASH_5_1       5L004R3Z        normal
         FLASH_5_2       5L004QT3        normal
         FLASH_5_3       5L004H87        normal
 
[For X5-2 EF]
          NVME_0  CVMD4320006K1P6LGN        normal
          NVME_1  CVMD4321006V1P6LGN        normal
          NVME_3  CVMD432300221P6LGN        normal
          NVME_4  CVMD432000031P6LGN        normal
          NVME_6  CVMD4321001V1P6LGN        normal
          NVME_7  CVMD4325005V1P6LGN        normal
          NVME_9  CVMD4320006J1P6LGN        normal
          NVME_10 CVMD4325004C1P6LGN        normal
CellCLI>

 

physical disk 목록 조회 결과에 filtering 을 적용할 수 있습니다.

physical disk 의 type 이 flash disk 인 physical disk 의 목록을 확인할 수 있습니다.

 

SQL처럼 where절을 사용하여 타입이 FlashDisk인 것들만 조회가능하다

CellCLI> lisy pysicaldisk where diskytpe='FlashDisk';
         FLASH_1_0       5L003GG3        normal
         FLASH_1_1       5L003FVR        normal
         FLASH_1_2       5L003JYQ        normal
         FLASH_1_3       5L003JEF        normal
         FLASH_2_0       5L003G8L        normal
         FLASH_2_1       5L003FVF        normal
         FLASH_2_2       5L003JK9        normal
         FLASH_2_3       5L003HM1        normal
         FLASH_4_0       5L003G3K        normal
         FLASH_4_1       5L003GGA        normal
         FLASH_4_2       5L003FQT        normal
         FLASH_4_3       5L003GAZ        normal
         FLASH_5_0       5L004QLQ        normal
         FLASH_5_1       5L004R3Z        normal
         FLASH_5_2       5L004QT3        normal
         FLASH_5_3       5L004H87        normal

 

 

CellCLI를 실행시켜 cell 디스크 목록을 조회합니다.

CellCLI>  list celldisk;
         CD_00_krx3bcel01        normal
         CD_01_krx3bcel01        normal
         CD_02_krx3bcel01        normal
         CD_03_krx3bcel01        normal
         CD_04_krx3bcel01        normal
         CD_05_krx3bcel01        normal
         CD_06_krx3bcel01        normal
         CD_07_krx3bcel01        normal
         CD_08_krx3bcel01        normal
         CD_09_krx3bcel01        normal
         CD_10_krx3bcel01        normal
         CD_11_krx3bcel01        normal
         FD_00_krx3bcel01        normal
         FD_01_krx3bcel01        normal
         FD_02_krx3bcel01        normal
         FD_03_krx3bcel01        normal
         FD_04_krx3bcel01        normal
         FD_05_krx3bcel01        normal
         FD_06_krx3bcel01        normal
         FD_07_krx3bcel01        normal
         FD_08_krx3bcel01        normal
         FD_09_krx3bcel01        normal
         FD_10_krx3bcel01        normal
         FD_11_krx3bcel01        normal
         FD_12_krx3bcel01        normal
         FD_13_krx3bcel01        normal
         FD_14_krx3bcel01        normal
         FD_15_krx3bcel01        normal

 

 

😄위의 명령어 결과에 대한 설명:
해당 명령어 결과는 오라클 엑사 데이터 스토리지 서버의 셀 디스크 목록을 보여줍니다. 셀 디스크는 'CD'로 시작하며, 플래시 디스크는 'FD'로 시작합니다. 각 디스크의 상태는 'normal'로, 모든 디스크가 정상 상태임을 나타냅니다.

'krx3bcel01'과 같은 이름은 해당 디스크가 속한 스토리지 서버를 나타냅니다. 이 결과를 통해 각 디스크의 상태를 확인하고, 필요한 경우 관리 작업을 수행할 수 있습니다.

 

 

 

점검을 원하는 celldisk 의 상세 정보를 확인합니다.

CellCLI> list celldisk where name like '.*10.*' detail
         name:                   CD_10_krxacl01
         comment:
         creationTime:           2014-01-20T10:11:00+09:00
         deviceName:             /dev/sdk
         devicePartition:        /dev/sdk
         diskType:               HardDisk
         errorCount:             0
         freeSpace:              0
         id:                     8b02c079-782f-42d6-8f4a-2b432eb16684
         interleaving:           none
         lun:                    0_10
         physicalDisk:           DP5T8E
         raidLevel:              0
         size:                   1116.640625G
         status:                 normal
 
         name:                   FD_10_krxacl01
         comment:
         creationTime:           2014-01-23T10:59:15+09:00
         deviceName:             /dev/sdx
         devicePartition:        /dev/sdx
         diskType:               FlashDisk
         errorCount:             0
         freeSpace:              341.1875G
         freeSpaceMap:           offset=31.328125G,size=341.1875G
         id:                     8010ff3e-fb08-4a1c-9671-3058e400f916
         interleaving:           none
         lun:                    4_2
         physicalDisk:           11000128518
         size:                   372.515625G      # Flashcompression 적용한 경우
         size:                   186.25G      # Flashcompression 적용 안한 경우
         status:                 normal
 
CellCLI>

 

 


"Hyrid Columnar Compression(컬럼레벨로 압축)" 은 Oracle Exadata Storage Server의 기능 중 하나로, Flash Disk에 쓰이는 데이터를 압축함으로써 저장 용량을 효율적으로 사용할 수 있게 해줍니다. 이 기능을 적용하면, 같은 양의 데이터를 더 적은 공간에 저장할 수 있기 때문에 Flash Disk의 전체 사용 가능 공간이 증가하게 됩니다. 이는 'size: 372.515625G'라는 결과에서 확인할 수 있습니다.

반면, Hybrid Columnar Compression 이 적용되지 않은 경우, 데이터는 압축되지 않고 그대로 저장되므로, 같은 양의 데이터를 저장하기 위해서는 더 많은 공간이 필요하게 됩니다. 따라서 Flash Disk의 전체 사용 가능 공간은 줄어들게 되며, 이는 'size: 186.25G'라는 결과에서 확인할 수 있습니다.

따라서 Hybrid Columnar Compression의 적용 여부는 Oracle Exadata Storage Server의 저장 용량을 결정하는 중요한 요소 중 하나입니다. 하지만 압축 기능을 사용하면 CPU 자원을 추가로 사용하게 되므로, 시스템의 전체 성능에 영향을 미칠 수 있습니다. 따라서 Flashcompression의 적용 여부는 시스템의 요구 사항과 성능을 고려하여 결정해야 합니다.

 

CellCLI>list griddisk

          DATA_CD_00_krxacl01        active
          DATA_CD_01_krxacl01        active
          DATA_CD_02_krxacl01        active
          DATA_CD_03_krxacl01        active
          DATA_CD_04_krxacl01        active
          DATA_CD_05_krxacl01        active
          DATA_CD_06_krxacl01        active
          DATA_CD_07_krxacl01        active
          DATA_CD_08_krxacl01        active
          DATA_CD_09_krxacl01        active
          DATA_CD_10_krxacl01        active
          DATA_CD_11_krxacl01        active
          DBFS_DG_CD_02_krxacl01    active
          DBFS_DG_CD_03_krxacl01    active
          DBFS_DG_CD_04_krxacl01    active
          DBFS_DG_CD_05_krxacl01    active
          DBFS_DG_CD_06_krxacl01    active
          DBFS_DG_CD_07_krxacl01    active
          DBFS_DG_CD_08_krxacl01    active
          DBFS_DG_CD_09_krxacl01    active
          DBFS_DG_CD_10_krxacl01    active
          DBFS_DG_CD_11_krxacl01    active
          RECO_CD_00_krxacl01        active
          RECO_CD_01_krxacl01        active
          RECO_CD_02_krxacl01        active
          RECO_CD_03_krxacl01        active
          RECO_CD_04_krxacl01        active
          RECO_CD_05_krxacl01        active
          RECO_CD_06_krxacl01        active
          RECO_CD_07_krxacl01        active
          RECO_CD_08_krxacl01        active
          RECO_CD_09_krxacl01        active
          RECO_CD_10_krxacl01        active
          RECO_CD_11_krxacl01        active
CellCLI>

 

위의 'List griddisk' 명령어는 Oracle Exadata 스토리지 서버에서 현재 사용 가능한 그리드 디스크의 목록을 보여줍니다. 각 그리드 디스크는 고유한 이름을 가지고 있으며, 'active' 상태로 표시되어 있습니다. 이는 해당 그리드 디스크들이 현재 활성 상태이며 정상적으로 작동하고 있다는 것을 의미합니다.

그리드 디스크 목록은 다음 세 가지 유형으로 구분됩니다:

1 . 'DATA': 이들은 데이터를 저장하는 데 사용되는 그리드 디스크들입니다. 'DATA_CD_00_krxacl01'부터 'DATA_CD_11_krxacl01'까지 총 12개의 데이터 그리드 디스크가 활성 상태임을 확인할 수 있습니다.

2. 'DBFS_DG': 이들은 DBFS(Databse File System)를 위한 그리드 디스크들입니다. 'DBFS_DG_CD_02_krxacl01'부터 'DBFS_DG_CD_11_krxacl01'까지 총 9개의 DBFS 그리드 디스크가 활성 상태임을 확인할 수 있습니다.

3. 'RECO': 이들은 복구 영역을 위한 그리드 디스크들입니다. 'RECO_CD_00_krxacl01'부터 'RECO_CD_11_krxacl01'까지 총 12개의 복구 그리드 디스크가 활성 상태임을 확인할 수 있습니다.

따라서, 이 명령어는 현재 시스템의 그리드 디스크 상태를 확인하는 데 유용하며, 각 그리드 디스크의 상태를 모니터링하여 시스템의 전반적인 건강 상태를 평가하는 데 도움을 줍니다.

 

같은 디스크 그룹의 grid 디스크는 같은 크기여야 하고, 같은 스토리지 서버의 grid 디스크는 같은 failure group 이어야 합니다.

grid 디스크의 디스크 그룹 및 크기 등은 다음과 같이 확인할 수 있습니다

 

CellCLI> list griddisk attributes name, size, asmDiskgroupName, asmDiskName, asmFailGroupName, cellDisk

          DATA_CD_00_krxacl01        866G              DATA    DATA_CD_00_KRXACL01        KRXACL01         CD_00_krxacl01
          DATA_CD_01_krxacl01        866G              DATA    DATA_CD_01_KRXACL01        KRXACL01         CD_01_krxacl01
          DATA_CD_02_krxacl01        866G              DATA    DATA_CD_02_KRXACL01        KRXACL01         CD_02_krxacl01
          DATA_CD_03_krxacl01        866G              DATA    DATA_CD_03_KRXACL01        KRXACL01         CD_03_krxacl01
          DATA_CD_04_krxacl01        866G              DATA    DATA_CD_04_KRXACL01        KRXACL01         CD_04_krxacl01
          DATA_CD_05_krxacl01        866G              DATA    DATA_CD_05_KRXACL01        KRXACL01         CD_05_krxacl01
          DATA_CD_06_krxacl01        866G              DATA    DATA_CD_06_KRXACL01        KRXACL01         CD_06_krxacl01
          DATA_CD_07_krxacl01        866G              DATA    DATA_CD_07_KRXACL01        KRXACL01         CD_07_krxacl01
          DATA_CD_08_krxacl01        866G              DATA    DATA_CD_08_KRXACL01        KRXACL01         CD_08_krxacl01
          DATA_CD_09_krxacl01        866G              DATA    DATA_CD_09_KRXACL01        KRXACL01         CD_09_krxacl01
          DATA_CD_10_krxacl01        866G              DATA    DATA_CD_10_KRXACL01        KRXACL01         CD_10_krxacl01
          DATA_CD_11_krxacl01        866G              DATA    DATA_CD_11_KRXACL01        KRXACL01         CD_11_krxacl01
          DBFS_DG_CD_02_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_02_KRXACL01    KRXACL01         CD_02_krxacl01
          DBFS_DG_CD_03_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_03_KRXACL01    KRXACL01         CD_03_krxacl01
          DBFS_DG_CD_04_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_04_KRXACL01    KRXACL01         CD_04_krxacl01
          DBFS_DG_CD_05_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_05_KRXACL01    KRXACL01         CD_05_krxacl01
          DBFS_DG_CD_06_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_06_KRXACL01    KRXACL01         CD_06_krxacl01
          DBFS_DG_CD_07_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_07_KRXACL01    KRXACL01         CD_07_krxacl01
          DBFS_DG_CD_08_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_08_KRXACL01    KRXACL01         CD_08_krxacl01
          DBFS_DG_CD_09_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_09_KRXACL01    KRXACL01         CD_09_krxacl01
          DBFS_DG_CD_10_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_10_KRXACL01    KRXACL01         CD_10_krxacl01
          DBFS_DG_CD_11_krxacl01    33.796875G        DBFS_DG DBFS_DG_CD_11_KRXACL01    KRXACL01         CD_11_krxacl01
          RECO_CD_00_krxacl01        216.796875G      RECO    RECO_CD_00_KRXACL01        KRXACL01         CD_00_krxacl01
          RECO_CD_01_krxacl01        216.796875G      RECO    RECO_CD_01_KRXACL01        KRXACL01         CD_01_krxacl01
          RECO_CD_02_krxacl01        216.796875G      RECO    RECO_CD_02_KRXACL01        KRXACL01         CD_02_krxacl01
          RECO_CD_03_krxacl01        216.796875G      RECO    RECO_CD_03_KRXACL01        KRXACL01         CD_03_krxacl01
          RECO_CD_04_krxacl01        216.796875G      RECO    RECO_CD_04_KRXACL01        KRXACL01         CD_04_krxacl01
          RECO_CD_05_krxacl01        216.796875G      RECO    RECO_CD_05_KRXACL01        KRXACL01         CD_05_krxacl01
          RECO_CD_06_krxacl01        216.796875G      RECO    RECO_CD_06_KRXACL01        KRXACL01         CD_06_krxacl01
          RECO_CD_07_krxacl01        216.796875G      RECO    RECO_CD_07_KRXACL01        KRXACL01         CD_07_krxacl01
          RECO_CD_08_krxacl01        216.796875G      RECO    RECO_CD_08_KRXACL01        KRXACL01         CD_08_krxacl01
          RECO_CD_09_krxacl01        216.796875G      RECO    RECO_CD_09_KRXACL01        KRXACL01         CD_09_krxacl01
          RECO_CD_10_krxacl01        216.796875G      RECO    RECO_CD_10_KRXACL01        KRXACL01         CD_10_krxacl01
          RECO_CD_11_krxacl01        216.796875G      RECO    RECO_CD_11_KRXACL01        KRXACL01         CD_11_krxacl01
 
CellCLI>

 

'list griddisk attributes name, size, asmDiskgroupName, asmDiskName, asmFailGroupName, cellDisk' 명령어는 Oracle Exadata 스토리지 서버에서 현재 사용 가능한 그리드 디스크의 상세한 정보를 보여줍니다.

각 그리드 디스크는 고유한 이름을 가지고 있으며, 그리드 디스크의 크기, 속한 디스크 그룹의 이름, ASM 디스크 이름, 실패 그룹 이름, 그리고 셀 디스크 이름 등의 정보를 포함하고 있습니다.

'DATA' 디스크 그룹에 속한 그리드 디스크들은 데이터를 저장하는 데 사용되며, 각 그리드 디스크의 크기는 866GB입니다. 'DBFS_DG' 디스크 그룹에 속한 그리드 디스크들은 DBFS(Databse File System)를 위해 사용되며, 각 그리드 디스크의 크기는 33.796875GB입니다. 'RECO' 디스크 그룹에 속한 그리드 디스크들은 복구 영역을 위해 사용되며, 각 그리드 디스크의 크기는 216.796875GB입니다.

이 정보는 시스템의 그리드 디스크 상태를 확인하고, 디스크 별로 할당된 공간을 파악하는데 유용합니다. 또한 각 그리드 디스크의 디스크 그룹과 실패 그룹 정보를 통해 시스템의 구성을 이해하고, 필요한 경우 관리 작업을 수행할 수 있습니다.

 

💡 CellCLI를 이용한 Network 에러 점검

Network 에러는 N_MB_DROP_SEC, N_MB_RDMA_DROP_SEC 두 개의 metric 을 주기적으로 모니터링 하여 그 수가 기존과 다르게 증가하면 해당 스토리지 서버의 Network 점검이 필요합니다.

 

N_MB_DROP_SEC, N_MB_RDMA_DROP_SEC metric 의 정보를 확인하고, 현재 metric 값을 확인합니다.

 

CellCLI> list metricdefinition N_MB_DROP_SEC detail
         name:                   N_MB_DROP_SEC
         description:            "Number of megabytes droped during transmission  per second  to  a particular host"
         metricType:             Rate
         objectType:             HOST_INTERCONNECT
         unit:                   MB/sec
 
CellCLI> list metricdefinition n_mb_rdma_drop_sec detail
         name:                   N_MB_RDMA_DROP_SEC
         description:            "Number of megabytes dropped during RDMA transmission per second  to  a particular host"
         metricType:             Rate
         objectType:             HOST_INTERCONNECT
         unit:                   MB/sec
 
CellCLI> list metricdefinition n_mb_rdma_drop_sec, n_mb_drop_sec detail
         name:                   N_MB_RDMA_DROP_SEC
         description:            "Number of megabytes dropped during RDMA transmission per second  to  a particular host"
         metricType:             Rate
         objectType:             HOST_INTERCONNECT
         unit:                   MB/sec
 
         name:                   N_MB_DROP_SEC
         description:            "Number of megabytes droped during transmission  per second  to  a particular host"
         metricType:             Rate
         objectType:             HOST_INTERCONNECT
         unit:                   MB/sec

 

위의 코드 결과는 네트워크 에러를 점검하는 두 가지 메트릭, 'N_MB_DROP_SEC'와 'N_MB_RDMA_DROP_SEC'의 정의를 보여주고 있습니다.

'N_MB_DROP_SEC'는 특정 호스트로의 전송 중에 드롭된 메가바이트 수를 초당으로 표시하는 메트릭입니다. 'N_MB_RDMA_DROP_SEC'는 RDMA 전송 중에 특정 호스트로 드롭된 메가바이트 수를 초당으로 표시하는 메트릭입니다.

그러나, 이 코드 결과는 이 두 메트릭의 현재 값이 어떤지, 즉 네트워크 에러가 발생했는지 여부를 보여주지 않습니다. 따라서 이 정보만으로는 네트워크 점검 결과가 정상인지 비정상인지 판단할 수 없습니다. 메트릭의 현재 값을 확인하려면 'list metriccurrent where name like 'N_MB_DROP_SEC' or name like 'N_MB_RDMA_DROP_SEC''와 같은 명령어를 실행해야 합니다.

 

💡 Smart Flash Cache 정보 확인

 

Smart Flash Cache 는 Flash 카드에 데이터를 캐싱하여 데이터베이스 성능을 향상시키는 엑사데이터의 소프트웨어적 기술입니다. 설정 내용은 CellCli 커맨드를 사용해서 확인할 수 있습니다.

 

<Flashcompression 비 적용시>
CellCLI> list flashcache attributes name, size, status
          krxacl01_FLASHCACHE       2978.75G         normal
 
CellCLI> list flashcache detail
          name:                      krxacl01_FLASHCACHE
          cellDisk:                  FD_13_krxacl01,FD_11_krxacl01,FD_05_krxacl01,FD_08_krxacl01,FD_10_krxacl01,FD_01_krxacl01,FD_12_krxacl01,FD_02_krxacl01,FD_14_krxacl01,FD_00_krxacl01,FD_06_krxacl01,FD_15_krxacl01,FD_03_krxacl01,FD_09_krxacl01,FD_04_krxacl01,FD_07_krxacl01
          creationTime:              2014-01-21T09:58:16+09:00
          degradedCelldisks:         
          effectiveCacheSize:       2978.75G
          id:                        a43dbe16-31c8-4185-8aa4-997eb7c81864
          size:                      2978.75G
          status:                    normal

 

😄 노션 ai 에게 위의 코드 박스의 결과가 flashcompression 비 적용시라는걸 어떻게 알수 있지? 라고 물어본 결과입니다.

코드 박스의 내용을 살펴보면, 'list flashcache attributes name, size, status' 명령어를 통해 플래시 캐시의 이름, 크기, 상태를 확인하고 있습니다. 그리고 'list flashcache detail' 명령어를 통해 플래시 캐시의 상세 정보를 확인하고 있습니다.

여기서 주목해야 할 부분은 'effectiveCacheSize'입니다. 이 값은 플래시 캐시의 실제 사용 가능한 공간을 나타내는데, 이 예제에서는 '2978.75G'로 표시되어 있습니다. 이는 플래시 캐시의 전체 크기('size')가 '2978.75G'인 것과 동일합니다.

이는 플래시 컴프레션(Flashcompression)이 비활성화 되어 있다는 것을 의미합니다. 왜냐하면 플래시 컴프레션은 데이터를 압축해 플래시 캐시의 사용 가능한 공간을 늘리는 기능이기 때문입니다. 따라서, 플래시 컴프레션이 활성화되어 있다면 'effectiveCacheSize'는 'size'보다 커야 합니다.

하지만 이 경우에는 두 값이 동일하므로, 플래시 컴프레션이 비활성화 되어 있음을 알 수 있습니다.

😄 노션 ai 에게 flashcompression 기능을 활성화하는게 좋아 아니면 비활성화 하는게 좋아? 라고 물어본 결과입니다.

플래시 컴프레션 기능의 활성화 여부는 여러 요인을 고려하여 결정해야 합니다.

플래시 컴프레션 기능을 활성화하면, 데이터가 압축되어 저장되므로 더 많은 데이터를 플래시 캐시에 저장할 수 있습니다. 이는 저장 공간의 효율성을 높이는 장점이 있습니다.

그러나, 데이터를 압축하고 해제하는 과정은 추가적인 CPU 자원을 사용하게 됩니다. 따라서, 시스템의 전반적인 성능에 영향을 줄 수 있습니다.

따라서, 플래시 컴프레션 기능의 활성화 여부는 시스템의 저장 공간 요구 사항과 CPU 자원, 그리고 성능 사이의 균형을 고려하여 결정해야 합니다.

 

자주 검색되는 object 는 압축을 하지 않고 저장하고 자주 검색되지 않는 object 는 압축을 해서 저장하는게

바람직합니다. 다음과 같이 압축된 object 확인을 통해 선별할 수 있습니다.

 

 

압축된 object 확인하는 방법

CellCLI> list flashcachecontent attributes dbUniqueName,hitCount,missCount,cachedSize,objectNumber
         KRXAA  0       0       16384           16036
         KRXAA  0       0       16384           16037
         KRXAA  0       0       16384           16038
         KRXAA  0       0       16384           16039
         KRXA   1       1       65536           16043
         KRXA   1       1       65536           16047
         …………….. 이하 생략……………………………………………………
 
CellCLI> list flashcachecontent attributes dbUniqueName,hitCount,missCount,cachedSize,objectNumber where objectNumber=16036
         KRXAA  0       0       16384   16036
 
CellCLI> list flashcachecontent where objectNumber=16036 detail
         cachedKeepSize:         0
         cachedSize:             16384
         dbID:                   2825298339
         dbUniqueName:           KRXAA
         hitCount:               0
         missCount:              0
         objectNumber:           16036
         tableSpaceNumber:       0
 
CellCLI>

 

 

대상 오브젝트는 데이터베이스에서도 조회해보기

SQL> select data_object_id dobject_id,object_name,owner
  2  from dba_objects
  3* where data_object_id=16036
SQL> /
 
DOBJECT_ID OBJECT_NAME                                OWNER
---------- -----------------------------------   ------------------------------
     16036  SYS_IL0000015933C00061$$                   SYS

 

 

💡 Smart Flash Logging 정보 확인

Exadata 스마트 플래시 로깅은 Exadata 스토리지 소프트웨어 11.2.2.4에서 도입된 기능으로, Exadata 플래시 저장소를 redo log 작성의 두 번째 대상으로 사용함으로써 전체 redo log 동기화 시간을 줄이는 것을 목표로 합니다.

Smart Flash Logging 기능은 Redo Log File과 Smart Flash Logging 영역에 동시에 Write 하여 둘 중 하나만 완료되면 “처리 완료” 하므로써 redo log write 처리 성능을 빠르게 해줍니다.

 

Exadata 스마트 플래시 로깅은 기본적으로 활성화되어 있으며, 특별히 활성화할 필요는 없습니다. 다만, 스토리지 셀이 최소한 Exadata 스토리지 소프트웨어 11.2.2.4를 실행하고 있는지 확인해야 합니다.

 

CellCLI> list flashlog attributes name,size,status
         KRXAcel01_FLASHLOG     512M    normal
 
CellCLI> list flashlog detail
         name:                   KRXAcel01_FLASHLOG
         cellDisk:               FD_05_KRXAcel01,FD_08_KRXAcel01,FD_02_KRXAcel01,FD_09_KRXAcel01,FD_00_KRXAcel01,FD_13_KRXAcel01,FD_06_KRXAcel01,FD_07_KRXAcel01,FD_14_KRXAcel01,FD_10_KRXAcel01,FD_15_KRXAcel01,FD_04_KRXAcel01,FD_03_KRXAcel01,FD_01_KRXAcel01,FD_12_KRXAcel01,FD_11_KRXAcel01
         creationTime:           2013-03-29T10:30:44+09:00
         degradedCelldisks:
         effectiveSize:          512M
         efficiency:             100.0
         id:                     edbd8f43-10f4-42b5-a517-a9a1367108b0
         size:                   512M
         status:                 normal
 
CellCLI>

 

 

 

엑사 데이터 점검표
서버 명령어 점검결과
데이터 베이스 서버 DBMCLI > list alerthistory where secerity='critical' 정상
  DBMCLI > list alerthistory where secerity='warning' 정상
  DBMCLI > list dbserer detail 정상
  DBMCLI> list metriccurrent attributes name, objectType, metricObjectName, metricValue, alertState
정상
  DBMCLI> list metriccurrent attributes name, metricObjectName, metricValue, alertState where alertState!='normal' 정상
  DBMCLI> list physicaldisk
정상
인피니 밴드 DBMCLI> list ibport detail 정상
스토리지 서버 CellCLI> list alerthistory 정상
  CellCLI> list alerthistory 2_1 detail 문제있음
  CellCLI> list cell detail 정상
  CellCLI> list phsicaldisk; 정상
  CellCLI> list flashlog detail
정상
고객사 담당자 사인    

 

이 기능은 플래시 SSD가 redo log 작업에 대해 이론적으로 쓰기 I/O의 이점을 가진다는 전제에 기반을 두지 않습니다. 대신, redo log 작성을 grid disk와 플래시 SSD 두 채널을 통해 실행하고, 둘 중 어느 하나가 작성을 완료할 때 redo log 작성이 완료되도록 하여 "스무딩" 효과를 제공하는 것을 목표로 합니다.

 

스마트 플래시 로깅이 활성화되어 있으면, 평균 로그 파일 동기화 대기 시간이 15% 이상 줄어들며, 이 차이는 통계적으로 유의미합니다. 또한, 상위 1%의 대기 시간에 대한 99번째 백분위수도 중요하게 줄어들었습니다.

 

스마트 플래시 로깅은 매우 높은 이상치 redo log 작성의 영향을 줄이는 데 도움이 됩니다. 이 기능을 통해 높은 이상치 redo log 대기 시간이 크게 줄어들어, 이로 인해 발생하는 문제를 완화할 수 있습니다.

 

리소스 관리 계획을 사용하여 Exadata 스마트 플래시 로깅의 동작을 제어할 수 있습니다. 이를 통해 개별 데이터베이스에 대해 Exadata 스마트 플래시 로깅을 켜거나 끌 수 있습니다. 예를 들어, 다음 명령은 데이터베이스 GUY에 대해 Exadata 스마트 플래시 로깅을 끄고, 다른 모든 데이터베이스에 대해 켜는 것입니다.

 

ALTER IORMPLAN dbplan=((name=’GUY’,flashLog=false),
                       (name=other,flashlog=on))’

다음의 CellCLI 명령을 사용하여 Exadata 스마트 플래시 로깅의 동작을 모니터링할 수 있습니다.

CellCLI> list metriccurrent where objectType=’FLASHLOG’;

   FL_ACTUAL_OUTLIERS              FLASHLOG        1 IO requests
   FL_BY_KEEP                      FLASHLOG        0
   FL_DISK_FIRST                   FLASHLOG        253,540,190 IO requests
      ...... ......
   FL_FLASH_FIRST                  FLASHLOG        11,881,503 IO requests
      ...... ......
   FL_PREVENTED_OUTLIERS           FLASHLOG        275,125 IO requests
이 명령이 생성하는 가장 흥미로운 CellCLI 지표는 다음과 같습니다


♣ FL_DISK_FIRST—redo log 작성 작업 동안 그리드 디스크 로그 작성이 먼저 완료됨
♣ FL_FLASH_FIRST—redo log 작성 작업 동안 플래시 SSD가 먼저 완료됨
♣ FL_PREVENTED_OUTLIERS—플래시 로깅에 의해 최적화되어 그렇지 않았다면 500 밀리초보다 오래 걸렸을 redo log 작성의 수

 

스마트 플래시 로깅을 테스트하는 예를 들어보겠습니다. 20개의 동시 프로세스를 실행하며, 각각 200,000회의 업데이트와 커밋을 수행하는 총 4백만회의 redo log 동기화 작업을 실행한다고 가정하겠습니다. 이제 리소스 계획을 사용하여 스마트 플래시 로깅을 비활성화하고 테스트를 반복합니다. 우리는 R 통계 패키지를 사용하여 분석을 위해 DBMS_MONITOR 추적 파일에 모든 redo log 동기화 대기를 캡처합니다.

 

스마트 플래시 로깅 비활성화시 주요 CellCLI 지표는 다음과 같습니다.

FL_DISK_FIRST            32,669,310 IO requests
FL_FLASH_FIRST            7,318,741 IO requests
FL_PREVENTED_OUTLIERS       774,146 IO requests

 

스마트 플래시 로깅이 활성화된 경우 지표는 다음과 같습니다.

FL_DISK_FIRST            33,201,462 IO requests
FL_FLASH_FIRST            7,337,931 IO requests
FL_PREVENTED_OUTLIERS       774,146 IO requests

이 특정 셀의 경우, 플래시 디스크가 FL_FLASH_FIRST와 FL_DISK_FIRST의 비율에 따라 시간의 3.8%만 "이겼습니다". 그리고 아무런 이상치도 방지하지 못했습니다. (이상치는 500 밀리초 이상 걸리는 redo log 동기화입니다.) 그래서 표면적으로는 별로 달성한 것이 없어 보일 수 있습니다.

 

그러나 redo log 동기화 시간의 통계 분석은 다소 다른 해석을 제공합니다. 표 15.1은 두 테스트에 대한 주요 통계를 요약합니다.

 

 

Exadata 스마트 플래시 로깅이 Redo Log 동기화 대기에 미치는 영향

 
Redo Log 동기화 시간
(마이크로초)
 
 
 
스마트 플래시 로깅
최소
중간
평균
99%
최대
켜짐
1.0
650
723
1656
75,740
꺼짐
1.0
627
878
4662
291,800

 

스마트 플래시 로깅을 활성화하면 로그 파일 동기화 대기 시간의 평균이 15% 이상 줄어들며, 이 차이는 통계적으로 유의미합니다. 또한, 상위 1% 대기 시간의 99번째 백분위수도 중요하게 줄었습니다. 최상위 1%의 대기 시간에 대한 최소 대기 시간이 약 4.6초에서 1.6초로 줄었습니다.

플래시 SSD가 redo 쓰기 I/O에 대한 이상적인 저장 매체는 아니지만, Exadata 스마트 플래시 로깅은 매우 높은 이상치 redo log 작성의 영향을 줄입니다.

 

 

😊위의 내용을 요약한 문장

Exadata Smart Flash Logging은 redo log 작성 시간을 최적화하기 위한 기능입니다. 이 기능은 디스크와 Flash SSD에 동시에 redo log를 작성하고, 둘 중 하나가 작성을 완료하면 redo log 작성 작업을 완료하게 합니다. 이를 통해 redo log 동기화 대기 시간을 줄이고, 특히 높은 대기 시간을 가진 redo log 작성의 영향을 줄일 수 있습니다. 이 기능은 Exadata Storage Software 11.2.2.4에서 도입되었으며, 기본적으로 활성화되어 있습니다.