0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ダンプはとろうねっていう話

Posted at

先日、DBの移行時に新規のスキーマに各テーブルの
DROP→CREATEのSQLを流すバッチをたたこうとしたのですが、

手癖で検証用のDBに接続してしまい、
検証用DBのテーブルをDROP→CREATEしてしまいました。

データを吹き飛ばしたというやつです。

血の気が引いたのですが、前日にダンプを取っていることを思い出したので
大慌てでdmpをimportして事なきを得ました

(補足)
DB移行などだと新旧DBのカラムが異なる場合があります。
ダンプを流す際のテーブル、カラムの指定には注意しましょう。

以下は便利なバッチのメモです

エクスポート用

expdmp.bat

SET DBUSER = DBUSER/PASSWORD/DATABASE
SET dumpfile = ファイルパス
SET logfile = ログファイルパス
SET tables = テーブル名※場合によってはスキーマも

expdp %DBUSER% directory=%1  dumpfile=%dumpfile% logfile=%logfile% tables=%tables%
インポート用

impdmp.bat

SET DBUSER = DBUSER/PASSWORD/DATABASE
SET dumpfile = ファイルパス
SET logfile = ログファイルパス
SET tables = テーブル名※場合によってはスキーマも

impdp %DBUSER%  directory=%1  dumpfile=dumpfile.dmp logfile=%logfile% tables=%tables%

インポートの場合、オプションを用いたインポートが可能で
・SKIP 表はそのままに次のオブジェクトへ
・APPEND ソースから行をロードし、既存行に付け足す
・TRUNCATE 既存の行を削除してからソースから行をロードする
・REPLACE 既存の表を削除してソースから表、行をロードする

があり場合によって使い分けが可能だが、
dumpファイルを作成、取り込みを行う場合は一度バッチファイルの中身を
確認してから行うのが安牌かと思われる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?