久々に仕事の話…
(おそらく、バレー関係の人は、ほとんどわかんないと思います)
SE稼業やってかれこれ6年目です…。
いまだかつて、まともにDatabaseを触ったことがないのですが…。
今は緊急事態故に、DB担当じゃないんですが、DBを触る機会が増えました。
これまでデータベースなんて、簡単なSQLを処理するぐらいしかできませんでした。
まぁ、起動停止ぐらいはできるけどね。
まぁ、まだ仕事中なんですよ。
Oracle 9i というデータベースと格闘中です。
あるサーバのデータベース内にあるデータを、丸ごと別のサーバに移す、という作業を行っています。
Data export / Data import という処理を行うんですが…。
この処理に、すでに2回失敗しています…。もう、泣きそう…(T T)
物理的に異なるサーバの間で、データの受け渡しをする場合は、通常ネットワーク越しにデータを転送します。
で、export されたデータファイルが7.7GBあるんですが、これをネットワーク越しに移行元のサーバから移行先のサーバへ移さなければならないわけですよ。
ちなみに、OSはLinuxです。
両サーバ共にNFSの設定がされていたので、移行元のデータがあるサーバをNFSで共有し、移行先のサーバからマウントし、Oracleのimpコマンドで直接NFS上のファイルを指定して、Data import を実施しました。
なかなか終わらないので、とりあえずData importの確認方法を後輩にメールしておき(この後輩君は、今日夜遅くまで残業の予定でした)、帰る予定でした。
で、メールも書き終わり、帰る前に一応どこまで進んでいるか確認しておこうと、ログを見たところ…
「エクスポート・ファイルの終わりが異常です」
「表のインポート部分がロールバックされました」
…
失敗 !!!!orz
なんで?
なんかしらんけど途中でこけてるじゃないすか?
移行元のテーブル数と、移行先のテーブル数を比較したら…
移行元テーブル数 >> 移行先テーブル数
…大失敗やし…
うーん…。。。。
もしかして、NFS上のファイルを直接指定したのがマズかったか?
…ということで、7.7GBもあるファイルを、今度は移行先のローカルディスクにコピーしてからData import を行うことにしました。
当然、NFSで共有しているので、そのままcp でコピーです。
…
…
…
しばらくして…
ん?思ったよりも早く終わったぞ?
ls -l
Σ( ̄□ ̄;;)
ファイルのコピーが完了してないのに終了している!!
移行元の ls -l
-rw-r--r-- 1 4294967294 bin 7937926875 10月 15 22:50 hogehoge.dmp
移行先の ls -l
-rw-r--r-- 1 oracle dba 3642959579 Oct 15 22:50 hogehoge.dmp
なんか…半分ぐらいでコピー終了してるんですけど…。
もしかして…
NFSクライアント側のログを確認…
Oct 16 19:12:31 fuga01 kernel: nfs: server 192.168.100.XXX not responding, still trying
Oct 16 19:12:44 fuga01 kernel: nfs: server 192.168.100.XXX OK
ええ~っ
なんかNFSサーバが10秒以上応答してないし!
そりゃ、cpもしっぱいするわ…
というわけで、2回目はdata import する以前にこけてました…。
どうやら1回目もNFSサーバがnot responding 返したのが原因だと思うけどね…。
…
ってなわけで…
今度は7.7GBのファイルを一度圧縮し、それを転送して、展開して…
でも時間がかかるなぁ…
google様に、
「圧縮/伸張しながらexp/imp」
ができないかどうか検索。
あったよ…方法が…(泣)
http://ta2blog.air-nifty.com/seclusion/2006/03/expimp_08f6.html
最初からこれ使えばよかった…
というわけで、現在圧縮されたファイルをコピー中。
Oracleのexport dump って10分の1ぐらいまで圧縮されるので、時間がかかって仕方がなかったです…
これで、うまくいくかなぁ…。
あーもうやることいっぱいあるのに…
また電話かけできないよ… orz
最近のコメント