oracle ダンプファイルのサイズとインポート先の表領域の使用サイズの関係

このQ&Aのポイント
  • あるダンプファイル(2.5GB)をオラクルDBへimportしたら、そのDBの表領域が10GBほど使用されました。
  • 2.5GBのものをimportしたのに、なぜここまで表領域を消費するのでしょうか?(これまでこのようなことはありませんでした。)
  • 表領域の使用サイズをもっと少なくするにはどうすればよいのでしょうか?
回答を見る
  • ベストアンサー

oracle ダンプファイルのサイズとインポート先の表領域の使用サイズ

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」をつけたりしたのですが、 とくに変化はありませんでした。

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

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

  • ベストアンサー
  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.2

ExportファイルのサイズとImport後のサイズは同期しません。よくある誤解です。 ExportファイルにはCreate文とInsert文が書かれています。 Create文にテーブルの初期サイズが設定されてます。初期サイズはCreate時に確保されます。データが少なくても(=Insert文が少ない)初期サイズが大きければテーブルのサイズも大きくなってしまいます。 もちろん、索引のサイズが大きい可能性はあります。 ただ、索引がデータ量の4倍のサイズになるとは思えません。 show=yでインポートを行うと、Create文が表示されるので、そこの初期エクステントを調べればわかると思います。 >インデックスをインポートしないようにすると >DBへデータを入れたあとにインデックスがきかなくならないのでしょうか? 索引が存在しないので当然、索引検索は行われません。 >それともインポート後に検索したときに自動で >つくものなのでしょうか? 明示的に作成しない限り自動で作成はされません。

ilaser
質問者

補足

回答ありがとうございます。 昨日、dba_segmentsで各オブジェクトのサイズを確認したところ、 すべてあわせて10GBほどありましたので、おっしゃるとおり私の勘違いでした。 重ねて質問させていただきたいのですが、 不要なデータを削除した上で、compress=nを指定して再度エクスポートしたのですが、 使用していないエクステントが解放されていないようです。 これはその初期エクステントが関係しているのでしょうか?

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

エクスポートした表にインデックスがあるのでは。 エクスポートで作成されるダンプファイルには表、索引の定義とデータのみが含まれます。 インポートで表が作成されてデータがインサートされ、索引が作成されます。 エクスポート時にINDEXES=Nを指定してエクスポートしたダンプファイルをインポートしてみてください。 あ、一度インポートしているなら、表を削除してから試してくださいね。表を消さないと索引も残っているので、INDEXES=Nでエクスポートしても、インポートで同じ結果になりますから。

ilaser
質問者

補足

早速の回答ありがとうございます。 重ねての質問で恐縮ですが、 インデックスをインポートしないようにすると DBへデータを入れたあとにインデックスがきかなくならないのでしょうか? それともインポート後に検索したときに自動で つくものなのでしょうか? インデックスについてよくわからなくて。

関連するQ&A

  • Oracleインポート

    Oracle9iでエクスポートしたファイルをインポートしていますが、順序(Sequence)が元にもどりません。エクスポート前が10だとするとインポートしたときには、create sequenceを行った後の状態になっています。これをどうにか、インポート後は10にしたいのですがどうすればよろしいのでしょうか。エクスポート、インポートの権限としてDBAやEXP_FULL_DATABASE,IMP_FULL_DATABASEを与えています。

  • 独自 TYPE 定義した表への IMPORT

    独自に TYPE を定義した表のデータを export したのですが、exp した dmp ファイルの imp で 下記エラーが発生してしまいます。 「ORA-01861: リテラルが書式文字列と一致しません」 export 元環境 OS: HP-UX 11i v2(64bit) Oracleバージョン:9.2.0.8 Enterprise import 先環境 OS:Windows7 Pro (64bit) Oracleバージョン: 11.2 Express Edition 対処方法、または原因の切り分け方法について、ご教示願います。

  • Oracleのエクスポート、インポートについて困っています・・・

    Oracleのエクスポート、インポートについて詳しい方にお伺いしたいのですが。 質問の内容と、スペックですが、 エクスポートの対象にしているOSがlinuxで、DBがOracleです。このサーバーは私のローカル内にありません。 インポートしたいデモ環境(OSがlinuxで、DBがOracle)が、私のローカル内にあります。二つとも別場所です。 お分かりのとおり、この対象OSのOracle内のデータとデモ環境(OSがlinuxで、DBがOracle)のOracle内のデータを 同じようにしようとしております。 私のOSはwindowsXPで、Oracleはインストールしておりません。 これが痛くてフリーソフトをあれこれ使おうとすると、SQL*Net(有料?あまりよくわからない)が必要なことを知ってより困っています。 この私の環境(OSはwindowsXPで、Oracleはインストールしていない)で 別場所のOracleからエクスポートし、自分のローカル内にあるデモ環境(OSがlinuxで、DBがOracle)のOracleに インポートできるフリーソフトってあるのでしょうか。 別場所であろうが、自分のローカル内だけであろうが、 エクスポートだけしかできないフリーソフトでもほしいです。 ないとは思いますが(結構、調べたので)、もし、ご存知のかたがいれば教えていただけないですか。 あと、実際、上記のような質問をしていますが、やはり、この件に関しては、 コマンドプロンプトを開いてimp/expをするのがよいのでしょうか。 できるだけ、シンプルな方法をつかみたい次第です。 もし、コマンドからの操作しかないのでしたら、 imp/expにおいて気をつけなければいけないこと等はあるのでしょうか。 expはDBに危険がないような気がするのですが、impはなにかと気をつけないといけなさそうな気がしますが・・・。 初心者すぎる質問で見苦しく恐縮です。 OracleのSQL文もよく知らないもので。 できれば詳しい方、よろしくお願いします。

  • oracle DMPファイルのインポートについて

    あるシステムのDB管理を行うにあたり、 Oracleを使用しているのですが、 Oracleのバージョンの違いにより、 DMPファイルのインポートが行えない事はございますでしょうか? 詳細は以下です。 ローカル環境のシステム Oracle 10g / 10.2.0.1.0 社内環境のシステム Oracle 11g / 11.2.0.1.0 社内環境システムよりバックアップを行い出力されたDMPファイルを ローカル環境へインポートを試みたところ、 以下のエラーが発生し、インポートができません。 ********************************************************** IMP-00058: Oracleエラー12154が発生しました。 ORA-12154: TNS: 指定された接続識別子を解決できませんでした IMP-00000: エラーが発生したためインポートを終了します。 ********************************************************** システムの構成はローカル環境、システム環境ともに同様です。 差異があるのはOracleのバージョンとなります。 基本的なご質問かもしれませんが ご教示頂けると大変助かります。 宜しくお願い申し上げます。

  • DTSパッケージでテキストファイルのインポート

    SQLServer2000で、DTSパッケージを使ってテキストファイルをインポートしているのですが、インポート先テーブルに主キーを設定していないためか、インポートするたびにレコードの順番が変わってしまいます。 例) テキストファイル fld1|fld2|fld3 1111|AAAA|aaaa 2222|BBBB|bbbb 3333|CCCC|cccc SQLServerのテーブル fld1|fld2|fld3 2222|BBBB|bbbb 3333|CCCC|cccc 1111|AAAA|aaaa のようになってしまいます。 これをテキストファイル通りのレコード順でインポートするにはどうすればいいのでしょうか? ちなみに実際のファイルにはソートをかけられるフィールドはありません。 よろしくお願いします。

  • Oracle移行 exp/imp ブロックサイズ相違 容量オーバー

    Oracle移行 exp/imp ブロックサイズ相違 容量オーバー お世話になります。 OracleのDBを9iから10gへ、インポート・エクスポートユーティリティを使用して 移行しようとしているのですが、 9i環境のブロックサイズが4KB、10g環境では8KBであるせいか、 同じ表領域サイズにもかかわらず、容量が全く足らずにインポートできません。 dba_tablesでインポートできた表のブロック数を確認すると9i、10gとも同じサイズとなっております。 ブロック構成はそのままの状態でインポートされるということでしょうか? ブロックサイズが異なるので、PCTFREEで指定した空き領域分はサイズが大きくなる と思いますが、同じブロック数になるということは、4KB単位でインポートされ、 残りの4KB分は空きができているということでしょうか。 表領域管理は9iではディクショナリ管理、10gはAUTOALLOCATEのローカル管理です。 ご教授いただけると幸いです。 以上、よろしくお願いいたします。

  • オラクルのインポートについて

    はじめまして。 12時前に質問したのですが、私の質問がWebから 見えないので、心配になってもう一度登録しています。 質問ですが、オラクルのDBサーバー移行作業を 3日前から進めているのですが、テーブルの インポートが出来なくて困っています。 インポート時のエラーは以下の通りです。 --------------------------------------------- C:\Temp>imp user/user@test file=C:\Temp\imp.dat log=C:\Temp\TBCIXBA.imp tables=tablename Import: Release 9.2.0.1.0 - Production on 金 Jun 18 11:43:46 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 接続先: Oracle9i Release 9.2.0.1.0 - Production JServer Release 9.2.0.1.0 - Production エクスポート・ファイルはEXPORT:V09.02.00によって従来型パス経由で作成されました IMP-00013: DBAのみ別のDBAがエクスポートしたファイルをインポートできます。 IMP-00000: エラーが発生したためインポートを終了します。 --------------------------------------------- お忙しいところすいませんが、手を貸して下さい。 失礼します。

  • 表領域の違うEXPORT IMPORT

    現在ORACLE8iでSYSTEMという表領域で、データを保持しています。 このデータを異なるオラクルサーバの、例えばAAAという表領域にimportさせたいです。 http://www.geocities.jp/principal_focuses/tech/ora/ora_tech/ora_tech_031.html 等もみたのですが、少しわかりづらかったです・・・。 一番効率よく、EXPORT及びIMPORT出来る方法はありますでしょうか。 ちなみに、AAAの領域には既にテーブルがCREATEされている状態です。

  • dmpファイルのインポート時にでるOracleエラー

    dmpファイルのインポート時に下記のようなOracleエラーがでて困っています。 IMP-00003: Oracleエラー2304が発生しました。 ORA-02304: オブジェクト識別子リテラルが無効です。 IMP-00017: 次の文は、Oracleエラー2304で失敗しました: エラー内容を調べましたが、具体的に何が原因で何をすれば対処できるのかわかりません。 Oracleのインストールで設定を間違えてしまったのか…とも思っているのですが、ご存知のかたがおられましたら教えてください。

  • オラクル DMPデータのインポートについて

    オラクルDB(R8.1.7)でエクスポートしたDMPデータを(10.2G)にインポートができるかを まず教えていただけませんでしょうか。 可能であれば 注意点等お聞かせ頂けると助かります。