oracle非归档模式下面的日志文件被意外的破坏的恢复方法

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

 

1,在非current状态下
如果我们直接删除物理的日志文件,会导致下次启动数据库的时候不能启动数据库,我们就只有删除这个group后在启动数据库就可以了。
SQL> select group#,member from v$logfile;
    GROUP# MEMBER
---------- ------------------------------------------------------------
         3 /sof/oracle/oradata/orcl/redo03.log
         2 /sof/oracle/oradata/orcl/redo02.log
         1 /sof/oracle/oradata/orcl/redo01.log
         4 /sof/oracle/oradata/orcl/redo04.log
SQL> ho rm /sof/oracle/oradata/orcl/redo04.log
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area  188743680 bytes
Fixed Size                  1218460 bytes
Variable Size              67111012 bytes
Database Buffers          117440512 bytes
Redo Buffers                2973696 bytes
Database mounted.
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 4 thread 1: '/sof/oracle/oradata/orcl/redo04.log'
SQL> alter database drop logfile group 4
  2  ;
Database altered.
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area  188743680 bytes
Fixed Size                  1218460 bytes
Variable Size              67111012 bytes
Database Buffers          117440512 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
 
 
2.下面是删除current状态的日志文件。
SQL> select group#,status from v$log;
    GROUP# STATUS
---------- ----------------
         1 INACTIVE
         2 CURRENT
         3 INACTIVE
SQL> select group#,member from v$logfile;
    GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
         3
/sof/oracle/oradata/orcl/redo03.log
         2
/sof/oracle/oradata/orcl/redo02.log
         1
/sof/oracle/oradata/orcl/redo01.log
SQL> ho rm /sof/oracle/oradata/orcl/redo02.log
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area  188743680 bytes
Fixed Size                  1218460 bytes
Variable Size              67111012 bytes
Database Buffers          117440512 bytes
Redo Buffers                2973696 bytes
Database mounted.
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/sof/oracle/oradata/orcl/redo02.log'
介质恢复
SQL> recover database using backup controlfile;
ORA-00279: change 1131887 generated at 01/06/2010 01:52:36 needed for thread 1
ORA-00289: suggestion :
/sof/oracle/flash_recovery_area/ORCL/archivelog/2010_01_06/o1_mf_1_1_%u_.arc
ORA-00280: change 1131887 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: cannot open archived log
'/sof/oracle/flash_recovery_area/ORCL/archivelog/2010_01_06/o1_mf_1_1_%u_.arc'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-00308: cannot open archived log
'/sof/oracle/flash_recovery_area/ORCL/archivelog/2010_01_06/o1_mf_1_1_%u_.arc'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
修改这个参数是为了让数据库启动时不检查日志文件的一致性
SQL> alter system set "_allow_resetlogs_corruption"=true  scope=spfile;
System altered.
SQL> shutdowm immediate;
SP2-0734: unknown command beginning "shutdowm i..." - rest of line ignored.
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area  188743680 bytes
Fixed Size                  1218460 bytes
Variable Size              67111012 bytes
Database Buffers          117440512 bytes
Redo Buffers                2973696 bytes
Database mounted.
这个命令是reset  log
SQL> alter database open resetlogs;
Database altered.
SQL> alter system reset "_allow_resetlogs_corruption"  scope=spfile sid='*';
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area  188743680 bytes
Fixed Size                  1218460 bytes
Variable Size              67111012 bytes
Database Buffers          117440512 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL> select group#,status from v$log;
    GROUP# STATUS
---------- ----------------
         1 CURRENT
         2 UNUSED
         3 UNUSED
SQL> select group#,member from v$logfile;
    GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
         3
/sof/oracle/oradata/orcl/redo03.log
         2
/sof/oracle/oradata/orcl/redo02.log
         1
/sof/oracle/oradata/orcl/redo01.log


  本文转自7343696 51CTO博客,原文链接: http://blog.51cto.com/luoping/259518 ,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7天前
|
存储 Windows
【Azure Cloud Service】微软云服务上的日志收集方法
本文介绍了在使用微软云服务(Cloud Service Extended Support)时,如何收集日志以分析未记录在应用日志中的服务异常。由于云服务基于传统虚拟机模式,需通过远程桌面登录实例,查看IIS、Windows Event及云服务组件日志(如WindowsAzureGuestAgent)。此外,可使用CollectGuestLogs.exe工具打包日志,或通过“File Server Resource Manager”检查日志存储配额是否不足。附参考文档链接供深入学习。
69 30
|
15天前
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
2月前
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
234 28
|
5月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
268 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
4月前
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
159 3
|
5月前
|
SQL Oracle 关系型数据库
Oracle 从 DMP 文件中恢复指定表的步骤
Oracle 从 DMP 文件中恢复指定表的步骤
399 7
|
4月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
181 5
|
5月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
5月前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
114 4
|
4月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
127 9

推荐镜像

更多