Oralceのインポート、エクスポート

会社でOracleのDBの入れ替えを行った。
社内のテスト環境の構築だったんだが、これが曲者だった。
既存のものを客先から持って帰ってきたものと入れ替える作業だった。

  1. 既存のやつをエクスポートしてDMPを取った
  2. 既存のを消す(ユーザー削除)
  3. ユーザー再作成
  4. 客先のDMPをインポート

そんなに複雑な作業ではないはずだった。
コマンドをさっぱり覚えてなかったから、いろいろ調べたり聞いたりしたけど。
エクスポートは問題なく終わり、さくっと消すかと削除をしたらエラーが出て消せない。
「QUEUE_TABLEは消せません。DBMS_AQADM.CREATE_DROP_TABLEで消してください。」みたいなメッセージ。
なんだそりゃ。
QUEUE?キュー?そんなの初めて聞いたぞ。
あわててネットで検索したら、DBMS_AQADM.CREATE_DROP_TABLEコマンドを使って消すらしい。
すごく情報少なかったけど。
きっとかなりマイナーな技術なんだな。
うちの上司もそんなの初めて聞いたって言ってたし。
さすがFクオリティ。
奴らはなぜこんなにも意味不明なことをするんだろうか?


気を取り直して、ネットを参考にしてコマンド実行。
消えねぇ・・・。
「指定したQUEUE_TABLEはありません」とか出てきやがる。
はあ?
さっき「QUEUE_TABLEは消せません。」って出てきただろうが!!
意味不明。
他のネットの情報を調べたりして、パラメーターを増やしたりしてみたけど無駄。
結局削除できず、今日はあきらめることになった。
もっと徹底的に調べたら解決方法も見つかったかもしれないけど、定時過ぎてたしいいかってことで。
明日になったら、サービスごと削除してサービスを再作成して、インポートするしかないか。


最近定時ダッシュが続いてたのに1時間以上も残ってた。
まあ、こういうので残るのはかまわないんだが、残業代なんて出ないしな。
請求するほうがめんどくさいから、しないけど。


※ちなみにエラーメッセージはかなり適当です。詳しく覚えてないし。