這篇文章主要給大家介紹了關於數據庫報:ORA-01196(ORA-10458/ORA-01110)錯誤的解決方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用數據庫具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
發現問題
贊比亞的一個項目,主要做主從數據庫同步,主庫在贊比亞機房,從庫在中國青島阿里雲服務器上面,通過Dataguard實現,當運行一段時間後,發現主從數據庫的數據不一致了,從庫無法啓動,報“ORA-01196: 文件 1 由於介質恢復會話失敗而不一致”這個錯誤,具體日誌信息如下:
===========《《日誌信息》》====================
Windows PowerShell
版權所有 (C) 2009 Microsoft Corporation。保留所有權利。
PS C:\Users\Administrator> sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期三 5月 7 04:59:10 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
連接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select OPen_mode from v$database;
OPEN_MODE
----------------------------------------
MOUNTED
SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-10458: standby database requires recovery
ORA-01196: 文件 1 由於介質恢復會話失敗而不一致
ORA-01110: 數據文件 1: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF'
==============《《《日誌結束》》》===========================
解決方法:
從庫啓動到mount狀態:
SQL>SHUTDOWN IMMEDIATE SQL>STARTUP MOUNT; SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USEING CURRENT LOGFILE DISCONNECT FROM SESSION;
到主庫上操作:
SQL>ALTER SYSTEM SWITCH LOGFILE;
多操作幾次,操作之後,稍等一段時間,時間視網速而定,過一段時間後,在主庫上查詢一下規定情況:
SQL>SELECT NAME,SEQUENCE#,ARCHIVED,APPLIED FROMV$ARCHIVED_LOG ORDER BY SEQUENCE#;
如果返回結果"APPLIED"都是“YES”或者只有最後一個是“NO”的話,說明全部歸檔日誌全部已經歸檔完了,此時到備庫上上操作:
備庫操作:
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCLE; SQL>ALTER DATABASE OPEN; SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
================================解決方法========================================
問題解決!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。