3

昨日まではすべて正常に機能していましたが、突然このエラーが発生しました
ORA-12514: TNS:リスナーは現在、接続記述子で要求されたサービスを認識していません
何も変更されていません

XE =
  (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = jainam-2b1c493d)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = XE)
)
)

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
        (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

  ORACLR_CONNECTION_DATA = 
      (DESCRIPTION = 
     (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
     (CONNECT_DATA = 
   (SID = CLRExtProc) 
   (PRESENTATION = RO) 
 ) 
) 


私は完全に立ち往生していて、何をすべきかわかりません。
ここhttp://dba-oracle.com/t_ora_12514_tns_listener_does_not_currently_know_service_requested.htmからヘルプを試しまし たが、役に立ちませんでした。ありがとう


編集:
ここに出力がありますlsnrctl service

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 3 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0
         LOCAL SERVER
      "ORACLE SERVER" established:0 refused:0 current:0 max:25 state:ready
        CLRExtProc
     (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\NTN_6B4_641B624E_B22.ORA))
  "ORACLE SERVER" established:0 refused:0 current:0 max:25 state:ready
     CLRExtProc
     (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\NTN_6B4_641B624E_282.ORA))
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
  "DEDICATED" established:0 refused:0
     LOCAL SERVER
Service "XEXDB" has 1 instance(s).
 Instance "xe", status READY, has 1 handler(s) for this service...
 Handler(s):
  "D000" established:0 refused:0 current:0 max:1022 state:ready
     DISPATCHER <machine: JAINAM-2B1C493D, pid: 3708>
     (ADDRESS=(PROTOCOL=tcp)(HOST=jainam-2b1c493d)(PORT=2763))
Service "xe" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Handler(s):
  "DEDICATED" established:0 refused:0 state:ready
     LOCAL SERVER
The command completed successfully
4

3 に答える 3

5

私にとっては、次の SID_DESC を C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\listener.ora に追加するのに役立ちました

SID_LIST_LISTENER =
  (SID_LIST =
    ...
    (SID_DESC =
      (SID_NAME = XE)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
    )
  )

リスナーとデータベースを再起動した後、アクセスは再び機能しました。

http://grow-n-shine.blogspot.de/2011/11/oracle-11g-xe-issue-ora-12514.htmlに感謝します

于 2014-06-23T13:22:50.293 に答える
3

この種のエラーが発生する理由の1つは、リスナーが起動する前にデータベースインスタンスが起動したためです。リスナーは常に最初に開始する必要があります。

  1. データベースインスタンスが稼働しているかどうかを確認します
  2. lsnrctl serviceコマンドの出力を確認し、登録されているサービスを確認してください。
  3. SERVICE_NAMEインスタンスに接続するときに正しく指定したかどうかを確認してください。
  4. リスナーが開始する前にデータベースインスタンスが開始された場合は、少し待つ必要があるかalter system register、インスタンスを登録するために実行できます。
于 2012-09-21T15:45:28.987 に答える
3

SQL Plus を開き、システム ユーザーに接続します。

system/p@ssword

そして、次の 2 つのコマンドを実行します。

SQL> alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope=both;
SQL> alter system register;
于 2015-02-08T06:40:18.793 に答える