こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

インポートコマンドが認識されません

環境は、windows2000プラットフォームに、oracle9iです。
上記環境に、初期データベースを作成し、エクスポートされたダンプファイル(もらいもの)をインポートしようとしたんですが以下メッセージが出力され、ダンプファイルの取り込みができません。

インポートの方法は、以下です。
imp system/xxxxx@SID file=xxx.dmp fromuser=xxx touser=xxx

尚、toに指定しているユーザも作成してあります。
付与した権限は、connect、resourceです。

あと、インポートコマンド発行時に出力されるメッセージは次のようなものです。
SP2-0734: "imp system..."が開始するコマンドが不明です -残りの行は無視されました。

と出力されます。

上記メッセージから、impコマンドが認識されていないようにおもわれるのですが、ちょっと調べては見たのですが分からなかったので、ご教授ねがいます。

投稿日時 - 2005-07-12 11:36:22

QNo.1508079

困ってます

質問者が選んだベストアンサー

> インポート中にコマンドプロンプトのウィンドウが閉じてしまいました(落ちた)。
ひえ~。そんな症状は初めてや。
・・・・どうしようかねぇ。

impのオプションで、インポート実行ログをファイルに書き出す方法があったはずなので、それで何が起こっているのか分かるかも知れませぬ。

多分、
C:\>imp.exe LOG=Y
という風に、「LOG=Y」とつけるのだと思うが・・・・。とりあえず「imp HELP=Y」でヘルプが出るらしい。

結局あまりお役に立てなかったようで、申し訳ない。

投稿日時 - 2005-07-12 18:41:27

お礼

回答ありがとうございます。

LOGオプションを指定し、インポートを実施してみました。
そこで作成された、ログファイルを確認したところ、バッファサイズが、足りなくてダメになってたので、サイズを増やし、再度同手順でインポートを実施したところ正常にダンプファイルを取り込む事ができました。

質問タイトルの解決には、なりませんでしたが、ダンプファイルを取込みたいと言う思いは、達成されたので、この質問はクローズさせて頂きます。

ここまでの皆様のいろいろなアドバイス感謝しています。
本当に助かりした。ありがとうございます。

投稿日時 - 2005-07-13 11:37:38

ANo.5

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

system ってユーザーはSYSDBAの権限もっていますか?

一般のDBA権限のユーザーで実行されては・・・。

マニュアルに以下の記述があります

SYSDBA でのインポートの起動
SYSDBA は内部的に使用され、一般ユーザーとは異なる特別な機能を持ちます。そのため、
通常は、インポートをSYSDBA で起動する必要はありません。ただし、オラクル社カスタ
マ・サポート・センターから要求された場合は、SYSDBA で起動する場合もあります。
インポートをSYSDBA で起動するには、次の構文を使用します。
imp username/password AS SYSDBA
または、任意で次の構文を使用します。
imp username/password@instance AS SYSDBA

投稿日時 - 2005-07-12 17:41:15

お礼

回答ありがとうございます。

systemユーザにSYSDBA権限が付与されているかは、ちょっとわからないのですが、使用する理由としては、インポートする際に、ダンプファイルを作成したユーザから、別のユーザにダンプファイルの中身を所有させる為に、このユーザを使用しました。

投稿日時 - 2005-07-13 11:27:20

ANo.3

> 結果はかわりませんでした。
ん~~~~。SP2-0734ってSQLPLUSのエラーコードだと思うのね。

とりあえず次の内容を正確にトレースしてみてくれたまい。
1.Windowsのスタートボタンを押す。
2.「ファイル名を指定して実行」を選ぶ。
3.「cmd」と入力して「OK」を押す。
4.黒い窓が出て「C:\>」などのプロンプトが出るので、「imp」と入力してEnter。

 これで、SP2-0734が出るようなら、原因は別にある。でもなぁ・・・・OracleのSQLにIMPコマンドというのは無いと思うんだけどなぁ。
 ここで、「ユーザ名」などと出てきた場合は成功だ。一旦Ctrl+Cを押してコマンドプロンプトに戻り、「imp system/xxxxx@SID file=xxx.dmp fromuser=xxx touser=xxx」と入力してEnterを押してもらいたい。

 imp.exeは、ダンプファイルの中身を取り出してそこに書かれているSQLのカタマリを機械的に実行するもので、SQL Plusの介入は本来無いはず・・・・。

投稿日時 - 2005-07-12 17:18:52

お礼

回答ありがとうございます。

imp.exeを起動し、起動後入力応答待ちになったので、要求された、各入力情報を入力してみて、インポートが開始されったっぽいんですが、インポート中にコマンドプロンプトのウィンドウが閉じてしまいました(落ちた)。
それで、バッファサイズが足りないのかと思いサイズを増やし、再度imp.exeを起動して、やってみたところ結果は上記と同じでした。

投稿日時 - 2005-07-12 17:58:44

ANo.2

dmpファイルがもらいものとありますが、
それは9iにおいてエクスポートされたものですか?

たしか・・・互換性がないものもあり、回避方法としてimp/expの実行ファイルの差し替えで行うとかあったような・・・。
すんません、正確な情報ではありません。

投稿日時 - 2005-07-12 14:52:19

補足

回答ありがとうございます。

もらったダンプファイルも、同じoracle9iにて、エクスポートしたものです。

投稿日時 - 2005-07-12 14:59:03

ANo.1

SQL PLUSの中でimpを使ってないかい?

IMPは、imp.exeという単独のプログラムだ。なので、SQLPLUSではなく、コマンドプロンプト上から実行しないといけない。

C:\>imp system/xxxxx@SID file=xxx.dmp fromuser=xxx touser=xxx

投稿日時 - 2005-07-12 11:39:19

補足

回答ありがとうございます。

言葉が足りませんでした、調べた結果、ご指摘の内容がわかったので、コマンドプロンプトからも発行してみたのですが、結果はかわりませんでした。

ほかに、何か問題ありますでしょうか?

投稿日時 - 2005-07-12 11:42:37

あなたにオススメの質問