본문 바로가기

in-memory

오라클 In-memory (인메모리) 관련 유용한 스크립트 모음 ◆ 인메모리 공간 할당/사용율 조회 스크립트 SGA 내에 할당된 In-Memory Column Store 크기 및 사용현황을 조회합니다. $ cat imarea.sql col i format a1 col pool format a9 col alloc_gbytes format 999,999.999 col used_gbytes format 999,999.999 col "USED%" format 999.999 col populate_status format a15 select substr(inst_id, 1, 1) i, pool, round(alloc_bytes/1024/1024/1024, 3) alloc_gbytes, round(used_bytes/1024/1024/1024, 3) used_gbytes, de.. 더보기
오라클 In-memory (인메모리) 기능 사용방법 지난번 포스트에서 인메모리(In-memory) 에 대한 기본적인 개념에 대해 알아봤습니다. 이번에는 이 인메모리 기능을 사용하기 위해서 Oracle DB 에서 설정하는 방법을 확인해보겠습니다. 인메모리 기능은 Oracle DBMS 내에 이미 내장되어 있기 때문에 추가로 뭘 더 설치하거나 하는 것은 필요없습니다. 단지, DBMS 내에 인메모리로 사용할 메모리 공간을 확보해주고, alter table 구문으로 테이블 설정만 변경해주면 됩니다. * DB에 인메모리 파라메타 세팅 > alter system set inmemory_size = 1G scope=spfile; // DB버전은 12.1.0.2 이상이어야 함. // INMEMORY_SIZE 파라메타 값을 100M 이상으로 설정해야 함. (설정후 rest.. 더보기
오라클 In-memory (인메모리) 기능 소개 (Oracle을 메모리DB로 만들어주는) Oracle In-memory 기능은 12c 버전부터 제공되는 Oracle의 유료옵션입니다. 메모리(RAM)에 테이블 또는 파티션을 올려놓음으로써 Disk I/O 시간을 제거하여 성능을 크게 개선하고자 하는 기능입니다. 그럼, 과거에는 Oracle DBMS 가 메모리를 사용하지 않았냐? 그것은 아니고, Buffer Cache 라는 메모리공간에 테이블의 블록들을 올려놓고(캐싱해서) 사용해왔었습니다. 다만, 기존 버퍼캐시에는 테이블/파티션을 통째로 올려놓았던 것이 아니고 일부 블록들만 올려놓았었고, Row Format 으로 되어있는 Disk 에 있는 블록을 그대로 메모리에 로딩해서 캐싱하는 형태였습니다. 하지만, In-Memory 기능에서는 테이블/파티션을 통째로 올려놓고, Row Format 이 아닌 Co.. 더보기