這篇文章給大家分享的是有關(guān)如何解決Oracle備庫宕機啟動的問題的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出寒亭免費做網(wǎng)站回饋大家。簡介
ORA-10458: standby database requires recovery
ORA-01196: 文件 1 由于介質(zhì)恢復(fù)會話失敗而不一致
ORA-01110: 數(shù)據(jù)文件 1: 'XXXXXXXXXXXXXXXXXX\XXXXX1.DBF'
一個項目做了Oracle主從數(shù)據(jù)庫同步,通過Dataguard實現(xiàn),從庫服務(wù)器宕機,再開機的時候,從庫無法啟動,報“ORA-01196: 文件 1 由于介質(zhì)恢復(fù)會話失敗而不一致”這個錯誤,具體日志信息如下:
ORA-10458: standby database requires recovery
ORA-01196: 文件 1 由于介質(zhì)恢復(fù)會話失敗而不一致
ORA-01110: 數(shù)據(jù)文件 1: 'XXXXXXXXXXXXXXXXXX\XXXXX1.DBF'
正常啟動的順序應(yīng)該是先啟動備庫再啟動主庫。由于從庫宕機導(dǎo)致有段時間日志未同步,主備不一致,從庫無法啟動。
恢復(fù)前準備
備份主庫
備份主庫數(shù)據(jù)【/home/oracle/backup/20190506/】
mkdir /home/oracle/backup/20190506
sqlplus / as sysdba SQL> create directory data_dir as '/home/oracle/backup/20190506';
expdp SYSTEM/密碼@orcl schemas=用戶名 dumpfile=bak20190506.dmp directory=data_dir logfile=bak20190506.log;
檢查日志文件
恢復(fù)之前需要了解當(dāng)前備庫的數(shù)據(jù)庫文件、日志文件,查看主備庫是否一致【如不一致需要拷貝】。
SQL> set linesize 300 SQL> col MEMBER for a60 SQL> select type,member from v$logfile;
檢查數(shù)據(jù)庫文件
SQL> select name from v$datafile;
備庫恢復(fù)
關(guān)閉備庫,并啟動了實例,加載數(shù)據(jù)庫,但是數(shù)據(jù)庫沒有打開。打開日志進程
shutdown immediate startup mount; alter database recover managed standby database using current logfile disconnect from session;
主庫操作
alter system switch logfile;
強制日志切換,不一定就歸檔當(dāng)前的重做日志文件(若自動歸檔打開,就歸檔前的重做日志,若自動歸檔沒有打開,就不歸檔當(dāng)前重做日志。)
alter system switch logfile;
多操作幾次,操作之后,稍等一段時間,時間視網(wǎng)速而定,過一段時間后,在主庫上查詢一下同步情況:
select name,sequence#,archived,applied from v$archived_log order by sequence#;
如果返回結(jié)果"APPLIED"都是“YES”或者只有最后一個是“NO”的話,說明全部歸檔日志全部已經(jīng)歸檔完了
,此時到備庫上上操作
啟動備庫
alter database recover managed standby database cancel; alter database open; alter database recover managed standby database using current logfile disconnect from session;
感謝各位的閱讀!關(guān)于“如何解決Oracle備庫宕機啟動的問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!