• ベストアンサー

oracle:統計情報とテーブル削除

oracle10gを使用しております。 統計情報について質問させていただきます。 テーブルAについて、[statistics = none]を指定しExportします。 統計情報取得コマンドを実行します。 analyze table TABLE_A compute statistics; 後に、テーブルAを削除します。 drop table TABLE_A; バックアップファイルを基に、テーブルAをImportします。 このとき、テーブルAの統計情報はExport実行時と同じになるのでしょうか?

  • Oracle
  • 回答数1
  • ありがとう数1

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

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

こんばんは。 同じになるとは限りません・・・。 それよりも、10gでANALYZEするのはやめましょう・・・。 DBMS_STATSを使ってください。 まぁ、どっちにしても、同じとは限りません・・・。 固定したければ、アウトラインを使いましょう。

Kuroichi01
質問者

お礼

analyzeはまずいのですね。 貴重なご意見感謝いたします。 DBMS_STATSを使用する方法に変更いたします。 ありがとうございました。

関連するQ&A

  • 【ANALYZE】 テーブル・インデックス数が多い

    過去の質問を検索しても該当するものが無かったのでご質問させていただきます。 現在、オプティマイザ(コストベース)について調べています。 ANALYZEコマンドを使用して、テーブルおよびインデックスの 統計情報を取りたいのですが、以下のコマンドのようにテーブル名もしくはインデックス名を指定することしかできないのでしょうか? ANALYZE TABLE テーブル名 COMPUTE STATISTICS; ANALYZE INDEX インデックス名 COMPUTE STATISTICS; テーブル数及びインデックス数が非常に多いため、上記の方法では手間がかかります。 もう少し効率の良い方法を探しているのですが、ご存知であれば教えてください。 よろしくお願いいたします。

  • SQL テーブル削除

    教えてください。 あるテーブルをエクスポートする際にエクスポートエラー が出ます。(このエラーは承知でエラーを出しています。)その際にエクスポートエラーのテーブルが作成されますが、このテーブルをSQLのDROP文で削除したいのですが テーブル名がエクスポートvエラー(v=スペースです。) になってしまいます。 例)T_1_エクスポートvエラー このテーブルを削除しようと  DROP TABLE T_1_エクスポートvエラー ってSQLを書くとT_1_エクスポートが見つかりませんとエラーになってしまいます。 どうしたら、このテーブルを削除できるでしょうか? それとも、エクスポートエラーのテーブルを作成させない設定ってあるんでしょうか? わかりにくい説明でごめんなさい。 よろしくお願いします。

  • エクスポートエラーのテーブル削除

    お世話になります。 アクセス2000(Win2K)であるテーブル(T_テーブル)をExcelにエクスポートしているのですが、 この時にエクスポートエラーのテーブルが出来ます。 エラーの内容は承知しているのでこのエラーが出るのはいいのですがこのテーブル自体を削除したいのです。 SQLで「DROP TABLE T_テーブル_エクスポート エラー;」とクエリーを作って VBA上でOPENQUERYで上記SQLを実行しました。 ところがエクスポートとエラーの間のスペースが邪魔をして「T_テーブル_エクスポートが見つかりません」 とメッセージがでます。 どうしたらエクスポートエラーのテーブルを削除できるのでしょうか?

  • PostgreSQLのanalyzeとは

    PostgreSQLのanalyzeについてですが。 [TABLE]の統計情報を再取得する為に  analyze TABLE; と実行した場合。 該当のテーブルへの影響というのは全く無いものなのでしょうか。 (同じタイミングでアクセスしたselectが遅延してしまう等)

  • インポートすれば、前の情報に戻るのでしょうか?

    テーブルに列やインデックスの変更など、どんな変更しても、インポートすれば、エクスポート時のテーブルの状態に戻るのでしょうか? 環境:Oracle 10g R2    Windows 2003 Server R2 ユーザー(スキーマ):userA このスキーマには、3つ作成したテーブルあるとします。 tableA tableB tableC [tableB]のテーブル定義を変更するのですが、失敗した時のために バックアップをとっておき、変更前の状態に復元できるようにしたいと考えています。 テーブル定義の変更は、主キーの削除、インデックスの追加を行ないます。 [変更テーブルのみexp、imp] 1.exp userA/passA file=D:\expUserA_tableB.dmp tables=(tableB) 2.tableBのテーブル定義を変更 <-- 失敗 3.drop table tableB <-- 変更に失敗したテーブルを削除 4.imp userA/passA file=D:\expUserA_tableB.dmp tables=(tableB) 上記の方法で、変更前の状態に戻るでしょうか? 実行してtableBが変更前の(主キーがあり、作成したインデックスがない)テーブル定義に 戻っていることは確認できるのですが、この戻し方で本当に正しいのか確信がもてません。 例えば、統計情報とか、そのテーブルに紐付いている?情報も全て変更する前の状態に戻っているのでしょうか? それとも、スキーマ(userA)をエクスポートし、スキーマ(userA)を削除し、 エクスポートしたスキーマをインポートしないと戻らないでしょうか? よろしくお願いします。

  • 任意のテーブルをdrop tableしたい

    こんにちは,よろしくお願いします。 日々の業務アプリでOracleDB上にCreateされる無数の ワークテーブルを、一日一回dropするDOSバッチを考えております。 テーブルの先頭文字列は「WAK」なのですが、それ以降 年月日字分秒を付加しているために、dropするにもテーブル名を 特定できません。 テーブル名称例) WAK20060112122354 WAK20060112144852 ・・・・ drop table コマンドで、ワイルドカードのようなものを 指定できますでしょうか? イメージとしては、「drop table WAK%1*」(%1はYYYYMMDD)の ような感じです。 環境はWin2003R2にOracle10g(10.1.0)を乗せています。 よろしくお願いします。

  • テーブルが削除できない

    MySQL5でアクセスの「入金」という日本語名のテーブルをインポートしました。しかしMySQLではテーブル名がバグってしまい、MySQL Command Line Clientで以下のように削除しようとしても「Unknown table 蜈・驥・」と出て削除できません。削除したいテーブルが指定できず困っています。強制的に削除する方法はないでしょうか? set names sjis; use データベース名; drop tabe 入金;

  • Oracle8iのImportとExport

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

  • Oracle のAnalyzeコマンドの発行タイミング

    Oracle8.0.5を使っています。 Analyzeを定期的に実行しているのですが、データ量が多くなってしまい、時間が掛かっています。 現在はCOMPUTEで週1回くらい実行しています。 Analyzeを月1回に変更するとパフォーマンスが低下したりしますか? Oralceマスターの皆様、よろしくお願いします。

  • drop tableで削除されず空になるだけ

    お世話になります。 現在mysql 4.1.17を使用してテーブルが2000ほどあります 下記のクエリーをphpからループで実行し不要になったテーブルを500ほど削除しました。 @mysql_query("drop table table_$number"); 一旦は削除されたように見えるのですが、あらためて確認をするとテーブルの内容が空になっただけで実際には削除されていませんでした。 権限の問題か考えたのですが一つだけですと削除できます。 どなたか原因を思いつく方はおられないでしょうか。 よろしくお願い致します。