2012年9月10日月曜日
INITIAL_EXTENTと遅延セグメント作成な話1
ちょっと気になったのでやってみたのだけど、
個人的にはツボったのでメモしておく。
何の得もない内容です。
----
環境
----
Windows7 64bit
Oracle: 11.2.0.3.0 64bit
SQL> select TABLESPACE_NAME,INITIAL_EXTENT,MIN_EXTENTS from dba_tablespaces where tablespace_name like 'TEST_EXT%';
TABLESPACE_NAME INITIAL_EXTENT MIN_EXTENTS
--------------------------- -------------- -----------
TEST_EXT 65536 1
INITIAL_EXTENT :初期エクステントのデフォルトのサイズ
MIN_EXTENTS:エクステントのデフォルトの最小数
それぞれよく見る数値です。
初期エクステントサイズは64KBで、1ブロック8KBとすると、
エクステントは1個で、初期エクステントは8ブロックですね。
じゃ、64KBで表領域作れるってこと?
SQL>create tablespace test_ext datafile 'C:\app\oracle\oradata\orcl\test_ext01.dbf' size 64K;
create tablespace test_ext datafile 'C:\app\oracle\oradata\orcl\test_ext01.dbf' size 64K
*
行1でエラーが発生しました。:
ORA-03214: 指定したファイル・サイズが必要最小値を下回っています。
うーん、エラー
まぁ、管理情報とかのオーバーヘッドもあるよね、
64KBから1KBずつ増やしていきます。
SQL> create tablespace test_ext datafile 'C:\app\oracle\oradata\orcl\test_ext01.dbf' size 81K;
表領域が作成されました。
81KBで作れました。
ちなみに、KROWNでエラー番号を検索すると、文書番号:35170に
表領域の最低値の目安が書いてあります。
使用可能エクステントを確認します。
SQL> select TABLESPACE_NAME,BLOCK_ID,BYTES,BLOCKS from dba_free_space where tablespace_name like 'TEST_EXT%';
TABLESPACE_NAME BLOCK_ID BYTES BLOCKS
------------------- ---------- ---------- ----------
TEST_EXT 4 65536 8
ブロックID4から8ブロック64KB使えるようです。
ブロックID4より前の3ブロックは管理用に使ってるんですかね。
あり??
8KB×12ブロック=96KB。。。
81KBで作ったのに???
SQL> select tablespace_name,bytes/1024 from dba_data_files where tablespace_name ='TEST_EXT';
TABLESPACE_NAME BYTES/1024
------------------------ ----------
TEST_EXT 88
ん?88KB=11ブロック??
C:\app\oracle\oradata\orcl>dir TEST_EXT01.DBF
98,304 TEST_EXT01.DBF
!!
96KB!? 12ブロックだ。。
ぐぬぬぬ。油断ならん。。
次回は、表領域が出来たのでオブジェクトを作っていきます。
次回:INITIAL_EXTENTと遅延セグメント作成な話2
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿