Oracle解決ORA-01034:?ORACLE?not?available問題的辦法
這個(gè)…不知道是鏡像問題還是配置上有問題,Docker版的Oracle 11g在上次部署完之后已經(jīng)出現(xiàn)了多次無法訪問的情況(就是 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g這個(gè)鏡像),最后一次修復(fù)已經(jīng)將連接數(shù)從150(默認(rèn))提升到8000,這次無法訪問肯定不是連接數(shù)已滿的問題。
遇事不要慌,先通過docker exec進(jìn)入容器內(nèi)部連接一下oracle數(shù)據(jù)庫,看到的是
ORA-01034: ORACLE not available
這…難道是之前為了修改連接數(shù)直接關(guān)機(jī)導(dǎo)致日志無法歸檔么?
上網(wǎng)查了些資料,最終通過如下步驟解決的:
- 先用sqlplus使用sysdba權(quán)限訪問連接數(shù)據(jù)庫
[oracle@e156e1b777f5 -]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 14 13:36:28 2021 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance.
- 查詢v$log看看能否正常查詢到日志信息
SQL> select * from v$log; select × from v$log ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0
- 在發(fā)現(xiàn)報(bào)ORA-01034: ORACLE not available錯(cuò)誤后,我們再試試操作resetlogs
SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01034: ORACLE not available Process ID: O Session ID: 0 Serial number: 0
要注意,這里使用resetlogs方式打開數(shù)據(jù)庫對(duì)oracle進(jìn)行恢復(fù)是存在風(fēng)險(xiǎn)的,如果日志文件沒有損壞的情況下可以直接恢復(fù)就可以了,這次的情況比較麻煩,所以才想用這種方式進(jìn)行。
- 既然所有操作都報(bào)錯(cuò)了,就先關(guān)閉實(shí)例
SQL> shutdown immediate; ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux-x86 64 Error: 2: No such file or directory
- 重新掛載啟動(dòng)
SQL> startup mount; ORACLE instance started. Total System Global Area 1603411968 bytes Fixed Size 2213776 bytes Variable Size 1342179440 bytes Database Buffers 251658240 bytes Redo Buffers 7360512 bytes Database mounted.
- 重啟之后再嘗試使用resetlogs打開數(shù)據(jù)庫
SQL> alter database open resetlogs; alter database open resetlogs ERROR at line 1: ORA-01139: RESETLOGS option only valid after an incomplete database recovery
這里又是一個(gè)ERROR,先不要管它繼續(xù)下一步操作
- 這時(shí)我們又再查一次v$log
如上圖所示,通過v$log得知日志只記錄到昨天(11月13日),還好不是生產(chǎn)環(huán)境的一天的時(shí)間還能夠接受。
- 通過recover database命令進(jìn)行數(shù)據(jù)恢復(fù)
SQL> recover database until time '2021-11-13 00:00:00' ORA-10879: error signaled in parallel recovery slave ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: '/home/oracle/app/oracle/oradata/helowin/systeml.dbf'
嗯…沒有頭緒還是先“重啟”吧
SOL> shutdown; ORA-01109: database not open Database dismounted. ORACLE instance shut down. SOL> startup ORACLE instance started. Total System Global Area 1603411968 bytes Fixed Size 2213776 bytes Variable Size 1342179440 bytes Database Buffers 251658240 bytes Redo Buffers 7360512 bytes Database mounted. ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
這次連啟動(dòng)也報(bào)錯(cuò),真是“一波未平一波又起”。
- sqlplus再查詢一次l日志
既然這樣就手動(dòng)redo一次吧。
- 執(zhí)行recover database
執(zhí)行完了之后再open resetlogs就可以了
SQL> alter database open resetlogs; Database altered.
為了使操作完全生效決定重啟了一下oracle
SQL> shutdown immedate; SP2-0717: illegal SHUTDOWN option SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SOL> startup; ORACLE instance started. Total System Global Area 1603411968 bytes Fixed Size 2213776 bytes Variable Size 1342179440 bytes Database Buffers 251658240 bytes Redo Buffers 7360512 bytes Database mounted. Database opened.
這樣就搞定了。
總結(jié)
到此這篇關(guān)于Oracle解決ORA-01034: ORACLE not available問題的文章就介紹到這了,更多相關(guān)ORA-01034:ORACLE not available內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle用戶自定義異常實(shí)現(xiàn)過程解析
這篇文章主要介紹了Oracle用戶自定義異常實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09詳解Linux平臺(tái) Oracle 10gR2(10.2.0.5)RAC安裝 Part1:準(zhǔn)備工作
本篇文章主要介紹了Linux平臺(tái) Oracle 10gR2(10.2.0.5)RAC安裝 Part1:準(zhǔn)備工作 ,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01Oracle如何使用PL/SQL調(diào)試存儲(chǔ)過程
這篇文章主要介紹了Oracle如何使用PL/SQL調(diào)試存儲(chǔ)過程,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Oracle SqlPlus設(shè)置Login.sql的技巧
sqlplus在啟動(dòng)時(shí)會(huì)自動(dòng)運(yùn)行兩個(gè)腳本:glogin.sql、login.sql這兩個(gè)文件,接下來通過本文給大家介紹Oracle SqlPlus設(shè)置Login.sql的技巧,對(duì)oracle sqlplus設(shè)置相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01Oracle參數(shù)設(shè)置教程之set和reset的實(shí)用案例
最近在學(xué)習(xí)oracle,學(xué)習(xí)中遇到了一些覺著有必要記錄下的內(nèi)容,所以下面這篇文章主要給大家介紹了關(guān)于Oracle參數(shù)設(shè)置教程之set和reset實(shí)用案例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。2017-10-10EF 配置Oracle數(shù)據(jù)庫數(shù)據(jù)庫連接字符串的實(shí)例
下面小編就為大家?guī)硪黄狤F 配置Oracle數(shù)據(jù)庫數(shù)據(jù)庫連接字符串的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04教你怎樣用Oracle方便地查看報(bào)警日志錯(cuò)誤
由于報(bào)警日志文件很大,而每天都應(yīng)該查看報(bào)警日志(查看有無“ORA-”,Error”,“Failed”等出錯(cuò)信息),故想找到一種比較便捷的方法,查看當(dāng)天報(bào)警日志都有哪些錯(cuò)誤。2014-08-08ORACLE SQL語句優(yōu)化技術(shù)要點(diǎn)解析
這篇文章主要介紹了ORACLE SQL語句優(yōu)化技術(shù)的相關(guān)內(nèi)容,小編覺得挺不錯(cuò)的,在這里分享給大家,需要的朋友可以參考下。2017-10-10