表領域データ・ファイルを確認する

Pocket

【概要】
DBA_DATA_FILESおよびDBA_TABLESPACESにより、表領域データファイルを確認する。
【SQL文】
/*
|| ■表領域データ・ファイルを確認する
||
|| 【項目の説明】
|| FILE_NAME :データ・ファイル名
|| TABLESPACE_NAME :表領域名
|| T_SIZE :ファイルの合計サイズ
|| AUTO :自動拡張可能かどうかのインジケータ
|| INCRE :自動拡張の増分値として使用されるOracleブロック数
|| MAX_SIZE :ファイルの最大サイズ
*/
set echo off
set lines 200
set pages 100

clear col
ttitle off

col FILE_NAME for a50
col TABLESPACE_NAME for a20
col T_SIZE for 999,999,999
col AUTO for a5
col INCRE for 999
col MAX_SIZE for 999,999,999

ttitle left ‘■■■■ 表領域データ・ファイル情報 ■■■■’
spool tbs_datafile_info.lis

SELECT a.file_name
, b.tablespace_name
, a.bytes/1024/1024
, a.autoextensible
, a.increment_by
, a.maxbytes/1024/1024
FROM dba_data_files a
, dba_tablespaces b
WHERE a.tablespace_name = b.tablespace_name
;
spool off
clear col
ttitle off
set line 80
/*
サイズを unlimited に設定しても、
dba_data_files の maxbytes には 「unlimited」とは表示されず、数値が表示されます。

理由としては、表領域のブロックサイズによってMAXBYTESの値が変わってしまうからです。
ちなみにブロックサイズ8Kの場合は、32GBが最大となります。

スモール・ファイル表領域の1つのデータ・ファイルの最大サイズ
[表領域のブロックサイズ] × 4194303 (= 2^22 -1) ‘ ブロックサイズが8KBの場合は、約32GB
*/
以上です (^^♪