我的机器是 RHEL 6.2,文件系统 BLOCK SIZE 是 1024。
# tune2fs -l /dev/sda1
...
Block size: 1024
...
Run Code Online (Sandbox Code Playgroud)
我的 Oracle 是 11g,数据库块大小是 8192。
SQL> show parameters db_block_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
Run Code Online (Sandbox Code Playgroud)
我创建了一个表空间,设置块大小为 16K。
CREATE BIGFILE TABLESPACE "C_IDX" DATAFILE '/u01/oradata/weixin/c_idx1.dbf'
SIZE 4096M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT
MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO blocksize 16K;
Run Code Online (Sandbox Code Playgroud)
然后我收到错误ora-29339。
ORA-29339: tablespace block size 16384 does not match configured block sizes
Run Code Online (Sandbox Code Playgroud)
看来原因 DEFAULT 16K buffer cache是0。
SQL> select …Run Code Online (Sandbox Code Playgroud) oracle ×1