Oracleの表領域のサイズを確認するSQL(表領域単位)表領域単位Oracleの表領域の空きが今どれくらいあるか?EMを使えば可視化されているのでわかりやすいのですが、いちいち面倒です。やはりSQLで参照したいですね。まずは、表領域単位で alter index scott.index01_emp rebuild; ※alter table 〜 moveを実行する時は移動先の表領域に権限がないといけない権限追加は下記 mysqlで【alter table】を使ってテーブル構造を変更する方法を初心者向けに解説した記事です。実際のテーブルを使って「テーブル名を変更」「フィールドを追加」「フィールドの変更」「フィールドを削除」の4つについて紹介します。
とりあえず、DBの空き容量とALTERしようとしているテーブルの容量を確認する。 公式マニュアルには以下のようにある。 In most cases, ALTER TABLE makes a temporary copy of the original table. tablespace_name 現サイズ(mb) 使用量(mb) 使用率(%) 空き容量(mb) SYSAUX 660 623.38 94.45 36.63 UNDOTBS1 25 18.5 74 6.5 本日の作業中で、データベースでのすべてのテーブル名称、レコード数及び各テーブルの使用容量を確認することがあった。 グーグルしたら、沢山の記事があった。しかし、皆は似ている記事を掲載している(笑)。 検索結果の3ページまで閲覧したが、結局、みんなは同一sql文となる。 オラクルのデータベース容量を減らす為に、sql plusにてdelete文を実行(テーブル別に)しました(テーブルの中身、全件削除ではなく条件に一致した不要なデータのみ削除)条件に該当するデータは消えましたが、オラクルデータベース自体 alter table 〜 moveでは rowid が変更されるため、索引は無効になる rowid が変更されるため、索引を再作成する必要がある. 参考:mysql 5.6 の場合の仕様 MySQLでALTER TABLE文の進捗状況を確認する MySQLをOPTIMIZEしてフラグメント化を解消する DB再作成. いくつかの例外はあるものの、 … この問題はoracleでよく起きる問題である。 更新を頻繁に行うテーブルがこの問題によく遭遇する。 原因は、ハイウォーターマーク データの断片化が起きていることと、「使用済」の最終ブロックの位置が … DB再作成でもdata_freeの容量を減らせる。 dumpのオプションはやろうと思えば細かく指定できるので、便利。