기본적으로, 테이블스페이스의 블록 사이즈는 DB 생성시에 설정하는 블록 사이즈에 영향이 있다.


SQL> create tablespace test_16k

  2  datafile '/app/oracle/oradata/orcl/test_16k.dbf' size 50m

  3  blocksize 16k;

create tablespace test_16k

*

ERROR at line 1:

ORA-29339: tablespace block size 16384 does not match configured block sizes

 

SQL> show parameter _cache_size

 

NAME                                TYPE          VALUE

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

client_result_cache_size           big integer         0

db_16k_cache_size               big integer         0

db_2k_cache_size                big integer         0

db_32k_cache_size               big integer         0

db_4k_cache_size                big integer         0

db_8k_cache_size                big integer         0

db_cache_size                    big integer       128M

db_flash_cache_size              big integer         0

db_keep_cache_size                big integer         0

db_recycle_cache_size            big integer         0

 

현재 DB8kb이므로 블록사이즈가 16kb인 테이블스페이스를 생성하려고 할 때 

16kb를 처리하기 위한 버퍼캐시영역이 없어 에러가 발생하는 것을 확인할 수 있다.

때문에 해당영역을 16k_cache_size 파라미터값을 통해 설정을 변경해준다.

 

SQL> alter system set db_16k_cache_size=80m scope=both;

 

System altered.

 

16k cahce size로 메모리를 할당한다.

 

SQL> show parameter _cache_size

 

NAME                                TYPE        VALUE

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

client_result_cache_size           big integer         0

db_16k_cache_size               big integer         80M

db_2k_cache_size                big integer         0

db_32k_cache_size               big integer         0

db_4k_cache_size                big integer         0

db_8k_cache_size                big integer         0

db_cache_size                   big integer         128M

db_flash_cache_size              big integer         0

db_keep_cache_size                big integer         0

db_recycle_cache_size            big integer         0

 

SQL> create tablespace test_16k_lob

  2  datafile '/app/oracle/oradata/orcl/tab_16k_lob01.dbf' size 100m

  3  blocksize 16k;

 

16kb 블록 크기를 가지는 테이블 스페이스를 생성한다.

 

SQL> select tablespace_name, block_size, extent_management from dba_tablespaces;

 

TABLESPACE_NAME                                 BLOCK_SIZE         EXTENT_MAN

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

SYSTEM                                             8192                 LOCAL

SYSAUX                                             8192                 LOCAL

UNDOTBS1                                          8192                  LOCAL

TEMP                                                8192                 LOCAL

USERS                                              8192                 LOCAL

TEST_16K_LOB                                     16384                 LOCAL

 

16kb 블록 크기를 가진 테이블스페이스가 생성 된 것을 확인할 수 있다.

사업자 정보 표시
(주)블루원 | 김홍태 | 서울특별시 용산구 원효로 4가 135 금홍 2빌딩 | 사업자 등록번호 : 106-86-76684 | TEL : 02-3272-7200 | Mail : support_ora@blueone.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

+ Recent posts