While I create non standart db_block_size tablespace I faced ORA-29339: tablespace block size 16384 does not match configured block sizes.
16k = 16*1024 = 16384
ORA-29339
Check db_*k_cache_size parameters
Also db_block_size
I need to set db_16k_cache_size.
Then try again
16k = 16*1024 = 16384
 SQL> CREATE TABLESPACE DATA DATAFILE  
  '/u01/app/oracle/oradata/cdb1/TEST/data01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 31G  
 LOGGING  
 DEFAULT  
  NO INMEMORY  
 EXTENT MANAGEMENT LOCAL AUTOALLOCATE  
 BLOCKSIZE 16K  
 SEGMENT SPACE MANAGEMENT AUTO  
 FLASHBACK ON;  ORA-29339
 SQL> select name, block_size, current_size from v$buffer_pool;  
 NAME                 BLOCK_SIZE CURRENT_SIZE  
 -------------------- ---------- ------------  
 DEFAULT              8192       132096  Check db_*k_cache_size parameters
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 0  
 db_flash_cache_size    big integer 0  
 db_keep_cache_size    big integer 0  
 db_recycle_cache_size    big integer 0  
 SQL>  Also db_block_size
 SQL> show parameter db_block_size  
 NAME     TYPE VALUE  
 ------------------------------------ ----------- ------------------------------  
 db_block_size    integer 8192  
 SQL>  I need to set db_16k_cache_size.
 SQL> alter system set db_16k_cache_size = 128M scope=both; Then try again
 SQL> CREATE TABLESPACE DATA DATAFILE  
  '/u01/app/oracle/oradata/cdb1/TEST/data01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 31G  
 LOGGING  
 DEFAULT  
  NO INMEMORY  
 EXTENT MANAGEMENT LOCAL AUTOALLOCATE  
 BLOCKSIZE 16K  
 SEGMENT SPACE MANAGEMENT AUTO  
 FLASHBACK ON;  
 Tablespace created.   
 
Very helpful.
ReplyDeleteThanks, VM