
oracle ダンプファイルのサイズとインポート先の表領域の使用サイズの関係
あるダンプファイル(2.5GB)をオラクルDBへimportしたら、
そのDBの表領域が10GBほど使用されました。
2.5GBのものをimportしたのに、なぜここまで表領域を消費するのでしょうか?
(これまでこのようなことはありませんでした。)
表領域の使用サイズをもっと少なくするにはどうすればよいのでしょうか?
エクスポート時のコマンド
exp aaaa/aaaa file=bbbb.dmp log=exp_cccc.log consistent=y
インポート時のコマンド
imp aaaa/aaaa file=bbbb.dmp log=imp_cccc.log
エクスポート時に「compress=n」をつけたり、
インポート時に「ignore=y」をつけたりしたのですが、
とくに変化はありませんでした。
No.2ベストアンサー
- 回答日時:
ExportファイルのサイズとImport後のサイズは同期しません。
よくある誤解です。ExportファイルにはCreate文とInsert文が書かれています。
Create文にテーブルの初期サイズが設定されてます。初期サイズはCreate時に確保されます。データが少なくても(=Insert文が少ない)初期サイズが大きければテーブルのサイズも大きくなってしまいます。
もちろん、索引のサイズが大きい可能性はあります。
ただ、索引がデータ量の4倍のサイズになるとは思えません。
show=yでインポートを行うと、Create文が表示されるので、そこの初期エクステントを調べればわかると思います。
>インデックスをインポートしないようにすると
>DBへデータを入れたあとにインデックスがきかなくならないのでしょうか?
索引が存在しないので当然、索引検索は行われません。
>それともインポート後に検索したときに自動で
>つくものなのでしょうか?
明示的に作成しない限り自動で作成はされません。
この回答への補足
回答ありがとうございます。
昨日、dba_segmentsで各オブジェクトのサイズを確認したところ、
すべてあわせて10GBほどありましたので、おっしゃるとおり私の勘違いでした。
重ねて質問させていただきたいのですが、
不要なデータを削除した上で、compress=nを指定して再度エクスポートしたのですが、
使用していないエクステントが解放されていないようです。
これはその初期エクステントが関係しているのでしょうか?
No.1
- 回答日時:
エクスポートした表にインデックスがあるのでは。
エクスポートで作成されるダンプファイルには表、索引の定義とデータのみが含まれます。
インポートで表が作成されてデータがインサートされ、索引が作成されます。
エクスポート時にINDEXES=Nを指定してエクスポートしたダンプファイルをインポートしてみてください。
あ、一度インポートしているなら、表を削除してから試してくださいね。表を消さないと索引も残っているので、INDEXES=Nでエクスポートしても、インポートで同じ結果になりますから。
この回答への補足
早速の回答ありがとうございます。
重ねての質問で恐縮ですが、
インデックスをインポートしないようにすると
DBへデータを入れたあとにインデックスがきかなくならないのでしょうか?
それともインポート後に検索したときに自動で
つくものなのでしょうか?
インデックスについてよくわからなくて。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Data Pump で大量データインポートの際のUNDO表領域、TEMP表領域不足エラー解消法のついて
Oracle
-
データを削除しても表領域の使用率が減りません
Oracle
-
dmpファイルをインポートせずに、テーブル名を知りたい
Oracle
-
-
4
DB(oracle)のフルバック容量について
その他(データベース)
-
5
表領域の作成について
Oracle
-
6
datapumpの実行方法について
Oracle
-
7
ORA-00959: 表領域'****'は存在しません
Oracle
-
8
Oracleで上書きImportはできますか?
その他(データベース)
-
9
importについて
Oracle
-
10
既にテーブルが存在する場合のインポート
Oracle
-
11
異なるサーバーにファイルをエクスポートしたい
Oracle
-
12
特定のスキーマのテーブルを一括削除したい
その他(データベース)
-
13
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
14
Oracleで流したSQLのログを取得できますか?
Oracle
-
15
selectした結果の余計な余白を取るにはどうしたらよいのでしょうか
Oracle
-
16
SIDとSERVICE_NAMEの違いとは?
Oracle
-
17
PL/SQLで@ファイル名が反応しません
Oracle
-
18
順序のEXP/IMPについて
Oracle
-
19
Oracleでの文字列連結サイズの上限
Oracle
-
20
CSHが使えない REDHAT
UNIX・Linux
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
11gデータから10gへのインポー...
-
フルインポートで警告が発生します
-
インポートコマンドが認識され...
-
サーバーの移行について(エク...
-
【oracle10g 】Oracle Enterpri...
-
ACCESS:保存済みのインポート...
-
oracle ダンプファイルのサイズ...
-
Accessのファイルインポートが...
-
datetime型のインポートについて
-
既存のデータベースからCREATE...
-
Accessシステムオブジェクトの編集
-
パーティション、未割当ての利...
-
ORA-01013のエラーについて経験...
-
ORA-01843: 指定した月が無効で...
-
はじめまして!
-
CASE文のエラーについて
-
VBScript 実行時エラーについて
-
表領域の作成について
-
PL/SQL PLS-00103エラーについて
-
VBAでURLをブラウザで起動させたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルインポートで警告が発生します
-
datetime型のインポートについて
-
インポートコマンドが認識され...
-
oracle ダンプファイルのサイズ...
-
ACCESS:保存済みのインポート...
-
データのインポートについて
-
データのエクスポート/インポート
-
インポートエラー(IMP-00032)...
-
11gデータから10gへのインポー...
-
Accessでデータを自動でインポ...
-
【oracle10g 】Oracle Enterpri...
-
新バージョンのDMPを旧バージョ...
-
オラクルDBのビュアーソフト
-
インポートしたら遅くなった
-
ACCESSでエクスポートの件数を...
-
データベースのエクスポートと...
-
Oracleでデータのコピーをしたい。
-
オラクルのインポートについて
-
インポートエラー(IMP-00010)
-
ブロック障害でEXPやDELETEが失...
おすすめ情報