使用pl/sql developer登陸不了oracle


1,Oracle ORA12514 監聽程序當前無法識別連接描述符中請求的服務

  這里最主要的原因在於:(參考:https://www.cnblogs.com/shangshan/p/6359880.html   https://blog.csdn.net/lwpoor123/article/details/78327080)

  數據庫動態注冊不生效,導致監聽器無法識別客戶端連接符中提供的服務名,從而拒絕建立數據庫連接,所以就需要對監聽器配置做修改。最簡單的方法是:由動態注冊改為靜態注冊。

  

  

  

  對於這種錯誤,必須要明白與oracle數據庫建立連接的原理:

  動態注冊或是靜態注冊,這個“注冊”就是將數據庫作為一個“服務”注冊到“監聽器”。客戶端不需要知道“數據庫名和實例名”,只需要知道該數據庫對外提供的服務名就可以申請連接到數據庫,動態注冊就是在監聽器配置文件中不明確的聲明數據庫實例和服務名,而是在數據庫啟動時才由數據庫自動注冊到監聽器,靜態注冊就是在監聽器配置文件中明確聲明數據庫實例和服務名。

  LISTENER參數就是監聽器的配置,其中,PROTOCOL參數是協議名,一般為TCP,HOST參數是地址,可以寫IP地址、服務器名、localhost、127.0.0.1,PORT參數是端口號,默認為1521。

  如果還是不行,那一定是tnsnames.ora配置有誤:

  

  

  如果沒有上面紅色框中的內容,則必須進行下面的配置:

  

  將紅色框中的內容更改為:

    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

  這個配置和tnsnames.ora的配置是一樣,可見在啟動的時候加載INITorcl.ORA的時候,加載的LISTENER_ORCL參數,而這個LISTENER_ORCL參數實際引用tnsnames.ora的配置。

  如果沒有,在使用sqlplus進入的時候報錯:

  sqlplus進入數據庫的方式:

  

  連接數據庫,以系統dba權限(這樣才能最大權限操作數據庫,比如更改密碼)

  

  接着使用startup命令裝載數據,就會爆出下面的錯誤:

  

  如果還是不行,使用startup還是報錯,詳細參考:https://blog.csdn.net/baidu_32383657/article/details/53020624

   記得重啟相關服務

   

2,修改密碼

  使用sqlplus進入,

  

  alter user XXX identified by ****; 將XXX用戶的密碼重置為***;

 

  這樣就能使用新密碼在pl/sql developer中重新登陸。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM