回答:
データベースがホスト名 "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を作成しました