当前位置:  数据库>oracle

Oracle 丢失日志(redoxx_xx)文件后的处理方法

    来源: 互联网  发布时间:2017-04-14

    本文导语: 测试部门反映内网1.105Oracle数据库服务无法启动,还是惯例性的打开alter_.log文件,查看里面的日志内容: Fri Nov 11 11:46:09 2011Errors in file /u01/app/oracle/admin/center/bdump/center_lgwr_3016.trc:ORA-00313: open failed for members of log group 2 of thread 1ORA-0...

测试部门反映内网1.105Oracle数据库服务无法启动,还是惯例性的打开alter_.log文件,查看里面的日志内容:

Fri Nov 11 11:46:09 2011
Errors in file /u01/app/oracle/admin/center/bdump/center_lgwr_3016.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u02/oradata/center/redo02_1.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 2 thread 1: '/u02/oradata/center/redo02.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory









这段日志内容明显说明数据库启动时找不到group 2日志组的日志文件redo02.log'redo02_1.log,于是:

cd /u02/oradata/center


ls

果真在此目录下找不到报错的日志文件,问题原因查明,进行相关处理:

重做日志损坏或者误删或者丢失,那么肯定数据库不能够进行完全恢复,会丢失当前重做日志中的事务数据。

恢复方法需要针对重做日志组丢失的状况以及当前在数据库中的状态而采用不同的方法进行恢复。


首先检查重做日志文件状态,看看报错的日志文件的状态。


SQL> select * from v$log;
SQL> select * from v$logfile;

针对:丢失非活动日志文件的恢复,非活动日志文件指的是丢失的日志文件组状态为’INACTIVE',说明该日志组已经完成检查点后丢失的日志文件,

数据库不会发生数据丢失,但是千万不能够忽视,www.linuxidc.com因为当日志切换到该日志组时会发生错误。

主要方法包括方法一、方法二、方法三。

方法一:通过重新生成重做日志文件组


直接删除丢失的重做日志文件组,但是删除后必须保证数据库的重做日志组数目不能小于2个。

删除重做日志文件组:

SQL> alter database drop logfile group 1;

Database altered.

增加重做日志文件组:

SQL>alter database add logfile group 1('/u01/oradata/orcl/redo1.log','/u01/oradata/orcl/redo01.log') size 500m;

Database altered.

方法二:通过增加重做日志文件成员以及删除丢失的日志文件

在丢失的重做日志组中增加同样大小的REDO文件,然后删除丢失的MEMBER。

增加重做日志文件成员:

SQL> alterdatabase add logfile member '/u01/oradata/orcl/redo01.log' to group 1;

Databasealtered.

删除丢失的日志文件:

SQL> alterdatabase drop logfile member '/u01/oradata/orcl/redo1.log';

Database altered.

这种方法只适合丢失的文件组中至少还有一个成员是可用的,如果丢失的日志文件所属的文件组只有这一个文件,那么这种方法是不适合的。

在添加日志文件时会出错:

SQL> alterdatabase add logfile member '/u01/oradata1/redo1.log' to group 1;

alter databaseadd logfile member '/u01/oradata1/redo01.log' to group 1

*

ERROR at line 1:

ORA-00313: openfailed for members of log group 1 of thread 1

ORA-00312:online log 1 thread 1: '/u01/oradata/orcl/redo01.log'

ORA-27037:unable to obtain file status

Linux Error: 2:No such file or directory

Additionalinformation: 3


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux平台下Oracle 密码文件重建
  • Oracle数据库访问参数文件的顺序
  • Oracle 对数据文件大小的限制
  • Oracle移动数据文件到新分区步骤分析
  • 在jsp文件中怎么设置oracle的路径:很简单的,只是因为我不会;
  • Oracle的spfile参数文件
  • linux下通过对文件读取方式查询oracle的版本信息
  • 求高手指点shell导入.dat文件到ORACLE数据库
  • jsp文件连接oracle失败
  • linux 安装 oracle 运行./runinstall 提示没有这个文件
  • oracle删除文件后数据库启动不了的处理方法
  • 请教:为什么删除不掉?我用超级用户删除某一文件夹rm -R oracle失败。
  • Oracle控制文件多元化处理
  • Oracle数据库逻辑备份的SH文件
  • 利用多个转储文件导出大量Oracle数据
  • 50分的题:如何给oracle减肥?在linux多目录的环境下查找体积最大的单个文件??
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • 读取oracle数据库表写文件慢
  • 如何向oracle中写入一个大文件?谢谢!
  • jsp文件上传smartupload到oracle数据库中没有longblob的数据类型如何处理的?
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3