Localhost:1521を使用してOracleデータベースに接続できます。ただし、IPアドレスへの接続は機能しません。
別のマシンを使用してデータベースに接続しようとしているため、これを実行しようとしていますが、同じマシンであっても、独自のIPアドレスを使用して自分自身に接続することはできません。
注:Oracle Database11gおよびWindows7。
インスタンスリスナーがlocalhost
だけでなく、IPアドレスでリッスンできるようにする必要があります。 Oracle Enterprise ManagerWebインタフェースの「NetServicesAdministration」ページに移動します。リスナーを編集します(LISTENER_localhost
)リスナーを追加し、インスタンスのIPアドレスを使用することを選択します。デフォルトに従ってポート1521を保持します。サービスを再開するかどうかを尋ねられます。そうして下さい。そうすれば、ホスト(またはその他のマシン)から接続できるようになります。
リスナーが0.0.0.0:1521を使用していることを確認する必要があります。これは、Windowsで次のように確認できます。netstat -an -p tcp |find ":1521"
データベースソフトウェアのみをインストールした後、この問題が発生しました。問題のサーバーでポートを開く必要があり、リスナーが最初から実行されていなかったことがわかりました。それを実行するために、私はlsnrctl(コマンドライン)に入り、コマンドstartを使用しました。
インスタンスの後にリスナーが開始されたため、インスタンスは自動的に登録する機会を逃していました。これを修正するために、インスタンスを再起動しました。
これは、sqlplusコマンドラインを使用して実行できます。 SYSDBA特権(システムなど)の構文を使用してユーザーとしてログインする必要があります。
sqlplus name/pass as SYSDBA
次に、「shutdown」を実行して、終了するのを待ちます。次に、「startup」を実行し、終了するのを待ちます。
指を交差させると、インスタンスがリスナーに登録され、リスナーが開いているポートでリッスンしているはずです。
インスタンスがリスナーに登録されていることを確認するには、lsnrctlに戻って、コマンド「status」を実行します。動作しない場合は、「リスナーはサービスをサポートしていません」というメッセージが表示されます。