私はOracleデータベースを初めて使用しましたが、1つの問題があり、データベースサーバー(server1)リスナーでデータベースインスタンスが正しく実行され、sqlplusを使用してこのDBに接続できますが、他のサーバーを使用してデータベースに接続すると、 TNS構成が正しいことを確認しましたが、システムがエラー:ORA-12541:TNS:no listenerと言いました。
私のデータベースはOracle 10gR2です
それでは、この問題をどのように解決できますか?
すべてのIPアドレスをリッスンするようにOracleを設定する必要があります(デフォルトでは、localhost接続のみをリッスンします)。
listener.ora
このファイルは次の場所にあります。
%Oracle_HOME%\network\admin\listener.ora
。Replacelocalhost
with0.0.0.0
# ...
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(Host = 0.0.0.0)(PORT = 1521))
)
)
# ...
Windows: WinKey + r
services.msc
Linux(CentOs):
Sudo systemctl restart Oracle-xe
私も同じ問題に直面しましたが、コントロールパネル->管理ツール->サービス-> Oracle TNSリスナーの起動でTNSリスナーを起動することで問題を解決しました。WindowsXpとToadを使用してOracleに接続しています。
Oracleオンラインドキュメントによると
ORA-12541:TNS:リスナーなし
Cause: The connection request could not be completed because the listener is not running.
Action: Ensure that the supplied destination address matches one of the addresses used by
the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or
TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on
the remote machine.
TNS名を確認してください。エイリアスの左側にスペースがあってはなりません。
宜しくお願いします