联机日志文件损坏后的数据恢复,
1、非当前的联机日志文件损坏或丢失后的恢复
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 11 104857600 1 NO INACTIVE 685884 27-7月 -06
2 1 12 104857600 1 NO INACTIVE 730114 27-7月 -06
3 1 13 104857600 1 NO CURRENT 881907 28-7月 -06
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
删除D:\ORACLE\ORADATA\DB01\REDO01.LOG后启动数据库
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 139533192 bytes
Fixed Size 453512 bytes
Variable Size 113246208 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\ORADATA\DB01\REDO01.LOG'
错误提示日志组1坏掉了!
SQL> select status from v$instance;
STATUS
------------
MOUNTED
此时有两种方法可以恢复日志,
方法一:把这个日志组删除,重新建一个新的;
SQL> alter database drop logfile group 1;
数据库已更改。
SQL> alter database add logfile group 1
2 ('d:\oracle\oradata\db01\redo01.log') size 100M;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 0 104857600 1 YES UNUSED 0
2 1 12 104857600 1 NO INACTIVE 730114 27-7月 -06
3 1 13 104857600 1 NO CURRENT 881907 28-7月 -06
方法二:用alter database clear logfile group xx来恢复
关闭数据库,删除D:\ORACLE\ORADATA\DB01\REDO02.LOG
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 139533192 bytes
Fixed Size 453512 bytes
Variable Size 113246208 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 2 (线程 1) 的成员
ORA-00312: 联机日志 2 线程 1: 'D:\ORACLE\ORADATA\DB01\REDO02.LOG'
SQL> alter database clear logfile group 2;
数据库已更改。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 0 104857600 1 NO CLEARING_CURRENT 956570 28-7月 -06
2 1 0 104857600 1 NO UNUSED 0 27-7月 -06
3 1 13 104857600 1 NO INACTIVE 881907 28-7月 -06
SQL> alter database open;
数据库已更改。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 0 104857600 1 NO CLEARING 956570 28-7月 -06
2 1 15 104857600 1 NO CURRENT 957431 28-7月 -06
3 1 13 104857600 1 NO INACTIVE 881907 28-7月 -06
SQL>
分享到:
相关推荐
### 联机日志文件损坏后的恢复方法 在日常的数据库管理与维护工作中,遇到联机重做日志(Online Redo Log)文件损坏的情况并不少见。本文将详细介绍如何处理这一问题,并通过具体步骤指导您如何进行有效的恢复工作...
### ORACLE联机日志文件丢失或损坏的处理方法 #### 概述 在Oracle数据库管理过程中,联机重做日志(Online Redo Log)是数据库运行时记录所有事务更改的重要组成部分。当联机重做日志文件丢失或损坏时,可能会导致...
在Oracle数据库系统中,控制文件和联机日志是两个至关重要的组件,它们对于数据库的稳定运行和数据恢复起着核心作用。以下是关于这两个概念的详细说明: **控制文件** 控制文件是Oracle数据库中的一个特殊文件,...
- 提供恢复机制:对于意外删除或系统故障,可以利用联机重做日志文件实现数据恢复。 - 保证事务的一致性:确保在系统崩溃后能够通过日志文件恢复到一致的状态。 - **管理**: - 分组管理:通常至少有两个日志组,...
- **日志切换机制**:Oracle 使用多个联机重做日志文件,以确保其中一个文件正在被归档时,另一个文件仍可写入数据。这通过日志切换实现,即当当前日志文件满或达到一定条件时,系统会自动切换到下一个可用的日志...
5. 在 internal 或 sys 下运行创建控制文件的脚本,注意完整列出联机日志或数据文件的路径。 在创建控制文件的脚本中,需要指定数据库的名称、日志文件的路径、数据文件的路径等信息。例如: STARTUP NOMOUNT ...
- 针对损坏的日志文件,可能需要执行休眠联机日志,并删除重做日志文件,之后添加新的日志文件。 - 确保所有日志文件状态正常,以便后续的数据库启动与恢复操作。 #### 2. **数据库重启与重置** - 使用`alter ...
1. 完全恢复:当数据文件意外丢失或被删除时,若存在有效的物理备份并且有归档日志记录了所有更改,可以利用备份及归档日志和联机日志中的redo重做条目将数据文件恢复到故障点,确保数据无丢失。 2. 不完全恢复:若...
在Oracle归档模式下,丢失或损坏数据文件的恢复虽然复杂,但通过适当的备份策略和熟练的恢复技术,可以有效地将数据库恢复至故障前的状态,最大程度地减少数据损失和业务中断。这要求数据库管理员不仅要具备扎实的...
1. **Redo log files (联机日志或重做日志)**: 这些日志记录了所有对数据库的改变,无论是通过DML(数据操纵语言)如INSERT、UPDATE、DELETE,还是DDL(数据定义语言)如CREATE、ALTER、DROP。重做日志由多个逻辑组...
了解以上知识后,你还需要知道,虽然SQL Server数据恢复大师在很多情况下都能提供帮助,但并非所有数据损坏问题都能完全恢复。例如,如果物理文件损坏严重,或者没有可用的日志文件,恢复的成功率可能会降低。因此,...
Oracle11g提供了一套完整的恢复机制,包括联机日志(Redo Logs)、归档日志以及控制文件等。在数据恢复过程中,通常需要以下步骤: 1. **创建备份**:在任何恢复操作之前,确保有最新的数据库备份至关重要。这可以...
此外,在修复完成后,需要仔细检查数据库的日志文件,以确保日志文件已经正确恢复。 结论 SQL Server误删log_ldf文件是一个非常严重的问题,但通过以上解决方案,可以快速恢复数据库的日志文件,确保数据库的正常...
- 如果是当前联机日志损坏,处理方式取决于是否有未提交的事务。在归档模式下,如果日志中无未提交事务,可直接重建;如果有,需执行不完全恢复。 - 不完全恢复通常涉及`recover database until cancel`,先尝试...
对于未损坏的其他表空间,可能只需要恢复数据文件,而无需还原。 8. **重命名或移动数据文件**:如果数据文件在新位置,需要更新控制文件中的路径,然后使用ALTER DATABASE DATAFILE命令重命名或移动文件。 9. **...
一旦数据文件丢失或损坏,数据恢复将成为一项艰巨的任务,可能需要依赖备份来恢复数据。 #### 重做日志(Redo Logs) 重做日志文件记录了对数据库所做的所有更改,用于支持数据库的恢复操作。在数据库崩溃后,重做...
这个功能使得备份映像不仅包含数据库的数据文件,还包含了恢复数据库所必需的日志文件,从而确保在还原时能进行前滚恢复,即使原始的日志文件已损坏或丢失。 联机备份的基本概念是,在数据库正常运行的情况下进行...
"利用ORA文件恢复数据库"涉及的关键知识点主要包括Oracle数据库的备份与恢复策略、ORA文件的作用、数据库的启动与关闭模式以及如何处理损坏的数据文件。以下将详细介绍这些内容。 首先,ORA文件通常指的是Oracle的...
- 如果日志文件损坏,需要先执行checkpoint操作,然后激活联机日志。 - 从备份恢复所有数据库文件后,应用所有有效的重做日志,并最终打开数据库。 ##### 4. 数据库重启与验证 - **数据库重启**:完成所有恢复...
完成数据恢复后,需要确保数据库能够正常启动并提供服务。 #### 六、介质恢复实例 这部分详细介绍了多种介质恢复的具体案例,包括: - **数据文件丢失后的恢复** - **通过ADDDATAFILE操作进行恢复** - **恢复已...