programing

오라클의 LOB 세그먼트(SYS_LOB)를 이해하시겠습니까?

mailnote 2023. 6. 20. 21:47
반응형

오라클의 LOB 세그먼트(SYS_LOB)를 이해하시겠습니까?

대부분의 테이블(전부는 아닐지라도)에는 "블롭" 필드가 있습니다.사용자 작업의 로그를 저장하는 테이블 중 하나가 이제 8GB(약 500만 개의 레코드)로 증가했습니다.

DBA는 이 스키마가 현재 기하급수적으로 공간을 차지하고 있음을 확인했습니다.조사한 결과 약 116GB의 140GB 데이터베이스를 사용하는 (SYS_LOB) 테이블이 있는 것으로 나타났습니다.

DBA는 이 테이블이 사용자 작업 로그(8GB)를 저장하는 테이블과 관련이 있다고 말했습니다.

이 SYS_LOB 테이블이 무엇을 하는지 아는 사람이 있습니까?우리가 만든 테이블에 실제 BLOB가 저장되어 있습니까? 아니면 오라클이 실제로 이 BLOB를 다른 테이블에 저장하고 있습니까? (예, 그렇다면 SYS_LOB가 해당 테이블이 됩니다)

테이블이 없습니다.SYS_LOBOracle 데이터베이스(최소한 기본 데이터베이스 설치의 일부인 테이블은 없습니다.견해가 있습니다.DBA_LOBS데이터베이스의 모든 LOB 열에 대한 정보를 표시하지만 실제로는 LOB 데이터를 저장하지 않고 메타데이터만 저장합니다.데이터베이스의 실제 LOB 세그먼트에는 SYS_LOBidentifier$ 형식의 시스템 생성 이름이 있습니다.

DBA가 다음과 같은 세그먼트를 식별한 것 같습니다.SYS_LOB116GB의 공간을 사용하는 식별자 $$.그렇다고 가정하면 LOB 열이 어떤 테이블의 열에 매핑되는지 확인할 수 있습니다.DBA_LOBS보기, 즉.

SELECT owner, table_name, column_name
  FROM dba_lobs
 WHERE segment_name = 'SYS_LOB<<identifier>>$$'

언급URL : https://stackoverflow.com/questions/531488/understanding-lob-segments-sys-lob-in-oracle

반응형