plsql以前能正常連ORACLE數據庫,但突然斷電重啓後就報錯ORA-12514,不是listener.ora配置文件的問題

昨天通過plsql能正常連接oracle數據庫,但電腦突然關機之後,再連接就報錯:
ORA-12514:TNS:監聽程序當前無法識別連接描述符中請求的服務。

1、首先排除了服務是否啓動的問題,因爲實例和監聽都已啓動。
2、然後百度上都說是listener.ora配置文件的問題,但是想想應該不是,因爲以前都可以用的。

3、然後去看看能不能通過cmd連接oracle數據庫,
在cmd中輸入: sqlplus sys/這裏輸入密碼 as sysdba
在這裏插入圖片描述
如果報錯:
ORA-12560: TNS: 協議適配器錯誤.
可以先看看是不是環境變量path順序的問題:把D:\app\24457\product\11.2.0\dbhome_1\bin 上移到D:\app\24457\product\11.2.0\client_1\bin 上面來,如下圖
在這裏插入圖片描述
如果還沒解決,看看是不是服務器沒啓動的原因

4、解決了cmd連接oracle數據庫的問題,那就去看一下oracle的日誌(alert_orcl.log)
日誌路徑通過下面語法查詢:
select * from v$diag_info where name =‘Diag Trace’;
在這裏插入圖片描述
一般日誌名稱是: alter_xxxx.log (xxxx就是實例名稱,本地是orcl)

5、查看日誌後發現不是監聽的問題,也不是listener.ora配置文件的問題。而是
ORA-00322,
ORA-00312:online log 2 thread 1: ‘/opt/oracle/orcl/redo02.log

按步驟執行下面的語法,3裏面的路徑要與ORA-00312錯誤裏面的一樣
1、 shutdown immediate;
2、 startup mount;
3、 alter database clear logfile ‘opt\oracle\orcl\REDO02.LOG’; 4、 alter database open;