我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle中redolog损坏怎么办

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle中redolog损坏怎么办

这篇文章主要为大家展示了“oracle中redolog损坏怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“oracle中redolog损坏怎么办”这篇文章吧。

redolog损坏的处理办法

损坏非当前联机日志大家都清楚,联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。
1、启动数据库,遇到ORA-00312 or ORA-00313错误,如
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG'
从这里我们知道日志组1的数据文件损坏了
从报警文件可以看到更详细的信息
2、查看V$log视图
SQL> select group#,sequence#,archived,status from v$log;

GROUP#SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
11 YESINACTIVE
22 YESINACTIVE
33 NOCURRENT
可以知道,该组是非当前状态,而且已经归档。
3、用CLEAR命令重建该日志文件
SQL>alter database clear logfile group 1;
如果是该日志组还没有归档,则需要用
SQL>alter database clear unarchived logfile group 1;
4、打开数据库,重新备份数据库
SQL>alter database open;
说明:
1、如果损坏的是非当前的联机日志文件,一般只需要clear就可以重建该日志文件,但是如果该数据库处于归档状态但该日志还没有归档,就需要强行clear。
2、建议clear,特别是强行clear后作一次数据库的全备份。
3、此方法适用于归档与非归档数据库

损坏当前联机日志归档模式下当前日志的损坏有两种情况,
一、是数据库是正常关闭,日志文件中没有未决的事务需要实例恢复,当前日志组的损坏就可以直接用alter database clear unarchived logfile group n来重建。
二、是日志组中有活动的事务,数据库需要媒体恢复,日志组需要用来同步,有两种补救办法
A.最好的办法就是通过不完全恢复,可以保证数据库的一致性,但是这种办法要求在归档方式下,并且有可用的备份
B.通过强制性恢复,但是可能导致数据库不一致。
下面分别用来说明这两种恢复方法
5.1.2.1 通过备份来恢复
1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件

2、查看V$log,发现是当前日志
SQL> select group#,sequence#,archived,status from v$log;

GROUP#SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
11 NOCURRENT
22 YESINACTIVE
33 YESINACTIVE

3、发现clear不成功
SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG'

4、拷贝有效的数据库的全备份,并不完全恢复数据库
可以采用获取最近的SCN的办法用until scn恢复或用until cnacel恢复
recover database until cancel
先选择auto,尽量恢复可以利用的归档日志,然后重新
recover database until cancel
这次输入cancel,完成不完全恢复,也就是说恢复两次。
如:
SQL> recover database until cancel;
Auto
……
SQL> recover database until cancel;
Cancel;
5、利用alter database open resetlogs打开数据库
说明:
1、这种办法恢复的数据库是一致的不完全恢复,会丢失当前联机日志中的事务数据
2、这种方法适合于归档数据库并且有可用的数据库全备份。
3、恢复成功之后,记得再做一次数据库的全备份。
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。

如果没有备份,进行强制性恢复1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件

2、查看V$log,发现是当前日志
SQL> select group#,sequence#,archived,status from v$log;

GROUP#SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
11 NOCURRENT
22 YESINACTIVE
33 YESINACTIVE

3、发现clear不成功
SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG'

4、把数据库down掉
SQL>shutdown immediate

5、在init<sid>.ora中加入如下参数
_allow_resetlogs_corruption=TRUE

6、重新启动数据库,利用until cancel恢复
SQL>recover database until cancel;
Cancel
如果出错,不再理会,发出
SQL>alter database open resetlogs;

7、数据库被打开后,马上执行一个full export

8、shutdown数据库,去掉_all_resetlogs_corrupt参数

9、重建库

10、import并完成恢复

11、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;
说明:
1、该恢复方法是没有办法之后的恢复方法,一般情况下建议不要采用,因为该方法可能导致数据库的不一致
2、该方法也丢失数据,但是丢失的数据没有上一种方法的数据多,主要是未写入数据文件的已提交或未提交数据。
3、建议成功后严格执行以上的7到11步,完成数据库的检查与分析
4、全部完成后做一次数据库的全备份
5、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的

以上是“oracle中redolog损坏怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle中redolog损坏怎么办

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

tenslx.dll文件损坏怎么办

要解决tenslx.dll文件损坏的问题,可以尝试以下几种方法:1. 重新启动电脑:有时候,重新启动电脑可以解决一些临时的系统故障,包括文件损坏问题。2. 运行系统文件检查:在命令提示符下,输入sfc /scannow命令来运行系统文件检查
2023-09-05

电脑提示cmd.exe文件损坏怎么办

本篇内容介绍了“电脑提示cmd.exe文件损坏怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!很多朋友在使用电脑时会出现“cmd.exe
2023-06-13

Windows2008任务映像已损坏或篡改怎么办

这篇文章将为大家详细讲解有关Windows2008任务映像已损坏或篡改怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。win server 2008 R2 enterprinse 操作系统打开计划任务
2023-06-04

win7系统文件损坏无法修复怎么办

如果Win7系统文件损坏无法修复,可以尝试以下方法:1. 使用系统还原:进入安全模式,选择“开始”菜单中的“所有程序”-“附件”-“系统工具”-“系统还原”,选择一个恢复点进行系统还原。2. 使用系统修复工具:进入安全模式,选择“开始”菜单
2023-09-04

软考合格证书丢失或损坏怎么办

软考合格证书是重要的个人职业资格证明,一旦丢失或损坏,可能会给持证人带来不便。软考合格证书丢失或损坏怎么办呢?考生可以采取什么方式进行补办呢?具体请见下文。
软考合格证书丢失或损坏怎么办
2024-09-18

mysql中ibd文件损坏怎么修复

在MySQL中,当ibd文件损坏时,你可以尝试以下方法来修复它:通过使用MySQL自带的工具检查和修复表:可以使用MySQL自带的工具mysqlcheck或者myisamchk来检查和修复表。例如,可以使用以下命令检查并修复表:mysqlc
mysql中ibd文件损坏怎么修复
2024-03-14

ubuntu boot损坏怎么修复

当Ubuntu的启动损坏时,可以尝试以下几种方法修复:1. 使用Live CD/USB启动:使用另一台计算机下载Ubuntu的Live CD或Live USB镜像,然后通过它来启动损坏的计算机。进入Live环境后,可以使用一些命令修复启动问
2023-10-12

mysql表损坏怎么修复

修复 mysql 表损坏:1. 使用 myisamchk 工具(仅适用于 myisam 表);2. 使用 repair table 命令(适用于 myisam 和 innodb 表);3. 重建表;4. 使用第三方工具(如 navicat
mysql表损坏怎么修复
2024-05-22

win7系统注册表损坏不能启动怎么办

如果您的计算机在选择重新安装系统或由于系统注册表文件丢失或损坏,文件丢失或损坏,Windows无法加载,这主要是由系统损坏引起的,您可以尝试使用以下方法来解决这个问题。如果在您的计算机启动时出现上图中的信息,通常是由于系统损坏或不完整引起的
2023-07-17

电脑中移动硬盘强行退出后损坏了怎么办

这篇文章主要介绍了电脑中移动硬盘强行退出后损坏了怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。移动硬盘强行退出后损坏的修复方法:1.鼠标右键点击电脑中的可移动硬盘,打开
2023-06-27

windows u盘损坏怎么修复

这篇文章主要介绍了windows u盘损坏怎么修复的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows u盘损坏怎么修复文章都会有所收获,下面我们一起来看看吧。u盘损坏修复方法:第一步,插入u盘,扫描到
2023-07-02

Win8系统文件损坏或丢失怎么办? Win8系统文件损坏或丢失的解决方法

解决思路:出现这种问题就需要找到所损坏的文件并对其进行修复。 解决方法:一、先看看命令文件检查器工具使用方法 1、在win8中使用组合键“CTRL+F”打开搜索,或者在开始屏幕中找到搜索并输入“CMD&
2022-06-04

win10中怎么修复系统损坏文件

小编给大家分享一下win10中怎么修复系统损坏文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体步骤:1.首先,在搜索框中输入CMD,右键选择命令提示符。2.
2023-06-27

windows7系统注册表文件遗失或损坏怎么办

windows7用户在启动时遇到了系统注册表文件遗失或损坏的现象,像这种情况要怎么解决呢?你先强制重启电脑,以后按F8键,在打开的页面中选择安全模式进到,之后在菜单栏找到命令提示符开启,输入SFC/SCANNOW指令并回车实行,这时候系统就
2023-07-10

编程热搜

目录