-PR-
  • 困ってます
  • 質問No.5834988
解決
済み

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

  • 閲覧数119
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 83% (30/36)

テーブルに列やインデックスの変更など、どんな変更しても、インポートすれば、エクスポート時のテーブルの状態に戻るのでしょうか?

環境: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)を削除し、
エクスポートしたスキーマをインポートしないと戻らないでしょうか?
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル13

ベストアンサー率 47% (436/920)

こんにちは

tableBの表定義やインデックス、データに関しては、それでOKです。
統計情報に関しては別です。
変更後に再取得されていない場合は元のまま、取得されている場合は戻りません。
放っておけば取得し直しますし、手動で取得し直す(DBMS_STATS)事も可能です。
お礼コメント
Aki_601

お礼率 83% (30/36)

回答ありがとうございます。
taka451213さんの回答で、安心してテーブル変更を行えます。
本当にありがとうございました。m(_ _)m
投稿日時 - 2010-04-20 11:38:12
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ