`
itspace
  • 浏览: 978588 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle 不完全恢复命令在数据文件头修改了什么?

 
阅读更多
有时候我们经常碰到如下情况:
SQL> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/lank/db/lank/system01.dbf'
ORA-01207: file is more recent than control file - old control file
但是检查数据文件头和控制文件头的checkpoint change和checkpoint count均处于一致状态,只有当发起如下命令之后,但并没有真正应用日志,数据库才能open read only。
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 10999733114786 generated at 10/13/2011 09:30:32 needed for
thread 1
ORA-00289: suggestion : /lank/db/arch/1_45_762364447.dbf
ORA-00280: change 10999733114786 for thread 1 is in sequence #45


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SQL> alter database open read only;

Database altered.

经过后台跟踪发现,原来数据库要read only或者read write打开,仅仅数据文件头和控制文件头的checkpoint change和checkpoint count均处于一致状态是不够的,还需要控制文件头的control seq大于数据文件头的control seq,而until cancel正是将数据文件头的control seq重置为0。
ub4 kccfhcsq                          @40       0x00000001
另外Oracle还会在数据文件头144号位置修改,但此处可以忽略
ub4 kcvfhrts                             @144      0x2d901a51
重置为0之后,需要注意的是数据库需要resetlogs打开了。
分享到:
评论

相关推荐

    BLOG_【故障处理】Oracle_lhr_DG环境主库丢失归档情况下数据文件的恢复.pdf

    在本故障处理中,由于没有归档日志,BBED被用来修改文件头,使数据文件能够跳过归档检查并在线恢复。BBED的使用涉及到编译以及特定命令的执行,例如`kscnwrp`,这个命令可能用于修改控制文件中的检查点信息。 2. **...

    论文研究-Oracle8i数据库日志文件的分析与恢复.pdf

    1. 日志文件格式:Oracle 8i日志文件有其特定的格式,通常包括日志文件头、重做记录集合、日志文件尾等部分。理解这些组成部分是分析日志文件的基础。 2. 重做记录结构:重做记录包含多个字段,例如事务标识符(TYP...

    Oracle数据库的备份与恢复

    通过`ALTER TABLESPACE XXX BEGIN BACKUP`命令,Oracle会锁定数据文件头,这样即使在备份过程中发生了检查点,文件头的checkpoint SCN也不会被更新,而是仅增加checkpoint计数。这样做可以确保在恢复时从文件头的SCN...

    Oracle数据库版本号修改以及定时备份工具.rar

    `update.exe`可能就是用于更新DMP文件头部信息的程序,通过修改文件头中的版本信息,使其符合目标数据库的预期。 除了版本问题,数据库的定期备份也是非常关键的操作。`bakOracle.bat`、`mrpbackup.bat`和`...

    非常规恢复使用BBED跳过归档

    3. **分析数据块**:分析数据文件头块中的信息,如通过`BBED&gt;map`或`BBED&gt;map/v`命令来查看更详细的信息。 4. **修改必要信息**:如果发现某些信息不正确或需要更新,可以使用BBED提供的功能进行修改。 5. **重新...

    Oracle恢复流程图

    12. **检查点(Checkpoint)**: 在恢复完成后,执行checkpoint操作可以帮助更新数据文件的头信息,表示数据库已达到一致状态。 13. **重做日志组丢失或损坏**: 如果重做日志组丢失或损坏,可能需要从备份恢复,然后...

    Oracle数据库备份恢复技术研究及数据库两级备份模式的实现.pdf

    - 当数据库打开时,Oracle会比较控制文件中记录的数据文件信息与数据文件头的检查点号。若数据不一致,则提示需要进行介质恢复。这时,必须拷贝回数据文件的备份,然后开始恢复过程。 4. 湖北电力数据中心系统...

    ORACLE数据库帐套备份与恢复(高级)

    - **功能**: CKPT负责在检查点上发出DBWn信号,并使用检查点信息更新数据文件头和控制文件。 - **作用**: 提高数据的一致性和完整性。 ##### 2. 重做日志文件 - **定义**: 记录数据库更改的日志文件。 - **重要性*...

    Oracle中数据文件坏块的验证与处理.pdf

    在Oracle数据库系统中,数据文件是存储数据的基本单元,它们由一系列的数据块组成。当数据库在执行读写操作时,会遇到"Oracle中数据文件坏块的验证与处理"这样的问题,这通常意味着数据文件中的某些块存在一致性错误...

    oracle里常用命令

    2. 强制检查点:`ALTER SYSTEM CHECKPOINT` 命令可以立即完成所有未完成的事务,并更新数据文件头,以便在恢复时快速定位到数据库状态。 3. 添加在线重做日志组:`ALTER DATABASE ADD LOGFILE [GROUP 4]` 可以增加...

    oracle恢复工具-FY_Recover_Data

    要恢复这个表的数据, 首先要在AUL中运行SCAN EXTENT命令, 因为Segment Header被格式化了, 所以Extent Map也可能丢失, 而Scan Extent则将扫描整个数据文件并将Extent分配信息写入AULEXT.TXT文件: AUL&gt; SCAN EXTENT ...

    oracle 1z0-042题库

    更新数据文件头以指示最近的检查点 - F. 如果数据块尚未存在于数据库缓冲区缓存中,则读取这些块 **正确答案是C和D。** **知识点解析:** - **更新操作的生命周期:** 当第一次在实例启动后执行UPDATE操作时,...

    Oracle BBED 课件

    5. **修改数据文件头做完全恢复-bbed3.pdf**:数据文件头包含了文件的重要元数据,如果损坏可能会影响整个数据库的可用性。此文件可能会指导如何使用BBED修复数据文件头,确保数据库的完整性和一致性。 6. **Oracle...

    linux中oracle的日常维护命令.docx

    - `ora_ckpt_ORCL`:检查点进程,更新数据文件头以记录系统的当前状态。 - `ora_reco_ORCL`:恢复进程,处理分布式事务的回滚和恢复。 2. **查看数据库实例状态**: 使用SQL查询`SELECT instance_name, status, ...

    oracle 帮助文档 带sqlplus命令

    1. **Oracle数据库架构**:讲解Oracle数据库的核心组成部分,如表空间、数据文件、控制文件、重做日志、实例和数据库的关系等,以及如何创建和管理这些对象。 2. **SQL语言基础**:包括数据查询(SELECT)、数据...

    oracle bbed安装配置

    3. **运行BBED**:编译完成后,通过命令行启动BBED,通常格式为`bbedit &lt;database instance&gt; &lt;data file&gt;`,其中`&lt;database instance&gt;`是数据库实例名,`&lt;data file&gt;`是需要查看或编辑的数据文件。 4. **查看与修改...

    Oracle试题.pdf

    1. 数据库关闭:在关闭数据库进行备份前,不应使用的命令是`SHUTDOWN ABORT`,因为这会导致不完全的事务回滚,可能使数据库在下次启动时需要恢复。 2. 角色定义:用户不能为具有对象权限的角色设置默认值,因为对象...

    linux中oracle的日常维护命令.pdf

    - `ora_ckpt_PPRD10`:检查点进程(Checkpoint),标记数据库的当前状态并更新数据文件头,以确保崩溃后的快速恢复。 这些进程都是Oracle数据库正常运行所必需的,通过监控它们的状态,可以了解数据库的健康状况。 ...

    oracle10g bbed 库文件

    总的来说,Oracle 10g bbed库文件是数据库维护和故障排除过程中不可或缺的一部分,它为DBA提供了一种直接与数据库底层交互的手段,有助于快速定位和修复数据文件中的问题,从而保证数据库的正常运行和数据的完整性。

    oracle笔记.docx

    - CKPT(Checkpoint):在检查点时更新数据文件头,标记检查点状态。 3. **会话与PGA(Program Global Area)**:会话是用户与Oracle服务器之间的连接,从连接建立到断开就是一次会话的生命周期。PGA是每个服务器...

Global site tag (gtag.js) - Google Analytics