• ベストアンサー

処理高速の為にすること(oracle8.1i)

oracle8.1iを使っています。 データ量が増えてきたために、処理が遅くなってきました。 下記のことを行うと思っていますが (1)データをEXPORTしたのち、DBを削除し、再度DBを作成し、EXPORTしたデータをIMPORTする (2)INDEXをはりなおす。 (1)と(2)は同じ効果がありますか? どちらの方が効果がありますか?

  • Oracle
  • 回答数4
  • ありがとう数6

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

  • ベストアンサー
回答No.2

>(1)と(2)は同じ効果がありますか? >どちらの方が効果がありますか? どちらが効果があるかという問いに対しては(1)だと思います。 (2)はインデックスの断片化を解消するだけですから。 ただ、状況を把握しないうちに何かのアクションを起こしても効果が薄いと思います。 たとえば、コストベースで運用しているのにシステム統計情報が古いものを使用している場合、インデックスの再構成してもあまり効果が得られない場合があります。この場合は統計情報を収集しなおします。 インデックスの再構成が必要かはANALYZE INDEX xxx VALIDATE STRUCTUREコマンドとINDEX_STATSデータディクショナリビューをつかって確認してみてください。 Full Table Scanで遅いようならハイウォータマーク(HWM)を確認してHWM高くなっているのであれば、データをExportしてImportしなおす等の考慮が必要です。

その他の回答 (3)

  • trictrac
  • ベストアンサー率38% (10/26)
回答No.4

両方とも効果がありますよ。 但し(1)、(2)どちらも張り直す場合は容量計算をして、 InitalExtent、NextExtentを考えて張らないと、意味はないですが。 また、Oracle7.3以降、標準はコストベースですが、 ANALYZEを使用しない限り、Oracleはルールベースで読みます。 ちなみに、ANALYZEをしてもルールヒント句を使えば、 ルールベースで読みますよ。 処理が遅くなってきたとの事なので、SQL文のEXPLAIN PLANで その結果のFULL SCANをUNIQUE SCANやRANGE SCANになるように する方法もあるます。 但し、RANGE SCANでも遅い場合もあり、かえってFULL SCAN の方が速い場合もあります。 FULL SCANの方が早い場合もあります。

  • atkuma
  • ベストアンサー率11% (5/45)
回答No.3

データ量が増加してきた場合のパフォーマンスダウンは、1と2であれば、1です。2は意味なし。 なんでもかんでも、Index検索をするのがパフォーマンスアップに繋がるとは限らないよ。 Oracle8なら、インスタンスは変更してない?標準はコストベースだから、統計情報が古くなって、キャッシュヒット率も低下してるのでしょう。 システム管理として、ANALYZEは定期運用を考慮されていますよね。その他、ディスク分散などは?

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

Oracleの検索が遅くなる要因はいろいろありますが、データ量の増加によるものについて言及します。 SQLはルールベースですかコストベースですか? コストベースだと最適な検索方法をOracleが判断するため、データ量が増えてくるとその判断が実データと合わずに遅くなる(Full scanが発生する)ことがあります。 まず最初にTBLSPACEに対してANALYZE処理を実行して見て下さい。それでもFull scanが発生しているようなら適切なINDEXを追加する方が効果的です (INDEXを張りなおすの意味は少し違うように感じました) TBLSPACEの自動拡張を行う設定になっていてEXTENT数が多くなっている場合は(1)も意味があると思います。

関連するQ&A

  • 「Oracle 9i」について

    「Oracle 1.7.3.4」でエクスポートしたデータを、 「Oracle 9i」にインポートした後、 参照すると最後のデータの値がおかしくなってしまいます。 (今のところわかっているのは、8と9が2に変わることです。) レコードの最後がCOMP-3で終わっているのがいけないのでしょうか? よくわからないので、どなたか教えて頂けないでしょうか? (例) *テーブルのレイアウト* CREATE TABLE DB (DB_REC VARCHAR2(21), DB_KEY1 VARCHAR2(9), DB_KEY2 VARCHAR2(1)) TABLESPACE DB_TSPACE STORE (INITIAL 300K NEXT 100K MINEXTENTS 1 MAXEXTENTS 10 PCTINCREASE 0 ); *コピー句* 01 DB-REC. 03 DB-KEY. 05 DB-KEY1 PIC 9(09). 05 DB-KEY2 PIC 9(01). 03 DB-KBN PIC X(01). 03 DB-INYMD PIC 9(08) COMP-3. 03 DB-OUTYMD PIC 9(08) COMP-3. です。よろしくお願いします。

  • Oracle8iのImportとExport

    Oracle8iでのImportとExportができません。 必ず失敗してしまうのですが、原因がわかりません。 手順としては、DBA StudioからImportを実行して、 「正常終了」と言われた後に、EnterpriseManager のジョブを見ると失敗となっているという感じです。 Exportに関してもほぼ同様でです。 どなたかご助言をお願いします。

  • Oracle8iのデータをOracle8へ移行する方法

    Oracle8iでエクスポートしたファイルをOracle8へインポートすると 「IMP-00010:有効なエクスポート・ファイルではありません。 ヘッダーは検証に失敗しました。」 と出て失敗してしまいます。 講習会のテキストを読んでみると、「この方法ではうまくできないこと のあります」とだけ書いてあり、どうすればうまく行くのかが わかりません。 元々下位バージョンへ移行するということで、「ムリなんじゃないかなぁ~」 と思ってやってみたらやっぱりダメでした。 何か良い方法はないのでしょうか・・?

  • IMPORT処理速度 

    EXPORTされたダンプファイルをそのままIMPORTすると 数時間もかかってしまいます。(ORACLE9i)(エラーは出ません) 原因はあるテーブルの件数がかなりの件数に達しているためのようなのですが、IMPORT処理を速くする方法というのは何かあるのでしょうか? もしくはIMPORTする際にデータの範囲指定のようなことはできるのでしょうか?

  • Oracle10gから8iへのデータ移行について

    Oracle10g(10.1.0.2)のデータをOracle8i(8.1.6)へ移行する方法を教えていただけないでしょうか? Oracle8iからOracle10gのデータベースへアクセスして,そこでエクスポートすればいいのでしょうか?その方法もいろいろ試しているのですが,解決には至っておりません。 よろしくお願いします。

  • データのエクスポート/インポート

    あるシノニムのデータをエクスポートして、その後、エクスポートしたファイルを一部編集して、インポートしたいと思っています。DBはOracle 9iです。 テーブルのエクスポート/インポートだと、CSEなどのツールで実施できるのですが、シノニムだと同様の操作では実施できませんでした。 初心者でも簡単にできる方法を教えてください

  • Oracle8のエクスポートファイル

    Oracle8においてデータのエクスポートを行ってOracle7環境にインポートしようとしたら、エラーとなってしまいました。下位互換はしないのでしょうか。 また、下位互換しないのであれば、何か簡単な方法でOracle8のデータをOracle7環境に入れることはできないでしょうか?(エクスポートにオプションとかがあるのでしょうか?)

  • DBの削除とインポート

    初心者ですが、よろしくお願いいたします。 Win2000 Serverで、Oracle8i Workgroup Serverを使用していますが、今使用しているDBを削除し、まるまるエクスポートしたDBをインポートするのですが、 【削除】 1.『Database Configuration Assistant』の『データベースの削除』を使用すればよいのでしょうか? 2.上記方法で、Oracle8i自体が削除されることはないでしょうか? 3.SQL*PLUSにて削除はできるでしょうか? 又、もしできるようであれば、どのようなステートメントで、何を削除すればよいでしょうか? 【インポート】 1.インポートは、どのようにすればよいでしょうか? 2.SQL*PLUSを使用してのインポートと、他の何かを使用したときの方法と、そのメリット・デメリット教えていただければ幸いです。 よろしくお願いいたします。

  • oracleのエクスポート

    oracle10gで作成したエクスポートファイルをoracle9iにインポートしたいのですがoracle9i形式でエクスポートファイルを作成することは可能でしょうか。

  • WindowsXPにOracle9i LiteのDB構築ができません

    WindowsXPにOracle9i LiteをインストールしてDBを作成しようとしているのですが、インストールは完了しているのですが、DBを作成する方法がわからないのですが、スタンドアローンの環境でDBを作成することはできるのでしょうか。 それとも、スタンドアローン環境での構築はできないのでしょうか?(サーバが必要?)