解決Oracle在Linux下Listener起不來,error 111錯誤


近來發生一個問題有點頭疼,在linux上的Oracle數據庫突然無法訪問

主要報錯如下:

基於本人的走歪路經驗,分享一下我的解決思路:

首先,最直觀的一點,監聽器起不來,是不是數據庫本身就沒起來

select status from v$instance;

這個語句可以查看數據庫的狀態,啟動的話應該是open

當然,也可以使用如下語句來查看oracle進程,在linux用戶下

ps -ef|grep oracle

如果數據庫沒起來的話↓↓↓↓↓↓↓↓

以下為linux啟動oracle的一些小步驟:

1、root用戶或有相應權限用戶登錄linux服務器,登錄oracle用戶

su -oracle  這里有個-,不加的話可能會登不上

2、以不登陸數據庫方式使用sqlplus

sqlplus /nolog

3、以dba方式登錄

conn /as sysdba

4、啟動

startup

稍等之后正常情況數據庫就起來了

然后就是啟動監聽了

 

在oracle用戶下

lsnrctl start

之后可以使用

lsnrctl status

查看監聽器狀態

lsnrctl reload 重啟監聽

 

如果以上方式不奏效的話,可以考慮是不是更改了/etc/hosts文件

如果以下一行沒有的話,建議恢復

127.0.0.1               localhost.localdomain localhost

然后重啟數據庫、監聽等。。。

以上是我所知道確認的兩個原因,有更多的原因歡迎交流分享

 

以下是一些oracle的啟動關閉等指令

@Rick Sun 借鑒這位博主的經驗

startup參數
不帶參數,啟動數據庫實例並打開數據庫,以便用戶使用數據庫,在多數情況下,使用這種方式!
nomount,只啟動數據庫實例,但不打開數據庫,在你希望創建一個新的數據庫時使用,或者在你需要這樣的時候使用!
mount,在進行數據庫更名的時候采用。這個時候數據庫就打開並可以使用了!
謝謝!不准確的地方請指教!

shutdown

shutdown的參數
Normal 需要等待所有的用戶斷開連接
Immediate 等待用戶完成當前的語句
Transactional 等待用戶完成當前的事務
Abort 不做任何等待,直接關閉數據庫
normal需要在所有連接用戶斷開后才執行關閉數據庫任務,所以有的時候看起來好象命令沒有運行一樣!在執行這個命令后不允許新的連接
immediate在用戶執行完正在執行的語句后就斷開用戶連接,並不允許新用戶連接。
transactional 在擁護執行完當前事物后斷開連接,並不允許新的用戶連接數據庫。
abort 執行強行斷開連接並直接關閉數據庫。

 


免責聲明!

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



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