Oracle日常問題-資料庫無法啟動(案例二)
Oracle日常問題-資料庫無法啟動(案例二)
問題現象:
同事反饋客戶機房斷電,來電後,啟動資料庫伺服器,發現資料無法啟動。
登入應用系統,輸入使用者名稱和密碼登入後報錯。
解決過程:
猜 測 : 伺服器啟動後, 資料庫或監聽沒有 自動 啟動 。
遠端 登入資料庫伺服器,切換到oracle 使用者,發現沒有 sqlplus 命令 ???
猜測: 沒配置環境變數,還是 資料庫使用者不是oracle?
檢視使用者只有oracle 使用者
[root@zjltdb home]# ls
oracle
無法找到資料庫警告日誌
[root@zjltdb home]# find / -name alert_*
空
檢視資料庫環境變數
發現Oracle 家目錄沒有檔案
和客戶溝通,資料庫伺服器資料儲存在磁碟櫃,停電時,資料庫伺服器和磁碟櫃均異常斷電;
猜測:來電啟動時,磁碟櫃啟動速度慢於資料庫伺服器啟動速度,導致資料庫伺服器啟動時無法成功掛載磁碟,導致目錄丟失?
檢視自動掛載情況
[oracle@zjltdb oracle]$ mount
/dev/sda 2 on / oracle type ext4 (rw)
解除安裝/oracle ,重新手動掛載
[oracle@zjltdb oracle]$ u mount /dev/sda2
[oracle@zjltdb oracle]$ mount /dev/sda2 /oracle
/oracle 仍然沒有檔案
讓客戶重啟資料庫伺服器,啟動之後發現/oracle 目錄仍然沒有檔案
結論:/oracle 目錄下檔案並不是沒有掛載,而是真 沒了
檢視三大核心檔案( 控制檔案,日誌檔案,資料檔案 ) 還在,是否有丟失個別檔案還不確定。
[root@zjltdb home]# find / -name *.ctl
/oradata/ncdb/control01.ctl
/oradata/ncdb/control02.ctl
/oradata/ncdb/control03.ctl
[root@zjltdb home]# find / -name redo*
/oradata/ncdb/redo01.log
/oradata/ncdb/redo02.log
/oradata/ncdb/redo03.log
[root@zjltdb home]# find / -name *.dbf
/oradata/ncdb/nnc_data01.dbf
/oradata/ncdb/nnc_index01.dbf
/oradata/ncdb/system01.dbf
/oradata/ncdb/undotbs01.dbf
......
檢視引數檔案,監聽檔案等已經丟失
[root@zjltdb home]# find / -name init*
空
root@zjltdb home]# find / -name listener*
空
丟失的檔案有:引數檔案,監聽檔案,TNS 檔案, Oracle 安裝目錄 ( 包括 Oracle 命令等 )
客戶 反饋 資料庫沒有啟動歸檔,沒有RMAN 備份, 沒有 expdp 邏輯備份 。 總之一句話,沒有任何有效的備份。
解決方案:
在伺服器本地 重新生成Oracle 軟體 或直接將資料檔案遷移到其他伺服器上,客戶希望能直接在伺服器本地進行恢復。
客戶沒有安裝介質, 也 不知道oracle 10g 具體哪個 版本,但客戶反饋正式資料庫和 測試 資料庫是 一起搭建的,推測兩個資料庫版本相同,可以複製 測試 伺服器 上 Oracle_home 目錄到正式資料庫伺服器上。
一: 將測試庫上的oracle 軟體拷貝到正式伺服器上
[root@zjltdb ~]# scp -r 192. 100 . 100 . xxx :/oracle/* /oracle
[root@zjltdb ~]# cd /oracle
[root@zjltdb oracle]# ls
orainventory
admin
product
由於兩個資料庫的SID 和目錄名不同,需要更改相應的目錄名和例項名
二:禁用spfile 引數檔案
[ oracle@zjltdb dbs] $ mv spfileerpdb.ora spfileerpdb.ora.bak
三:重新命名pfile 引數檔案
[ oracle@zjltdb dbs] $ mv initerpdb.ora initncdb.ora
四:修改引數檔案
[ oracle@zjltdb dbs] $ vim initncdb.ora
五:修改監聽檔案
[ oracle@zjltdb admin] $ vim listener.ora
六:啟動資料庫
分析啟動報錯原因: 引數檔案記錄的資料庫版本和控制檔案記錄的資料庫版本不一致,原庫版本是10.2.0.3.0 ,但是拷貝過來的資料庫軟體屬於 10.2.0.4.0 , 沒有時間再去找 10.2.0.3.0 的安裝包了,只能繼續恢復了。
解決方案: 修改引數compatible 版本為 10.2.4.0
[ oracle@zjltdb dbs] $ vim initncdb.ora
七:再次啟動資料庫
可以成功掛載資料庫,但是無法open 資料庫,原因還是因為資料庫版本不匹配 。
檢視警告日誌
[oracle@zjltdb trace ]$ vim alert_ncdb.log
資料庫必須以UPGRADE 方式啟動
八:以UPGRADE 方式啟動資料庫
此時資料庫狀態為OPEN MIGRATE
資料庫OPEN MIGRATE 狀態下無法連線 生產 使用者,只允許sysdba 使用者連線 。
猜測: 必須 將資料庫升級到10.2.0.4.0 後應該可以啟動資料庫
九:執行資料庫升級指令碼( 重新建立資料字典和檢視 )
升級之前備份所有的資料檔案,控制檔案,日誌檔案到本地
SQL > @/oracle/product/10.2/rdbms/admin/catu p grd.sql
......
過程比較漫長,大概1 小時
十 再次啟動資料庫,可以正常open
十一 :啟動監聽後,進入NC 系統,發現 NC 資料一切正常
十二:讓客戶儘快做備份
1 expdp 對所有使用者做邏輯備份
2 備份 /oracle 目錄到本地
第二天早上,使用者發來訊息,NC 再次出現無法登入,登入到 /oracle 目錄又變空了,並且使用者昨天晚上並沒有來得及做任何備份,他說太晚了,想早上在做備份。使用者希望可以再做一次恢復。
猜測問題可能原因:
1 人員惡意刪除
2 /oracle 所在磁碟出現問題
解決方案:
1 重複昨天的恢復操作
2 修改 oracle 環境變數,將 oracle_home 指向其他磁碟
3 全庫備份,備份檔案拷貝到其他伺服器上
4 啟動資料庫,啟動監停, 客戶 登入 系統 ,檢視 系統 資料,一切正常
建議使用者 聯絡 伺服器硬體廠商儘快檢查磁碟健康情況;
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2675803/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- Oracle Haip無法啟動問題學習OracleAI
- Oracle資料庫啟動問題彙總(一)Oracle資料庫
- Oracle 12.2應用PSU後資料庫無法啟動Oracle資料庫
- Oracle資料庫日常問題-歸檔異常增長Oracle資料庫
- 【資料庫資料恢復】無法啟動MongoDB服務的資料恢復案例資料庫資料恢復MongoDB
- 應用使用JNDI,資料庫無法連線,導致的程序無法啟動問題處理資料庫
- MYSQL資料庫服務無法啟動MySql資料庫
- 資料庫資料恢復——Windows無法啟動MongoDB服務的資料恢復案例資料庫資料恢復WindowsMongoDB
- 【資料庫資料恢復】突然斷電造成Syabse資料庫無法啟動的資料恢復案例資料庫資料恢復
- 解決ASM無法啟動問題ASM
- 資料庫資料恢復-oracle資料庫報錯無法開啟的如何恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- 記一次ORA-01102導致資料庫例項無法啟動案例資料庫
- Oracle資料庫啟動步驟Oracle資料庫
- EXECL無法開啟,問題定位資料,識別不了
- 達夢資料庫dmap服務無法正常啟動資料庫
- 【案例】Oracle報錯ORA-01194 ORA-01110 由於資料庫SCN不一致導致無法啟動Oracle資料庫
- oracle 12c 資料庫例項監聽無法註冊問題一例Oracle資料庫
- 4 配置Oracle資料庫自動啟動Oracle資料庫
- qt6 QtOpcUa無法正常啟動問題QT
- 【ASM】ASM啟動無法找到spfile問題原因ASM
- IDEA無法連線docker中的資料庫的問題IdeaDocker資料庫
- 【儲存資料恢復案例】儲存斷電後無法成功重啟,虛擬機器無法啟動-資料恢復資料恢復虛擬機
- 【資料庫資料恢復】SqlServer資料庫無法讀取的資料恢復案例資料庫資料恢復SQLServer
- 【TUNE_ORACLE】Oracle資料庫與HugePages(三)HugePages常見問題和解決辦法Oracle資料庫
- 【伺服器資料恢復】同友儲存無法啟動的資料恢復案例伺服器資料恢復
- Oracle日常問題-壞塊修復Oracle
- 解決vscode安裝後無法啟動的問題VSCode
- mysql因為事務日誌問題無法啟動MySql
- 11G oracle資料庫重新啟動crsOracle資料庫
- Windows Defender無法開啟的問題Windows
- oracle兩節點RAC,由於gipc導致某節點crs無法啟動問題分析Oracle
- 資料庫資料恢復—無備份,binlog未開啟的Mysql資料庫資料恢復案例資料庫資料恢復MySql
- 達夢資料庫日常管理之問題處理筆記1資料庫筆記
- Oracle資料庫壞塊典型案例分析Oracle資料庫
- mysql 資料庫無法啟動Ignoring the redo log due to missing MLOG_CHECKPOINT betweenMySql資料庫
- Oracle日常問題處理ORA-04031Oracle