OS환경 : Oracle Linux 7.6 (64bit)
DB 환경 : Oracle Database 19.18.0.0
에러 : ORA-62156: MEMOPTIMIZE FOR READ feature not allowed on segment with deferred storage
테이블 생성 시 MEMOPTIMIZE FOR READ 옵션을 넣어 생성할떄 발생하는 메세지
1
2
3
4
5
6
7
8
9
|
SQL>
create table mem_tb
(id1 number primary key, id2 number, name varchar2(10),
date1 varchar2(8), date2 varchar2(8), date3 date,
phone varchar2(13), price number, qty number,
test1 number, test2 varchar2(5), test3 varchar2(4)
)
memoptimize for read;
ORA-62156: MEMOPTIMIZE FOR READ feature not allowed on segment with deferred storage
|
해결 방법 : segment creation immediate 옵션을 넣어주고 테이블 생성
MEMOPTIMIZE FOR READ 기능을 사용하려면 테이블에 segment가 존재해야함
deferred_segment_creation 파라미터가 true 인 상태로
테이블을 생성하면 segment가 존재하지 않기때문에 에러가 발생함
이 파라미터가 true로 되어있는 경우 segment creation immediate 옵션을 넣고 테이블을 생성해야함
1
2
3
4
5
6
7
8
9
|
SQL>
create table mem_tb
(id1 number primary key, id2 number, name varchar2(10),
date1 varchar2(8), date2 varchar2(8), date3 date,
phone varchar2(13), price number, qty number,
test1 number, test2 varchar2(5), test3 varchar2(4)
)
segment creation immediate
memoptimize for read;
|
원인 : deferred_segment_creation 파라미터 설정으로 인한 에러
deferred_segment_creation 파라미터 세팅이 TRUE로 되어있음
1
2
3
4
5
|
SQL> show parameter DEFERRED_SEGMENT_CREATION
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
|
이 값이 TRUE이면 테이블에 첫 번째 행이 삽입될 때까지
테이블 및 해당 종속 객체(LOB, 인덱스)의 세그먼트가 생성되지 않음
테이블을 생성 하기 전에 많은 테이블이 채워지지 않을 것으로 예상되는 경우(파티션을 많이생성하는 등)
이 파라미터를 true로 설정하는 것이 좋음
true 설정 시 디스크 공간이 절약되고 생성 시간이 최소화됨
참조 :
https://blogs.oracle.com/in-memory/post/memoptimized-rowstore-fast-lookup
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DEFERRED_SEGMENT_CREATION.html
https://www.dba-oracle.com/t_oracle_deferred_segment_creation.htm
'ORACLE > Trouble Shooting' 카테고리의 다른 글
WARNING: too many parse errors (2) | 2023.04.30 |
---|---|
RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process (0) | 2023.03.02 |
ORA-12754: Feature 'Memoptimized Rowstore' is disabled due to missing capability 'Runtime Environment'. (0) | 2023.02.13 |
SPM: 1 expired sql plan baselines auto-purged. (0) | 2023.01.25 |
오라클 19c Windows 용 Client 설치시 Setup.exe 실행문제 (0) | 2022.12.20 |