有时候我们经常碰到如下情况:
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打开了。
分享到:
相关推荐
在本故障处理中,由于没有归档日志,BBED被用来修改文件头,使数据文件能够跳过归档检查并在线恢复。BBED的使用涉及到编译以及特定命令的执行,例如`kscnwrp`,这个命令可能用于修改控制文件中的检查点信息。 2. **...
1. 日志文件格式:Oracle 8i日志文件有其特定的格式,通常包括日志文件头、重做记录集合、日志文件尾等部分。理解这些组成部分是分析日志文件的基础。 2. 重做记录结构:重做记录包含多个字段,例如事务标识符(TYP...
通过`ALTER TABLESPACE XXX BEGIN BACKUP`命令,Oracle会锁定数据文件头,这样即使在备份过程中发生了检查点,文件头的checkpoint SCN也不会被更新,而是仅增加checkpoint计数。这样做可以确保在恢复时从文件头的SCN...
`update.exe`可能就是用于更新DMP文件头部信息的程序,通过修改文件头中的版本信息,使其符合目标数据库的预期。 除了版本问题,数据库的定期备份也是非常关键的操作。`bakOracle.bat`、`mrpbackup.bat`和`...
3. **分析数据块**:分析数据文件头块中的信息,如通过`BBED>map`或`BBED>map/v`命令来查看更详细的信息。 4. **修改必要信息**:如果发现某些信息不正确或需要更新,可以使用BBED提供的功能进行修改。 5. **重新...
12. **检查点(Checkpoint)**: 在恢复完成后,执行checkpoint操作可以帮助更新数据文件的头信息,表示数据库已达到一致状态。 13. **重做日志组丢失或损坏**: 如果重做日志组丢失或损坏,可能需要从备份恢复,然后...
- 当数据库打开时,Oracle会比较控制文件中记录的数据文件信息与数据文件头的检查点号。若数据不一致,则提示需要进行介质恢复。这时,必须拷贝回数据文件的备份,然后开始恢复过程。 4. 湖北电力数据中心系统...
- **功能**: CKPT负责在检查点上发出DBWn信号,并使用检查点信息更新数据文件头和控制文件。 - **作用**: 提高数据的一致性和完整性。 ##### 2. 重做日志文件 - **定义**: 记录数据库更改的日志文件。 - **重要性*...
在Oracle数据库系统中,数据文件是存储数据的基本单元,它们由一系列的数据块组成。当数据库在执行读写操作时,会遇到"Oracle中数据文件坏块的验证与处理"这样的问题,这通常意味着数据文件中的某些块存在一致性错误...
2. 强制检查点:`ALTER SYSTEM CHECKPOINT` 命令可以立即完成所有未完成的事务,并更新数据文件头,以便在恢复时快速定位到数据库状态。 3. 添加在线重做日志组:`ALTER DATABASE ADD LOGFILE [GROUP 4]` 可以增加...
要恢复这个表的数据, 首先要在AUL中运行SCAN EXTENT命令, 因为Segment Header被格式化了, 所以Extent Map也可能丢失, 而Scan Extent则将扫描整个数据文件并将Extent分配信息写入AULEXT.TXT文件: AUL> SCAN EXTENT ...
更新数据文件头以指示最近的检查点 - F. 如果数据块尚未存在于数据库缓冲区缓存中,则读取这些块 **正确答案是C和D。** **知识点解析:** - **更新操作的生命周期:** 当第一次在实例启动后执行UPDATE操作时,...
5. **修改数据文件头做完全恢复-bbed3.pdf**:数据文件头包含了文件的重要元数据,如果损坏可能会影响整个数据库的可用性。此文件可能会指导如何使用BBED修复数据文件头,确保数据库的完整性和一致性。 6. **Oracle...
- `ora_ckpt_ORCL`:检查点进程,更新数据文件头以记录系统的当前状态。 - `ora_reco_ORCL`:恢复进程,处理分布式事务的回滚和恢复。 2. **查看数据库实例状态**: 使用SQL查询`SELECT instance_name, status, ...
1. **Oracle数据库架构**:讲解Oracle数据库的核心组成部分,如表空间、数据文件、控制文件、重做日志、实例和数据库的关系等,以及如何创建和管理这些对象。 2. **SQL语言基础**:包括数据查询(SELECT)、数据...
3. **运行BBED**:编译完成后,通过命令行启动BBED,通常格式为`bbedit <database instance> <data file>`,其中`<database instance>`是数据库实例名,`<data file>`是需要查看或编辑的数据文件。 4. **查看与修改...
1. 数据库关闭:在关闭数据库进行备份前,不应使用的命令是`SHUTDOWN ABORT`,因为这会导致不完全的事务回滚,可能使数据库在下次启动时需要恢复。 2. 角色定义:用户不能为具有对象权限的角色设置默认值,因为对象...
- `ora_ckpt_PPRD10`:检查点进程(Checkpoint),标记数据库的当前状态并更新数据文件头,以确保崩溃后的快速恢复。 这些进程都是Oracle数据库正常运行所必需的,通过监控它们的状态,可以了解数据库的健康状况。 ...
总的来说,Oracle 10g bbed库文件是数据库维护和故障排除过程中不可或缺的一部分,它为DBA提供了一种直接与数据库底层交互的手段,有助于快速定位和修复数据文件中的问题,从而保证数据库的正常运行和数据的完整性。
- CKPT(Checkpoint):在检查点时更新数据文件头,标记检查点状态。 3. **会话与PGA(Program Global Area)**:会话是用户与Oracle服务器之间的连接,从连接建立到断开就是一次会话的生命周期。PGA是每个服务器...