虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > Oracle数据库 > oracle数据库ORA-01196错误解决办法分享

oracle数据库ORA-01196错误解决办法分享
类别:Oracle数据库   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了oracle数据库ORA-01196错误解决办法分享,小编觉得还是挺不错的,这里分享给大家,供需要的朋友参考。

上一篇文章中我们了解到oracle常见故障类别及规划解析,接下来,我们看看oracle数据库ORA-01196错误解决的相关内容,具体如下:

问题现象

在使用shutdown abort停DataGuard备库后,备库不能open,报ORA-01196错误。

发现一备库不能应用日志,查看备库日志没发现报错,怀疑是备库应用日志服务停止,于是尝试重启备库;
可能因为备库是读业务比较繁忙,在shutdown immediate关闭备库时等时间过长,于是使用了shutdown abort命令;
但后面在启动备库时发生报错,造成数据文件损坏,控制文件和数据文件的scn号不一致。

    --启动备库时报错SQL> startupORACLE 例程已经启动。 Total System Global Area 2.0310E+10 bytesFixed Size 2235256 bytesVariable Size 9328133256 bytesDatabase Buffers 1.0939E+10 bytesRedo Buffers 40894464 bytes

数据库装载完毕。

ORA-10458: standby database requiresrecovery
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1:'+DATA/htdb5/datafile/system.261.759082693'

--查看日志

    alter database openData Guard Brokerinitializing...Data Guard Brokerinitialization completeBeginning standby crash recovery.Serial Media Recovery startedManaged Standby Recoverystarting Real Time ApplyMedia Recovery Log+FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180068.1541.885192077Thu Jul 16 12:00:47 2015Errors in file/u01/app/ora11g/diag/rdbms/htdb5/htdb5/trace/htdb5_ora_10154.trc:ORA-01013: 用户请求取消当前的操作ORA-10567: Redo is inconsistentwith data block (file# 47, block# 1187724, file offset is 1139900416 bytes)ORA-10564: tablespace JDYWP_IDXORA-01110: 数据文件 47:'+DATA/htdb5/datafile/jdywp_idx.336.856967805'ORA-10561: block type'TRANSACTION MANAGED INDEX BLOCK', data object# 251837Errors in file/u01/app/ora11g/diag/rdbms/htdb5/htdb5/trace/htdb5_ora_10154.trc:ORA-00339: 归档日志未包含任何重做ORA-00334: 归档日志: '+DATA/htdb5/onlinelog/group_2.280.759082845'ORA-10567: Redo is inconsistentwith data block (file# 47, block# 1187724, file offset is 1139900416 bytes)ORA-10564: tablespace JDYWP_IDXORA-01110: 数据文件 47:'+DATA/htdb5/datafile/jdywp_idx.336.856967805'ORA-10561: block type'TRANSACTION MANAGED INDEX BLOCK', data object# 251837Errors in file/u01/app/ora11g/diag/rdbms/htdb5/htdb5/trace/htdb5_ora_10154.trc (incident=116743):ORA-00600: 内部错误代码, 参数: [3020],[47], [1187724], [198320012], [], [], [], [], [], [], [], []ORA-10567: Redo is inconsistentwith data block (file# 47, block# 1187724, file offset is 1139900416 bytes)ORA-10564: tablespace JDYWP_IDXORA-01110: 数据文件 47:'+DATA/htdb5/datafile/jdywp_idx.336.856967805'ORA-10561: block type'TRANSACTION MANAGED INDEX BLOCK', data object# 251837Incident details in:/u01/app/ora11g/diag/rdbms/htdb5/htdb5/incident/incdir_116743/htdb5_ora_10154_i116743.trcUse ADRCI or Support Workbenchto package the incident.See Note 411.1 at My OracleSupport for error and packaging details.Standby crash recovery aborteddue to error 600.Errors in file/u01/app/ora11g/diag/rdbms/htdb5/htdb5/trace/htdb5_ora_10154.trc:ORA-00600: 内部错误代码, 参数: [3020],[47], [1187724], [198320012], [], [], [], [], [], [], [], []ORA-10567: Redo is inconsistentwith data block (file# 47, block# 1187724, file offset is 1139900416 bytes)ORA-10564: tablespace JDYWP_IDXORA-01110: 数据文件 47:'+DATA/htdb5/datafile/jdywp_idx.336.856967805'ORA-10561: block type'TRANSACTION MANAGED INDEX BLOCK', data object# 251837Recovery interrupted!Some recovered datafiles maybeleft media fuzzyMedia recovery may continue butopen resetlogs may failCompleted standby crashrecovery.Errors in file/u01/app/ora11g/diag/rdbms/htdb5/htdb5/trace/htdb5_ora_10154.trc:ORA-10458: standby databaserequires recoveryORA-01196: 文件 1 由于介质恢复会话失败而不一致ORA-01110: 数据文件 1:'+DATA/htdb5/datafile/system.261.759082693'ORA-10458 signalled during:alter database open...Thu Jul 16 12:00:49 2015Sweep [inc][116743]: completedSweep [inc2][116743]: completedThu Jul 16 12:00:49 2015Dumping diagnostic data indirectory=[cdmp_20150716120049], requested by (instance=1, osid=10154),summary=[incident=116743].Thu Jul 16 12:01:50 2015

解决办法:

把备库闪回到正常的状态的时点。

    --前提数据库闪回之前已经打开SQL> select FLASHBACK_ON from v$database;
    FLASHBACK_ON------------------YES SQL> Flashback database to timestamp to_timestamp('2015-07-16 4:00:05','yyyy-mm-ddhh24:mi:ss');
    --或是使用Flashbackdatabase to scn 947921SQL> alter database open;
    SQL> select open_mode from v$database;
    OPEN_MODE--------------------READ ONLY--启动实时应用SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
    SQL> select open_mode from v$database;
    OPEN_MODE--------------------READ ONLY WITH APPLY

--查看日志看到日志已经从闪回的时点开始应用

    Thu Jul 16 13:36:01 2015Flashback database to timestampto_timestamp('2015-07-16 4:00:05','yyyy-mm-dd hh24:mi:ss')Flashback Restore StartThu Jul 16 13:39:30 2015Flashback Restore CompleteFlashback Media Recovery Start started logmerger processParallel Media Recovery startedwith 16 slavesFlashback Media Recovery Log+FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180047.2212.885180637Thu Jul 16 13:41:54 2015Flashback Media Recovery Log+FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180061.2611.885182343Thu Jul 16 13:42:04 2015Flashback Media Recovery Log+FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180062.2861.885182537Thu Jul 16 13:42:12 2015Incomplete Recovery applieduntil change 71489772016 time 07/16/2015 04:00:06Flashback Media RecoveryCompleteCompleted: Flashback databaseto timestamp to_timestamp('2015-07-16 4:00:05','yyyy-mm-dd hh24:mi:ss')Thu Jul 16 13:43:25 2015Deleted Oracle managed file+FRA/htdb5/archivelog/2015_07_15/thread_1_seq_179690.2885.885083087Thu Jul 16 13:43:25 2015Standby controlfile consistentwith primaryRFS[3]: Selected log 8 forthread 1 sequence 180122 dbid 1083719948 branch 759079182Archived Log entry 180115 addedfor thread 1 sequence 180121 ID 0x40a48484 dest 1:Thu Jul 16 13:45:41 2015alter database openData Guard Brokerinitializing...Data Guard Brokerinitialization complete SMON: enabling cache recoveryDictionary check beginningDictionary check completeDatabase Characterset isZHS16GBKNo Resource Manager plan activereplication_dependency_trackingturned off (no async multimaster replication found)Physical standby databaseopened for read only access.Completed: alter database openThu Jul 16 13:45:44 2015ALTER DATABASE RECOVER MANAGEDSTANDBY DATABASE THROUGH ALL SWITCHOVERDISCONNECT USING CURRENT LOGFILEAttempt to start backgroundManaged Standby Recovery process (htdb5)Thu Jul 16 13:45:44 2015MRP0 started with pid=51, OSid=14743MRP0: Background ManagedStandby Recovery process started (htdb5) started logmerger processThu Jul 16 13:45:50 2015Managed Standby Recoverystarting Real Time ApplyParallel Media Recovery startedwith 16 slavesWaiting for all non-currentORLs to be archived...All non-current ORLs have beenarchived.Media Recovery Log +FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180062.2861.885182537Completed: ALTER DATABASERECOVER MANAGED STANDBY DATABASE THROUGHALL SWITCHOVER DISCONNECT USING CURRENTLOGFILEThu Jul 16 13:46:08 2015Media Recovery Log+FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180063.3683.885182777Thu Jul 16 13:46:35 2015Media Recovery Log+FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180064.2542.885183119Thu Jul 16 13:47:07 2015Media Recovery Log+FRA/htdb5/archivelog/2015_07_16/thread_1_seq_180065.2717.885183615

总结

以上就是本文关于oracle数据库ORA-01196错误解决办法分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:ORACLE SQL语句优化技术要点解析Oracle RMAN自动备份控制文件方法介绍oracle 数据库启动阶段分析等,有什么问题可以直接留言,小编会及时回复大家的。感谢朋友们对本站的支持!这里推荐几本oracle相关的书籍,供广大编程爱好及工作者学习、参考。

构建Oracle高可用环境 (陈吉平) 中文pdf扫描版

http://www.jb51.net/books/554126.html

oracle中文手册合集 CHM版

http://www.jb51.net/books/547791.html

希望大家能够喜欢!

您可能感兴趣的文章:

  • 向Oracle数据库的CLOB属性插入数据报字符串过长错误
  • Oracle数据库TNS常见错误的解决方法汇总
  • plsql连接oracle数据库报ora 12154错误解决方法
  • 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误
  • Linux系统下导出ORACLE数据库出现Exporting questionable statistics.错误 处理
相关热词搜索: oracle 数据库 错误 oracle 数据库错误日志