VMWare Fusion VM内からSQL * PlusをOracle 10gに接続できない


0

OSX上のVMWare FusionでホストされているWindows XP VM内からOracle 10gサーバ(LAN上のリモートホスト)に接続しようとしています。 Oracle Net Managerを使用してサービスに接続することはできますが、SQL Plusを使用して接続することはできません。

何が足りないの?

私は現在NATモードを使用しています。

回答:


1

データベースがホスト名 "dbhost"のノードにあるとします。

まず、dbhostにpingを送信できますか? そうでなければ、それはOracleではなくネットワークです。

可能であれば、そのホストのポート1521にtelnet接続できますか。そうでない場合は、ファイアウォール形式の問題であるか、リモートノードでOracleリスナーが実行されていません(または別のポートです)。

実行中であれば、DBAからSIDまたはSERVICE_NAMEが必要です。それらは一般的に同じであり、それが* nixシステムであるならば、 " ps -ef | grep smon "実行中のインスタンスのSIDが表示されます。通常、無料のExpress EditionデータベースのSIDはXEです。

1521がトラフィックを受信して​​いる場合は、試してください。

sqlplus user/pass@dbhost:1521/XE

あなたのSIDが何であれXEを置き換えてください。

=================================================== ========================= 下記のコメントの後に。 どこかにファイアウォールがあるのではないでしょうか。

データベースサーバ側では、リスナーはポート1521でリスンしているはずです。sqlnet(tcp_invited_nodes、私は思う)には、ホワイトリストに載っているIPアドレスからの接続のみを受け入れるように指示します。 IP)

リスナーは接続を受け入れると、接続が要求しているSIDまたはSERVICEを見つけようとします。そのようなサービスが存在しない場合はエラーを返します。

サービスが存在する場合、リスナーは接続をデータベースに渡すことを試み、接続が実際にデータベースと通信するために使用する別のポートを返します(つまり、ポート1521は初期接続中にのみ使用されます)。 [共有サーバー接続には例外がありますが、一般的ではありません。

データベースが接続を受け付けないモードになっている可能性があります(制限モード、またはSTARTUPまたはSHUTDOWNの処理中)。データベースは認証も実行します(ユーザー名とパスワードの確認など)。

私の推測では、リスナーが何らかの設定に基づいて接続を拒否しているか、(より可能性が高い)NATを介して新しいネットワーク接続を通過させることができていません。を使ってみてください OSXインスタントクライアント ホストからそれが通り抜けるかどうか見なさい。インスタントクライアントは、ほとんど解凍されて実行されるので、大規模なインストールではなく、管理者権限なども必要ありません。

ホストが機能してもVMが機能しない場合は、NATではなくBridgedを試してください。つまり、VMゲストは独自のIPアドレスを取得して、NATではVMホストの背後に隠れているのではなく、独立したデバイスのように見えます。

PS。他の人が貢献できるようにコミュニティWikiを作成しました


私はホストをpingすることができます。ポート23でホストにtelnet接続することもできます。1521でtelnetを実行しようとすると、「connection closed by foreign host」というメッセージが表示されます。 (正式な)tnsnames.oraファイル(管理者の1人から与えられたもの)では、各SIDにポート1521が使用されています。 VMとワークステーションでファイアウォールを無効にしました。
Craig

「Connectionが外部ホストによって閉じられました」と表示された場合は、リスナーが接続を拒否しているかNATを介して戻ってこないと推測したときに、Garyがヒットしたと思います。 1521へのTelnetはただ待っているべきです。
DCookie
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.