Oracle

ORA-12505: TNS:listener 目前不知道連接描述符中給出的 SID

  • November 18, 2019

幾天前,我在我的數據庫上執行了關閉,但花了很長時間,所以我關閉了我的 m/c。重新啟動機器後,當我嘗試使用 TOAD 連接到我的數據庫時出現此異常。我提到了下面提到的執行緒,但問題仍未解決:

https://stackoverflow.com/questions/5661610/tns-12505-tnslistener-does-not-currently-know-of-sid-given-in-connect-descript

https://stackoverflow.com/questions/3267850/ora-12505-tnslistener-does-not-currently-know-of-sid-given-in-connect-descript

我的 tnsnames.ora 的內容:

ORCL=
 (DESCRIPTION=
   (ADDRESS=
     (PROTOCOL=TCP)
     (HOST=localhost)
     (PORT=1521)
   )
   (CONNECT_DATA=
     (SERVER=dedicated)
     (SERVICE_NAME=orcl)
   )
 )

’lsnrctl services’ 的輸出:

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 15-FEB-2012 23:53:33

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
 Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
   Handler(s):
     "DEDICATED" established:0 refused:0
        LOCAL SERVER
The command completed successfully

我所有的 oracle 服務都在執行。我嘗試使用啟動命令啟動數據庫:

C:\Users\PPPP>sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 15 23:56:59 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Enter user-name: / as sysdba
Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             763363792 bytes
Database Buffers          301989888 bytes
Redo Buffers                4603904 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 214624
Session ID: 5 Serial number: 3

在 listener.log 文件中,我看到了這個錯誤:

Thu Feb 16 00:13:28 2012
16-FEB-2012 00:13:28 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)*            (USER=PRITHVIRAJ-PC$))(SERVICE_NAME=orcl)) * (ADDRESS=(PROTOCOL=tcp)    (HOST=127.0.0.1)(PORT=59161)) * establish * orcl * 12514
TNS-12514: TNS:listener does not currently know of service requested in     connect descriptor

請幫我解決這個問題。

ORA-19815消息所示,您的 3GB 恢復目標已滿;數據庫無法再歸檔任何重做日誌文件。它已經到了需要將完整的重做日誌文件切換出去的地步,但是由於無法存檔,因此沒有可重用的文件。我想這就是為什麼它不能完全關閉的原因,也可能是你想首先關閉的原因,因為在那種狀態下你無法對數據庫做很多事情。

短期修復是增加恢復區的大小,假設您有足夠的磁碟空間,例如:

startup nomount
alter system set db_recovery_file_dest_size=4G scope=both;
alter database mount;
alter database open;

但是您隨後需要弄清楚如何管理您的檔案,並將恢復區大小設置為適合您的備份和保留需求的合理值。這可能就像安排一個作業來刪除過時的備份一樣簡單,例如,從企業管理器控制台的“可用性”選項卡中,在“管理目前備份”下;但是您需要確定最適合您的課程(而不是盲目地聽從 Internet 上某個對您的要求一無所知,對 EM/RMAN 也不太了解的人的建議)。

使用此命令。它可能會解決問題

alter system 
 set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
                                           (HOST=127.0.0.1)
                                           (PORT=1521)))';

引用自:https://dba.stackexchange.com/questions/13262