1. 程式人生 > >使用pl/sql developer登陸不了oracle

使用pl/sql developer登陸不了oracle

可見 toc 分享圖片 默認 add mes ini tps ora

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中重新登陸。

使用pl/sql developer登陸不了oracle