お世話になります。
Oracleの11gのリスナー設定で質問させてください。現在クライアント側からの接続で、
ORA-12514: TNS: リスナーは接続記述子でリクエストされたサービスを現在認識していません。
というエラーで接続できておりません。
いろいろな情報を参考に設定を試みておりますが、ここから先の設定がうまくできていない状態です。
http://www.noguopin.com/oracle/index.php?ORA-12514
現在確認できる状況は、
- ネットワークやDNSの名前解決は問題なし。
- ホスト側(サーバー側)のポートは開いている。
- DBのローカルホストではDBが正常起動している。
ですので、おそらくlistener.oraやtnsnames.oraの設定がどこかおかしいのだと思っています。Oracleに詳しくないのと、設定中の用語が非常にたくさんあって意味があまりわかっていないというのもあると思います。それら含めてご教授いただければと思います。listener.oraとtnsnames.oraの設定は以下のようになっています。
# tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db.example.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.localdomain) # (SID = orcl.localdomain) ) )
# listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = db.example.com)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = orcl) (GLOBAL_DBNAME = orcl.localdomain) (ORACLE_HOME = /opt/oracle/product/11.2) ) (SID_DESC = (SID_NAME = orcl) (PROGRAM = extproc) (ORACLE_HOME = /opt/oracle/product/11.2) ) )
上記のみで開発の情報が全部ではないのですが、よろしくお願いいたします。
エラー自体の内容は「サービス名に「SERVICE_NAMEに対応するサービスを識別できない場合」とあったのですがlsnrctl services
で確認すると複数のサービスが存在していました。
Service "orcl.localdomain" .... Service "orcl.localdomain" .... Service "orclXDB.localdomain"
のような感じでした。
原因がいろいろあると思いますが、よろしくお願いします。
追記 lsnrctl status
の結果は以下のようになっています。
$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 27-AUG-2019 00:09:37 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 26-AUG-2019 07:56:57 Uptime 0 days 16 hr. 12 min. 40 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /opt/oracle/product/11.2/network/admin/listener.ora Listener Log File /opt/oracle/diag/tnslsnr/db/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db.example.com)(PORT=1521))) Services Summary... Service "orcl" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "orcl.localdomain" has 2 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclXDB.localdomain" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully