本文共 1675 字,大约阅读时间需要 5 分钟。
微软云上的Oracle备库意外发生故障,导致ping不通,各种监控报警接连上来。联系微软云后台工程师,告知问题可能出在存储设备上的文件损坏。系统启动检查发现,除非重启系统,否则无法正常启动到登录界面。
系统启动检查发现:
/dev/sdc1的superblock损坏,无法识别文件系统。微软云团队根据建议,进入管理界面,关闭数据库服务并重启系统。 3小时后,工程师反馈恢复完成,备库服务器正常启动。
登录系统后发现:
SQL> startupORACLE instance started....ORA-10458: stadby database requires recoveryORA-01196: file 1 is inconsistent due to a failed media recovery session
为了确保数据恢复,启动归档传输:
SQL> alter database recover managed standby database using current logfile disconnect from session;
执行后确认完成:
SQL>
# 主库查看归档日志是否已传输SQL> select sequence#,applied from v$archived_log order by sequence#;
输出显示,归档日志已传输到备库,但还在应用中。
# 备库查看回流进度SQL> select sequence#,applied from v$archived_log order by sequence#;
输出显示,归档日志已完全传输,但正在进行应用。
通过检查v$dataguard_stats:
SQL> set linesize 2000SQL> select name,value from v$dataguard_stats;
输出显示:
日志应用仍在进行中。
随着日志应用逐步完成,后台日志显示:
Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16855_906253421.dbf...Recovery of Online Redo Log: Thread 1 Group 4 Seq 16856 (in transit)
尝试打开数据库:
SQL> alter database recover managed standby database cancel;
SQL> alter database open;
SQL> alter database recover managed standby database using current logfile disconnect;
最终,验证数据库状态:
SQL> select name,open_mode from v$database;
输出:
NAME OPEN_MODEPOWERDES MOUNTED
通过系统重启、启动归档传输以及实时日志观察,最终成功恢复了Oracle备库,主备数据库保持了数据的一致性和服务可用性。
转载地址:http://nkjsz.baihongyu.com/