質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle Database 12c

Oracle Database 12cは、RDBMS製品です。世界初の商用RDBMSであるOracle Databaseのバージョンで、2013年にリリース。クラウド対応を考慮して設計されました。主な機能には、マルチテナント対応やインメモリデータベースの実装などがあります。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

1回答

1070閲覧

Oracleの表領域のサイズの求め方について

seamo1129

総合スコア22

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle Database 12c

Oracle Database 12cは、RDBMS製品です。世界初の商用RDBMSであるOracle Databaseのバージョンで、2013年にリリース。クラウド対応を考慮して設計されました。主な機能には、マルチテナント対応やインメモリデータベースの実装などがあります。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2019/09/24 15:29

編集2022/01/12 10:55

いつもお世話になっております。

Oracelの表領域のサイズを求める際に、下記のSQLを実行しているのですが、
お聞きしたいことがございます。
【SQL】

SELECT A.TABLESPACE_NAME 表領域 , ROUND(SUM(BYTES) / 1024 / 1024, 1) "ファイル容量(MB)" , ROUND(SUM(BYTES - SUM_BYTES) / 1024 / 1024, 1) "使用容量(MB)" , ROUND(SUM(SUM_BYTES) / 1024 / 1024, 1) "空き容量(MB)" , ROUND((SUM(BYTES - SUM_BYTES) / 1024) / (SUM(BYTES) / 1024) * 100, 1) "使用率(%)" FROM DBA_DATA_FILES A LEFT JOIN  ( SELECT TABLESPACE_NAME , FILE_ID , NVL(SUM(BYTES), 0) SUM_BYTES   FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME , FILE_ID ) B ON A.TABLESPACE_NAME = B.TABLESPACE_NAME AND A.FILE_ID = B.FILE_ID GROUP BY A.TABLESPACE_NAME ORDER BY 1;

上記の項目である「使用容量(MB)」を下記のケースでそれぞれ求めたいのですが、可能でしょうか。可能であるならば、実行するSQLをご教示頂けないでしょうか。

パターン1:テーブルの断片化が多発しており、実データより多くの容量が含まれている表領域の「使用容量(MB)」を求めるパターン。

パターン2:実データのみの表領域の「使用容量(MB)」を求めるパターン。

以上、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

直接の回答ではありませんが、Oracle9i 第1章 領域監視の対象 はOracle10g 以降追加された DBA_RECYCLEBIN は考慮されていませんが、ゴミ箱が空ならほぼそのまま参考になるのでは?

追記

SQL

1-- テーブル毎の容量を取得 2SELECT 3 TA.TABLE_NAME 4 , SG.BYTES / 1024 / 1024 AS MB 5FROM USER_TABLES TA 6INNER JOIN USER_SEGMENTS SG 7ON TA.TABLE_NAME = SG.SEGMENT_NAME 8WHERE 9 TA.DROPPED = 'NO' -- since Oracle10.1.0 10ORDER BY 11 TA.TABLE_NAME ;

投稿2019/09/24 15:57

編集2019/09/24 23:32
Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問