DBのデータをdmpファイルにexportして他のDBにimportする

長らくメンテしていなかった共有開発環境を最新化する必要が出てきた。

「あとDBだけなんですけど…」
「個人開発環境からエクスポートして、共有開発環境にインポートすればいーじゃん」
「あ、はい」

…ということで、エクスポート・インポートしようと試みる。
共有開発環境と個人開発環境の、DBのGUIツールが違うのはなぜなんだ…
# 個人開発環境のGUIツールは指定されたものを使ってる

対象ファイル
共有開発環境DBのGUIツール:*.dmp
個人開発環境DBのGUIツール:*.csv

なぜなんだ!

「コマンドでやればいーじゃん」
「コマンド教えてください」
「"export oracle"で調べれば一発よ」
「あ、はい」

"dmpファイル エクスポート"でググった。
# あえて指示された単語で調べないスタイル

ORACLE/EXPORT編 - オラクルちょこっとリファレンス
↑のURLを参考にしました。

個人開発環境のコマンドプロンプトを起動して↓のコマンドを叩く。

exp user/pass@db file=db.dmp

…ということで、これで個人開発環境DBのエクスポート完了。



次、インポート。

ORACLE/IMPORT編 - オラクルちょこっとリファレンス
同じサイトの↑のURLを参考にしました。

とりあえず、共有開発環境でコマンドプロンプトを起動して、ベタっぽいコマンドを叩いてみる。fromuser/touserを指定しろと怒られる。
指定したら、すでに存在するテーブルやviewがあるぞとエラーが出る。あ、ここでignore指定しろってことね。

…で、最終的にインポートできたコマンドがこちら↓

imp user/pass@db file=db.dmp fromuser=user touser=user ignore=y


結局ここへ行きつくまでに1時間かかった。
コマンド知ってるなら教えてくれてもいーじゃん…。
自分で調べたり試行錯誤したりが大事だと思ってるんだろうけど、こうやって残しておかないと忘れるだけだと私は思うんだよね。
というわけで備忘録でした。