
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちわ。
> Oracleは9iです。
> テーブルをdropしてインポートすると言う事を頻繁に・・・
Oracle9i でしたか。
11g であれば、標準監査のログ (SYS.AUD$) が肥大化している可能性
もあったのですが、9i だと違いそうですね。
そうすると、テストで使ってるテーブルがSYSTEM 表領域を使っている
可能性が高いと思います。
SYSTEM 表領域の中を確認して、テスト用のテーブル/索引があった場合は
別の表領域に移動させてはどうでしょう?
因みに、テーブル/索引は以下の方法で表領域の移動が可能です。
テーブルの移動:
SQL> Alter table テーブル名 move <新表領域名>;
索引の移動:
SQL> Alter index 索引名 rebuild tablespace <新表領域名>;
但し、テーブルの表領域移動を行う際には3点程注意点があります。
1) SYSTEM 系のテーブル (SYS.AUD$ 等) は表領域の移動が
サポートされていない可能性があります。
2) Alter table コマンドで表領域の移動ができるのは
LONG 列を含まないテーブルに限られます。
LONG 列を含むテーブルは、exp, 別表領域にテーブル作成,
ignore=y を指定してimp の手順で行って下さい。
3) テーブルを移動すると、移動したテーブルに定義されている
索引の状態がUNUSABLE になります。
索引の状態を元に戻すには、索引のRebuild が必要となります。
ですので、表領域の移動はテーブルを先に行って下さい。
No.2
- 回答日時:
> Oracleは9iです。
> ちなみに、テスト環境なのでテーブルをdropしてインポートすると言う事を頻繁に行っています。
これはテストテーブルをSYSTEM表領域に作成しているということでしょうか?
だとするとデータファイルが断片化してしまい縮小は難しくなると思います。
http://d.hatena.ne.jp/yohei-a/20100417/1271482051
を参考にしてData Pump で dumpデータを exportし、DBの再作成。USERS表領域等を作成。
表領域を指定してインポート。
後は定期的にデータポンプでもexp,impでもいいのでデータの再構成を行なってdatafileのresizeをすればいいかと思います。
No.1
- 回答日時:
こんにちわ。
> SYSTEM01.DBFの縮小する方法がわかりません。
例えば、'/opt/oracle/oradata/orcl/system01.dbf' を5GB まで
縮小させるには、以下のコマンドを実行します。
SQL> alter database datafile
'/opt/oracle/oradata/orcl/system01.dbf' resize 5120m;
但し、データファイルの5GB より後ろの領域が使われていると
縮小には失敗します。
データファイルが拡張していると言う事は、何かのセグメントが
大量に領域を使用しているんだと思います。
先ずは、何が領域を大量に使用しているか確認した方が良いですね。
手順は、こんな感じです。
1) SQL> select file_id, file_name from dba_datafiles;
上のSQL でSYSTEM01.DBF のfile_id を調べる。
2) SQL> select tablespace_name, block_size from dba_tablespaces;
上のSQL でSYSTEM 表領域 (SYSTEM01.DBF を使用している表領域) の
ブロックサイズを調べる。
3) SQL> select segment_type, segment_name, max(block_id)
where file_id = <1) で確認したfile_id> and
block_id > 655360 order by 3 desc;
上のSQL で5GB より後ろの領域を使っているセグメントを調べる。
※ block_size が8KB の場合を想定しています。
5120 × 1024 ÷ 8 = 655360
それと、使用しているOracle のバージョンを教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 It has an extremely popular e-mail system, reporte 1 2022/11/04 19:41
- 数学 Pythonのspecgramに関する質問です。 1 2022/12/04 19:18
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Excel(エクセル) excel2003でxlsxファイルを更新したい 6 2023/01/31 15:15
- 英語 『G19 Gen5 MOS - Modular Optic System for Gen5』 の 『 1 2023/03/05 13:37
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- その他(年金) 企業年金(確定給付企業年金)についての勉強方法について 1 2022/05/21 23:32
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- MySQL AWSのRDSを無料枠で使用しておりますが、2日前にDBインスタンスを作成し、現在確認したらDBイン 1 2022/07/19 23:49
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
Data Pump で大量データインポ...
-
データファイルの縮小
-
テーブルのSTORAGE句のサイズ設定
-
Oracleはどの程度まで巨大なテ...
-
oracle SYSTEM01.DBF が大きい
-
表領域の使用率がもうすぐ100%
-
ORACLEでの領域計算
-
PROCのFETCH結果にごみが。。
-
USER_SEGMENTの参照について
-
表領域(users)の中身を整理したい
-
datapumpの実行方法について
-
Viewにインデックスは張れ...
-
DELETE文でFROM句を省略した場合
-
viewのバックアップ
-
SQL*Loaderで、データを加工し...
-
異なるスキーマからデータを抽...
-
CLOB型へのINSERT
-
Access レコードを追加できませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
Data Pump で大量データインポ...
-
TruncateしたテーブルへのInser...
-
表領域の使用率がもうすぐ100%
-
oracle SYSTEM01.DBF が大きい
-
テーブルのSTORAGE句のサイズ設定
-
データ削除の方法
-
Oracleはどの程度まで巨大なテ...
-
ORACLEでの領域計算
-
create table時のINITIALとMAXE...
-
USER_SEGMENTの参照について
-
表領域(users)の中身を整理したい
-
データベースの初期サイズ
-
INDEX 見積もりについて
-
Oracle8i ストアドプロ...
-
PROCのFETCH結果にごみが。。
-
dba_extentsの考え方について
-
運用中のALTER TABLE
-
SYSTEM表領域にインポー...
おすすめ情報