アプリ版:「スタンプのみでお礼する」機能のリリースについて

Oracleの1スキーマの全データの入れ替えを
exp、impコマンドを使って行いたいと思っております。

その場合
1)スキーマを削除してからスキーマの再作成をしてインポート
2)スキーマ内のオブジェクトを全部削除してインポート

1と2どちらの方がよいでしょうか。
私は、1の場合、ログインしている人がいると削除できないので、
2で行おうと思っております。(テーブルにはpurgeオプションをつけて・・・)

みなさんならどちらで行いますか。
メリット・デメリットありましたら
教えていただけると助かります。

A 回答 (1件)

>1)スキーマを削除してからスキーマの再作成をしてインポート



この場合、削除したスキーマに対して与えられた権限も消えます。
スキーマを再作成して、権限を与えるのはモレがある可能性があります。すべてのロール、システム権限、オブジェクト権限を戻せるだけの準備が可能なら問題ないですが。

GRANTOR(権限付与を実行したユーザー名)だったら良いのですが、
GRANTEE(アクセス権を付与されたユーザー名)だったら、ユーザモードのexp/impだと、付与された権限は戻せないです。
※ユーザモードのexpファイルにはgrantした権限の「grant文」しか載りません。

以下のディクショナリから情報を抜き出しておいて前後で比較する必要があります。
xxx_sys_privs
xxx_role_privs
xxx_tab_privs

あるいは考慮しなくてもよい要件なのでしょうか。

>2)スキーマ内のオブジェクトを全部削除してインポート
スキーマ単位で考慮すべきことを考えなくてもよいので、こっちのほうが妥当かと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございますm(_ _)m
GRANTEEは消えてしまうんですね!!
-------------------------
xxx_sys_privs
xxx_role_privs
xxx_tab_privs
-------------------------
参考になりました。
無事、2の方で進め、特に問題はありませんでした(^-^)

お礼日時:2008/06/27 16:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す