溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle中db_16k_cache_size的設定測試

發(fā)布時間:2020-08-11 08:41:31 來源:ITPUB博客 閱讀:276 作者:studywell 欄目:關系型數據庫


Oracle中db_16k_cache_size的設定測試 


參考:http://blog.chinaunix.net/uid-23622436-id-3234873.html


官方文檔:http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams046.htm#REFRN10027


創(chuàng)建非標準塊表空間,需要設置db_nk_cache_size值后,方可創(chuàng)建表空間。
默認的db block是8k, 但當需要使用2k,4k,16k,32k的block size時,就需要設定db_nk_cache_size,其中n是2,4,16或32.




1、以創(chuàng)建16K的表空間塊為例,db_16k_cache_size初始為0,創(chuàng)建表空間失敗。


SYS@PROD3> show parameter block


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers     integer 0
db_block_checking     string FALSE
db_block_checksum     string TYPICAL
db_block_size     integer 8192
db_file_multiblock_read_count     integer 128
SYS@PROD3> show parameter 16k


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_16k_cache_size     big integer 0




SYS@PROD3> show parameter db_create_file_dest


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest     string /u01/app/oracle/oradata/PROD3


SYS@PROD3> create tablespace tb16 datafile size 10m blocksize 16k;
create tablespace tb16 datafile size 10m blocksize 16k
*
ERROR at line 1:
ORA-29339: tablespace block size 16384 does not match configured block sizes


2、修改db_16k_cache_size參數值后,創(chuàng)建表空間成功;
SYS@PROD3> alter system set db_16k_cache_size=20m;
SYS@PROD3> create tablespace tb16 datafile size 10m blocksize 16k;
SYS@PROD3> create table table16 tablespace tb16 as select * from dba_objects ;


3、重新將該db_16k_cache_size設置為0,數據插入失敗。


SYS@PROD3> alter system set db_16k_cache_size=0;
SYS@PROD3> show parameter 16


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_16k_cache_size     big integer 0




SYS@PROD3> insert into  table16  select * from dba_objects ;
insert into  table16  select * from dba_objects
             *
ERROR at line 1:
ORA-00379: no free buffers available in buffer pool DEFAULT for block size 16K


4、db_16k_cache_size參數值默認是0,設置后最小值為系統(tǒng)CPU數*4M,最大值取決于db_buffer值;






SYS@PROD3> alter system set db_16k_cache_size=1m;
SYS@PROD3> show parameter 16k


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_16k_cache_size     big integer 8M




官方文檔中該參數說明;
http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams046.htm#REFRN10027
DB_nK_CACHE_SIZE 
Property             Description
Parameter type       Big integer
Syntax               DB_[2 | 4 | 8 | 16 | 32]K_CACHE_SIZE = integer [K | M | G]
Default value        0 (additional block size caches are not configured by default)
Modifiable           ALTER SYSTEM
Range of values      Minimum: 0 (values greater than zero are automatically modified to be either the user-specified size rounded up to the granule size or 4 MB * number of CPUs, whichever is greater) 
                     Maximum: operating system-dependent
Basic                No




DB_nK_CACHE_SIZE (where n = 2, 4, 8, 16, 32) specifies the size of the cache for the nK buffers. You can set this parameter only when DB_BLOCK_SIZE has a value other than nK. For example, if DB_BLOCK_SIZE=4096, then it is illegal to specify the parameter DB_4K_CACHE_SIZE (because the size for the 4 KB block cache is already specified by DB_CACHE_SIZE).
Do not set this parameter to zero if there are any online tablespaces with an nK block size.
Operating system-specific block size restrictions apply. For example, you cannot set DB_32K_CACHE_SIZE if the operating system's maximum block size is less than 32 KB. Also, you cannot set DB_2K_CACHE_SIZE if the minimum block size is greater than 2 KB.


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI