• ベストアンサー

SQL

現在、使用しているDBの情報を取得したいのですが?  (1)表領域のサイズ、空き容量  (2)それにぶら下がっているデータファイル  (3)表領域毎のオブジェクト 要はGUIの管理画面で、  表領域→データファイル  表領域→ユーザー→オブジェクト をSQL文で管理したいのですが? 初心者ですみません。

  • Oracle
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • investyou
  • ベストアンサー率23% (13/56)
回答No.2

(1)表領域のサイズ、空き容量 select t.tablespace_name tablespace_name, total_bytes / 1024 tablespace_kbytes, (total_bytes - free_bytes) / 1024 used_kbytes, free_bytes / 1024 free_kbytes, to_char(((total_bytes - free_bytes) / (total_bytes)) * 100, '990.99') || '%' capacity from (select tablespace_name, sum(bytes) total_bytes from dba_data_files group by tablespace_name) t, (select tablespace_name, sum(bytes) free_bytes from dba_free_space group by tablespace_name) f where t.tablespace_name = f.tablespace_name order by t.tablespace_name; (2)それにぶら下がっているデータファイル select df.file_name, df.tablespace_name, bytes / 1024 file_kbytes, (bytes - free_bytes) / 1024 used_kbytes, free_bytes / 1024 free_kbytes, to_char(((bytes - free_bytes) / (bytes)) * 100, '990.99') || '%' capacity from dba_data_files df, (select file_id, sum(bytes) free_bytes from dba_free_space group by file_id) f where df.file_id = f.file_id order by tablespace_name, file_name (3)表領域毎のオブジェクト select * from all_tables をカスタマイズ。

その他の回答 (1)

  • wmitsu
  • ベストアンサー率26% (4/15)
回答No.1

このあたりを調べましょう 表領域の情報 DBA_TABLESPACES データ・ファイルの情報 DBA_DATA_FILES セグメントの情報 DBA_SEGMENTS エクステントの情報 DBA_EXTENTS 空きエクステントの情報 DBA_FREE_SPACE

関連するQ&A

  • PATH を返してくれるような SQL 文の書き方について

    DBサーバ+APサーバの構成です。 APサーバで動くプログラムより SQL 文を発行して、 SQLServer2005 のデータを取得できる環境にあります。 やりたいことは、BACKUP DATABASE 文を、APサーバのプログラム から発行し、DBサーバ上にバックアップデータを保存することです。 DBサーバのフォルダ構成が環境によってまちまちなので、 SQL文を投げて、DBサーバのフォルダを取得したいのですが、 SQLServer のシステムテーブルなどに格納されていたりは しないでしょうか。 表領域のフルパス名、SQLServer インストールフォルダなどを 取得できる方法があれば教えてください。 宜しくお願いします。

  • SQL文について

    こんにちは! 皆様に教えて欲しいことがあります。 DBの中のデータで、一番年齢が高い人の名前を取得してくるときってどんなSQL文を書けばいいんでしょうか? 一番高い年齢を取得、なら select Max(年齢) from DB でいいと思うんですけど、一番年齢の高い人の名前、となると、どうやってとってくるのかわかりません。 where文で「having max(年齢)」ってやったんですけど、エラーが出て実行できませんでした。 今作ってるSQL文は、DB二つから他の条件も含めてselectしているので、他の理由でエラーになってるのかもしれませんが・・・。 職場にSQLがわかる人がいないので、誰にも聞けません。 もしわかる方がいらっしゃいましたら、教えてください。 宜しくお願いします。

  • Oracle8での表領域の開放について

    DWHで使用しているDB(Oracle8)についての質問です。 ユーザーオブジェクトを格納している非SYSTEM表領域が自動拡張の末がDisk容量を圧迫してきています。サーバーのDisk容量に余裕がなくデータファイルを追加することでの対策は打てません。 大容量のTABLEの作成や削除をしていたので実際に使用している容量は多くないはずなので、一度リフレッシュ(使っていない表領域を開放)したいのですが、Oracle8で可能でしょうか? 可能であれば手順についてもご教授いただきたく、宜しくお願い致します。

  • SQLがわかりません

    初めての投稿です。 SQL自体があまり理解していないので、どのようなSQLになるのかわかりません。 使用DB HIRDB テーブル名   |キー ファイルマスタ |A,B ユーザマスタ  |C ファイルサブ1  |A,C ファイルサブ2  |B,C 内容 ファイルマスタのキーAを使いファイルサブ1のファイル名を取得 またキーBを使いファイルサブ2のファイル名を取得します。 そして、ファイルサブ1・ファイルサブ2には ユーザマスタのキーCがありキーCを使いユーザー名称を取得します。 表示はこのようにしたいです。 ファイルサブ1ユーザ名称|ファイルサブ1ファイル名|ファイルサブ2ユーザ名称|ファイルサブ2ファイル名 わかりづらい説明かもしれませんが、宜しくお願いします。

  • SQL Server 2005のバックアップに関して

    SQL Server 2005のバックアップをARCserveとそのSQL Agentを 利用して取得しようと考えています。 システムが壊れてしまったときのことを考えて OS、SQL、AECserveを入れなおしてAECserveで取得した バックアップを戻せばSQLが元通りに使えるようにしたいと 考えています。その場合利用しているDB領域のほかに バックアップを取得しておく必要のある領域はあるのでしょうか。 ご存知の方、または答えらしき内容が出ているサイトを 知っている方がいましたら、教えてください。

  • SQLの勉強中の者です。

    SQLの勉強中の者です。 調べてもよく分からなかったので、分かる方、ご教授いただけると嬉しいです。 ●DBテーブル情報  A B C ---------------  1 1 1  1 2 1  1 2 2 ●取得条件 「A」=1 かつ「B」=1or2 であり、かつ 「B」=1の取得データと「B」=2の取得データで「C」が共通していること 上記例で言えば、テーブルの1、2行目を取得したいのですが… どんなSQL文を使えば良いのか、ヒントだけでも良いのでいただけないでしょうか。 どうぞ宜しくお願いします。

  • JOINを使ったSQL文を作成しようとしています。

    JOINを使ったSQL文を作成しようとしています。 以下の様な3つのテーブルがある場合のSQL文を教えて下さい ※勉強の為、適当なテーブルを作成しましたが、やりたい事は  JOINの中に更にJOINさせたSQL文を作成したいと思ってます 表A  USER_ID(プライマリキー)  NAME 表B  USER_ID(プライマリキー) ※表A.USER_IDと紐着く  BUMON(プライマリキー)  TERM(プライマリキー) 表C  BUMON(プライマリキー) ※表B.BUMONと紐着く  TERM(プライマリキー) ※表B.TERMと紐着く  MEMBER 【取得したい項目】  表A.USER_ID 【抽出条件】  表CのMEMBERの値が'10','20'以外(である表AのNAMEを取得)

  • SQLについて

    SQLについて質問です。 現在vbからmdbファイルにある日付間のデータを取得するようなsqlをなげているのですがうまくいかないのでお知恵をお貸しください、、、 sql文は ("select * from ABC where date between ""'" & hiniti & "'"" and ""'" & hiniti2 & "'"" ;") hinitiには日付(2006/4/5)hiniti2には(2006/7/4)のように日付が入ったとするとデータは2006/4/5以降から2006/7/4までしか取得してこないのです。 BETWEEN 演算子は境界値も含むらしいので2006/4/5のデータが取れない理由がわかりません。 日付が文字列というのが問題あるのでしょうか?

  • SQL 2005のデータベースファイルのサイズ変更について

    こんにちは。 現在、基幹システムのDBとして、SQL Sever 2005 を使用しております。 稼動1年が経過した現在、データそのものの容量は50GB程度なんですが、導入時、ストレージ自体に余裕があったため、データベースファイルの初期サイズをかなり大きく採ってしまい、バックアップに非常に時間がかかっております。(データ増加率を間違えました・・・)  ・データベースファイル 合計8個  各ファイルサイズ 75GB   データベース容量 600GB 増加率から、データベース容量を半分の300GBに縮小したいと思っております。 縮小するための方法を教えていただけないでしょうか?

  • sqlについて

    oracleのsql文の取得制限でrownumがありますがrownumは何順でデータを取得するのでしょうか