A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
#2です。
テーブルの項目属性によって、容量を測る事が可能かもしれません。
属性が文字列の場合、桁数をプラスする。
属性が数値列の場合、桁数を+1をプラスする。
属性が日付列の場合、19をプラスする。
例------------------------
文字列A VARCHAR2(10)
数値列B NUMBER(10,0)
日付列C DATE
の3項目があったとします。
その時の容量は、
列A 10バイト
列B 11バイト
列C 19バイト
計=40バイト × レコード数
これで総バイト数が出ると思うので、その値からキロバイト・メガバイトを割り出せばいいのでは・・・
だめですかね?
ただ、VARCHARは、データを格納した後に開放されると思うので、
実際に格納されているデータの桁数の平均値をだし、その値を参考にした方がよいかもしれません。
例------------------------
列Aの桁数が
レコード1=10バイト
レコード2= 3バイト
レコード3= 8バイト
の場合、(10+3+8)/3=7バイト
列A 7バイト
列B 11バイト
列C 19バイト
計=37バイト × レコード数
ただ、これにブロック数やセクタ数とか違う要素が入ってきて、物理的な容量が求められると思うので、
あくまで、参考にして下さい。
インフラを経験している人の意見を聞きたいものです。
No.5
- 回答日時:
こんにちは #3 です
大したことではないのですが
#2 さんが記載されているスクリプトについて
自分がオリジナルを書かれたという場合や転載可能と判断された内容のものであれば、特に問題はございません。
ただ、同一と思われるスクリプトが海外の Web 上に公開されています。
もしオリジナルでなければ、何かしらのコメントを書いておいた方がよろしいのではないかと思った次第です。
No.4
- 回答日時:
#3 さんへ
返答が遅くなってすみません。
特に問題はないと思います。
人に聞いた事や、自分で試した事を書いたので・・・
問題になりそうなところってありました?
No.2
- 回答日時:
ちょっと長いですが・・・
------------------------
set pagesize 1000
set pause off
set verify off
--
define in_tsname=&tablespace_name
set linesize 100
col tn format a10 heading 'Name' trunc
col fn format a45 heading 'Located in file_ID + File Name'
col bts format a12 heading 'Size'
col used format a12 heading 'Used'
col ex format 9999 headin 'NrExt'
col rs format 999,999,999 heading 'RBSsize'
col init format 9,999,999 heading 'Init'
col next format 9,999,999 heading 'Next'
col mi format 999 heading 'Min'
col ma format 999 heading 'Max'
col pct format 990 heading '%Inc'
col st format a4 heading 'Stat'
col sn format a15 heading 'Segm Name'
col ts format a15 heading 'In Table Space'
select d.tablespace_name tn,
f.file_id||' '||file_name fn,
to_char(f.bytes/1024,'9,999,999')||'K' bts,
to_char( (f.bytes - nvl(s.free_bytes,0))/1024,'9,999,999')||'K' used
from sys.dba_tablespaces d, sys.dba_data_files f,
(select file_id, sum(bytes) free_bytes
from sys.dba_free_space
group by file_id) s
where d.tablespace_name = f.tablespace_name
and f.file_id = s.file_id (+)
and d.tablespace_name like '&in_tsname%'
order by d.tablespace_name, f.file_id;
define part1="rpad('|',29*(f.bytes-nvl(s.free_bytes,0))/f.bytes,'*')"
col gr format a30 heading 'Percent full'
select d.tablespace_name tn,
d.initial_extent init,
d.next_extent next,
d.pct_increase pct,
d.min_extents mi, max_extents ma,
decode(d.status,'ONLINE','OnL','OFFLINE','OffL') st,
rpad(&part1,29,' ')||'|' gr
from sys.dba_tablespaces d, sys.dba_data_files f,
(select file_id, sum(bytes) free_bytes
from sys.dba_free_space
group by file_id) s
where d.tablespace_name = f.tablespace_name
and f.file_id = s.file_id (+)
and d.tablespace_name like '&in_tsname%'
order by d.tablespace_name, f.file_id;
------------------------
上記をSQL*PLUSで流すと、テーブルが使用している実領域が表示されます。
(一度、領域を入力するパラメータが表示されます)
たぶん、これでよいと思いますが・・・
No.1
- 回答日時:
「USER_TABLES」や「USER_TABLESPACE」ビューで見れたと思うのですが・・・
※すいません。手元に環境がないのでビューの有無やメンバ内容等がわかりません。
あくまで、参考ということにしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- UNIX・Linux Linux(Fedora30)のブートディスクの交換について 2 2023/05/16 13:17
- その他(ブラウザ) bingチャットの内容(縦長)をスクリーンショットで保存する方法 3 2023/02/28 02:13
- MySQL [1000地域 × 10カテゴリー = 1万件のテーブル]!グループ化? 1 2023/06/14 23:56
- 物理学 示すように,真空中の直交座標系を考える。y平面に平行な つ領域Iと領域Iがあり,軸上の領域Iと領域I 1 2023/06/25 14:46
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- ドライブ・ストレージ Win10を再インストールしたら、HDDの一部に未割り当て領域ができ何の操作もできません。 4 2023/05/19 05:31
- ノートパソコン パソコンを、アップグレードした後に出来た、Cドライブの後に出来た、このドライブは? 3 2023/04/03 17:10
- C言語・C++・C# あまりわかりません。 複素数$c$を具体的に定めた複素写像写像$f_c(z)$に対して、原点を含む領 4 2022/10/25 09:17
- 宇宙科学・天文学・天気 宇宙が無限に広いとしたら、地球は無限に存在しますか。 4 2023/01/26 14:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイクラPC版のコマンドで効率...
-
エクセルで最後の文字だけ置き...
-
阪急三番街 ATM(ゆうちょ)は...
-
同一のユーザー、同一商品のと...
-
Unionした最後にGROUP BYを追加...
-
DataTableで重複行を削除したい
-
書籍の内容はまともでしょうか?
-
副問合せの書き方について
-
SQL Left Join で重複を排除す...
-
WHERE id = ? について
-
min句のSQLを改造し二番目に小...
-
MySQLのint型で001と表示する方...
-
別テーブルからSELECTした値を...
-
所有格の意味
-
select文のwhere句に配列を入れ...
-
スクリーンセイバー
-
MySQLの抽出について
-
ポスグレでの幾何学データ配列...
-
AUTO_INCREMENTのあるテーブル...
-
【MySQL】本当に困っているので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
副問合せの書き方について
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
select文のwhere句に配列を入れ...
-
selectした大量データをinsert...
-
センノシド異性体構造式
-
Unionした最後にGROUP BYを追加...
-
insertを高速化させたい
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
ある条件の最大値+1を初番する...
-
inner joinをすると数がおかし...
-
sqlで、600行あるテーブルを100...
-
エクセルの関数について教えて...
-
Access パラメータクエリをcsv...
-
URL と行番号の指定
-
複数テーブルのGROUP BY の使い...
-
PL/SQLの変数について
おすすめ情報