4 мая 2008 г.

Создание табличного пространства, размер блока которого отличается от размера блока БД

Для создания табличного пространства, размер блока которого отличается от размера блока БД, необходимо выделить память под соответствующий db_Xk_cache_size
(db_2k_cache_size,db_4k_cache_size,db_8k_cache_size, db_16k_cache_size, db_32k_cache_size).

SQL> show parameter db_block_size

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
SQL> create tablespace tbs4k blocksize 4096
2 datafile '/u01/oradata/TESTDB/tbs4kTESTDB01.dbf'
3 size 10M autoextend on next 1M;
create tablespace tbs4k blocksize 4096
*
ERROR at line 1:
ORA-29339: tablespace block size 4096 does not match configured block sizes

SQL> show parameter cache_size

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
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 536870912
db_keep_cache_size big integer 0
db_recycle_cache_size big integer 0

SQL> alter system set db_4k_cache_size=16M scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup
ORACLE instance started.

Total System Global Area 1159537920 bytes
Fixed Size 730368 bytes
Variable Size 603979776 bytes
Database Buffers 553648128 bytes
Redo Buffers 1179648 bytes
Database mounted.
Database opened.

SQL> show parameter cache

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
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 16777216
db_8k_cache_size big integer 0
db_cache_advice string ON
db_cache_size big integer 536870912
db_keep_cache_size big integer 0
db_recycle_cache_size big integer 0
object_cache_max_size_percent integer 10
object_cache_optimal_size integer 102400

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
session_cached_cursors integer 100
SQL> create tablespace tbs4k blocksize 4096
2 datafile '/u01/oradata/TESTDB/tbs4kTESTDB01.dbf'
3 size 10M autoextend on next 1M;

Tablespace created.