oracle斷電斷網出現的問題

來源:互聯網
上載者:User

一  oracle ORA-01033 斷電或者斷網可能出現的

1、進入CMD,執行set ORACLE_SID=fbms,確保串連到正確的SID;

2、運行sqlplus "/as sysdba"      SQL>shutdown immediate      停止服務     SQL>startup                   

      啟動服務,觀察啟動時有無資料檔案載入報錯,並記住出錯資料檔案標號     SQL>shutdown immediate  

   再次停止服務     SQL>startup mount     SQL> recover datafile 2       

恢複出錯的資料檔案     SQL>shutdown immediate      再次停止服務    SQL>startup     啟動服務,此次正常。

3、進入PL/SQL Developer檢查,沒有再提示錯誤。

二 ORA-12528 TNS:監聽程式: 所有適用常式都無法建立新連

原因:斷電或者斷網可能出現的

首先在cmd中執行lsnrctl status命令
C:\Documents and Settings\Administrator>lsnrctl status

會顯示如下資訊:(注意你的可能是英文版)

監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=svctag-5dk652x)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
服務摘要..
服務 "PLSExtProc" 包含 1 個常式。
常式 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理常式...
服務 "orcl" 包含 1 個常式。
常式 "orcl", 狀態 BLOCKED, 包含此服務的 1 個處理常式...
服務 "orcl_XPT" 包含 1 個常式。
常式 "orcl", 狀態 BLOCKED, 包含此服務的 1 個處理常式...
命令執行成功

如果看到 BLOCKED
這個問題說明資料庫沒有Mount
串連資料庫,發現:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
用sqlplus /nolog
sql>connect [email=sys/ammic@amicly]sys/ammic@amicly[/email] as sysdba
ORA-12528: TNS:listener: all appropriate instances are blocking new connections

串連的問題可以通過修改listener.ora的參數,把動態參數設定為靜態參數,紅色標註部分,然後從新啟動監聽,就OK

位置D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN

SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
    (PROGRAM = extproc)
  )
  (SID_DESC =
    (GLOBAL_DBNAME = orcl) //如果已經有這個orcl了,這個檔案就不用修改
    (ORACLE_HOME = D:\oracle\product\10.1.0\db_1) //這裡要根據你的實際路徑來
    (SID_NAME = orcl)
  )
)
LISTENER =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
  )
)

通過修改tnsnames.ora的參數,紅色表注部分
# tnsnames.ora Network Configuration File: D:\oracle\product\10.1.0\db_1
\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
AMMICLY =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
   
(UR=A) //加上這個,不知道是什麼意思
  )
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
  )
  (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
  )
)

然後 sqlplus /nolog
SQL>alter database mount;
SQL>alter database open;

這樣就可以啟動資料庫了;

或者用Oradim -shutdown -sid ammicly -shuttype srvc,inst -shutmode immediate -syspwd ammic;關閉資料庫
在用oradim -startup -sid ammicly -starttype srvc,inst -syspwd ammic;啟動資料庫解決;也可以在截面上從啟動資料庫服務來解決;

總結RA-12528問題是因為監聽中的服務使用了動態服務,系統啟動後,資料庫沒有正常的MOUNT,因此在動態模式下,就會出現這個問題,用靜態就不會有這個問題,因此上面的方法就是把監聽設定為靜態,或者在tnsnames.ora中追加(UR=A)或者從啟動服務,三種方法解決問題;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.