• 締切済み

Exportの失敗とODBC接続の失敗

Windows 2003 Server Windows XP Professional Microsoft Office 2000 Oracle Databasse 9.2.0.1.0 1.Sqlnet経由でのExp/Impができません。SQLPLUSは正常につながります。     EXP system/???@??? FILE= full120725.dmp LOG= exp_full120725.log FULL=y を実行すると、Copyrights ~ all rights reservedで止まったまま、 エラーメッセージも出ません。 @???を取って実行すると正常終了します。 lsnrctl statusを実行すると以下のエラーメッセージが返ってきます。 ****************** (ADDRESS=(PROTOCOL=tcp)(PORT=1521))に接続中 TNS-12541: TNS: リスナーがありません。 TNS-12560: TNS: プロトコル・アダプタ・エラー TNS-00511: リスナーがありません。 32-bit Windows Error: 61: Unknown error ****************** 2.ODBCで接続を設定しようとするのですが、     Microsoft ODBC for Oracle Oracle in Ora92 ともに失敗します。 1と2の原因が同じなのか、違うのか、 それとそれぞれの対処方をご教示できないでしょうか?

みんなの回答

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.2

こんにちわ > SQLPLUS system/???@???でつながります。 > 別のクライアント機からは > EXP system/???@??? FILE= full120725.dmp LOG= exp_full120725.log FULL=y そうすると、SQL*Plus とexp で異なるtnsnames.ora を参照している可能性位しか 考えにくいですね。 sqlplus とexp は同じDos Prompt から実行しても、今までと同じ結果になるでしょうか? Oracle Client は、TNS_ADMIN 環境変数 (Windows の場合はレジストリも) で参照する tnsnames.ora の指定できるようになっていますので、その辺を画くインした方が 良いかも知れません。 環境変数はマイコンピュータから、レジストリはHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE の下から 探してみて下さい。

yannaka
質問者

お礼

ありがとうございます。 > TNS_ADMIN 環境変数 この環境変数はありませんでした。 レジストリにもこのキー・値はありませんでした。 難航しています。 またお知恵がありましたら、拝借させてください。 よろしくお願いします。

yannaka
質問者

補足

listener.oraと\Windows\system32\drivers\etc\hostsをいろいろ書き換えて試しているうちにEXPが@???つきで実行できるようになりました。原因も対処法もわかりません。現在、もとの設定に戻してもつながっています。 それに伴って、ODBC接続もできるようになりました。 どうも、ありがとうございました。

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ > @???を取って実行すると正常終了します。 接続文字列 (@以下の部分) が想定していない設定になっているだけだと思います。 通常は$ORACLE_HOME\network\admin ディレクトリ下のtnsnames.ora に接続文字列 の設定がされていますので、その設定を見直して見て下さい。 > SQLPLUSは正常につながります。 SQL*Plus の接続も、@??? の部分を指定しているのでしょうか? 恐らく、exp コマンドでしている接続文字列と同じ文字列をORACLE_SID に設定 しているだけではないでしょうか? ORACLE_SID の設定と接続文字列の設定は全く別です。 > lsnrctl statusを実行すると以下のエラーメッセージが返ってきます。 これは、ローカルマシンでLISTENER と言う名前のListener が起動されていない だけです。 そもそも、ローカルのDB に接続するだけであれば、SQL*Net を経由する必要は ありませんし、SQL*Net を経由させない方が性能も良いです。 SQL*Net 経由させないといけない理由があるのでしょうか?

yannaka
質問者

補足

早くにご回答をいただきながら,お礼が遅くなり申し訳ありません。 少し,説明が足りませんでしたので,補足いたします。 >SQL*Plus の接続も、@??? の部分を指定しているのでしょうか? SQLPLUS system/???@???でつながります。 >SQL*Net 経由させないといけない理由があるのでしょうか? 説明不足でした。 現在問題になっているPCはクライアント機です。 ですから,SQL*Net 経由でサーバー機のデータベースをIMP/EXPする必要があります。 @???なしでEXPORTを行ったのは,あくまで実験で, クライアント機上にある実験用のデータベースのEXPORTです。 >tnsnames.ora に接続文字列の設定がされていますので、その設定を見直して見て下さい。 何度もlistner.oraとの整合性,他のクライアント機のtnsnames.oraを確認しているのですが。。。 別のクライアント機からは EXP system/???@??? FILE= full120725.dmp LOG= exp_full120725.log FULL=y が実行できていますので,業務に支障は出ていませんが, 気持ちが悪いので何とか解決したいのですが。 もしお知恵がありましたら,拝借させてください。 よろしくお願いします。

関連するQ&A