使用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中重新登陸。
使用pl/sql developer登陸不了oracle