2008年1月21日月曜日

テーブル情報取得

テーブル設計の際に必要な情報をcsv形式ファイルにて取得する。

※取得の際はスクリプトファイルを作成し実行する。
 コマンドから実行すると実行コマンド自体もspoolファイルに出力される。

■テーブル

set echo off
set linesize 1000
set pagesize 0
set trimspool on
set colsep ','
set feedback off
set termout on

col TABLE_NAME format a30

spool table_data.csv

select TABLE_NAME, -- テーブル名
PCT_FREE,
PCT_USED,
INITIAL_EXTENT, -- 初期テーブルサイズ
NEXT_EXTENT, -- 拡張時テーブル増加サイズ
MAX_EXTENTS, -- 最大拡張サイズ
AVG_ROW_LEN -- 平均行の平均長さ
from user_tables;

spool off

exit

■索引

set echo off
set linesize 1000
set pagesize 0
set trimspool on
set colsep ','
set feedback off
set termout on

col TABLE_NAME format a30

spool table_data.csv

select INDEX_NAME, -- 索引名
PCT_FREE,
TABLESPACE_NAME, -- 表領域名
INITIAL_EXTENT, -- 初期テーブルサイズ
NEXT_EXTENT, -- 拡張時テーブル増加サイズ
MAX_EXTENTS, -- 最大拡張サイズ
AVG_LEAF_BLOCKS_PER_KEY, -- 平均リーフブロック数
AVG_DATA_BLOCKS_PER_KEY -- 平均ブロック数
from user_indexes;

spool off

exit

◎索引作成

0 件のコメント: