(FAQ)UNDO表空间损坏导致数据库启动不了

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

(FAQ)UNDO表空间损坏导致数据库启动不了

【问题】: (FAQ)UNDO表空间损坏导致数据库启动不了
版本: 6.0
模块: 系统部署
【答复】:
原因分析: 4194错误通常说明UNDO段出现问题,最好的办法是通过备份进行恢复,如果没有备份,那么可以通过特殊的初始化参数进行强制启动 错误信息: ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [4194], [88], [78], [1], [], [], [], [] 解决方法: 方案一: 1.首先确定当前回滚段名称,这可以从alert文件中获得: Sat Jan 21 13:55:21 2006 Undo Segment 11 Onlined Undo Segment 12 Onlined Undo Segment 13 Onlined Successfully onlined Undo Tablespace 16. 2.对应的AUM (auto undo management) 下的回滚段名称为: '_SYSSMU11$','_SYSSMU12$','_SYSSMU13$' 3.修改init.ora参数文件,使用Oracle隐含参数_corrupted_rollback_segments将回滚段标记为损坏,此时启动数据库,Oracle会跳过对于这些回滚段的相关操作,强制启动数据库。 ._corrupted_rollback_segments='_SYSSMU11$','_SYSSMU12$','_SYSSMU13$' 4. 使用init.ora参数文件启动数据库: 5. 此时可以重新创建新的UNDO表空间,删除出现问题的表空间,修改参数文件,由参数文件生成新的spfile,重新启动数据库: SQL> create undo tablespace undotbs1 2 datafile '/opt/oracle/oradata/conner/undotbs1.dbf' size 10M; Tablespace created. SQL> alter system set undo_tablespace=undotbs1; System altered. SQL> drop tablespace undotbs2; Tablespace dropped 6. 修改参数文件,变更undo表空间,并取消_corrupted_rollback_segments设置: *.undo_tablespace='UNDOTBS1' 方案二: 1.先把参数文件undo_management管理模式改为MANUAL,然后重启数据库, 2.把数据库启动到MOUNT下 3.新建UNDO表空间 4.把参数undo_tablespace指向新建的表空间 5.把数据库DOWN下来 6.把undo_management管理模式改为AUTO 7.把undo_tablespace指向新创的UNDO表空间(如果重建的UNDO表空间名相同就不用修改) 8.启动数据库服务器

原因分析: 4194错误通常说明UNDO段出现问题,最好的办法是通过备份进行恢复,如果没有备份,那么可以通过特殊的初始化参数进行强制启动 错误信息: ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [4194], [88], [78], [1], [], [], [], [] 解决方法: 方案一: 1.首先确定当前回滚段名称,这可以从alert文件中获得: Sat Jan 21 13:55:21 2006 Undo Segment 11 Onlined Undo Segment 12 Onlined Undo Segment 13 Onlined Successfully onlined Undo Tablespace 16. 2.对应的AUM (auto undo management) 下的回滚段名称为: '_SYSSMU11$','_SYSSMU12$','_SYSSMU13$' 3.修改init.ora参数文件,使用Oracle隐含参数_corrupted_rollback_segments将回滚段标记为损坏,此时启动数据库,Oracle会跳过对于这些回滚段的相关操作,强制启动数据库。 ._corrupted_rollback_segments='_SYSSMU11$','_SYSSMU12$','_SYSSMU13$' 4. 使用init.ora参数文件启动数据库: 5. 此时可以重新创建新的UNDO表空间,删除出现问题的表空间,修改参数文件,由参数文件生成新的spfile,重新启动数据库: SQL> create undo tablespace undotbs1 2 datafile '/opt/oracle/oradata/conner/undotbs1.dbf' size 10M; Tablespace created. SQL> alter system set undo_tablespace=undotbs1; System altered. SQL> drop tablespace undotbs2; Tablespace dropped 6. 修改参数文件,变更undo表空间,并取消_corrupted_rollback_segments设置: *.undo_tablespace='UNDOTBS1' 方案二: 1.先把参数文件undo_management管理模式改为MANUAL,然后重启数据库, 2.把数据库启动到MOUNT下 3.新建UNDO表空间 4.把参数undo_tablespace指向新建的表空间 5.把数据库DOWN下来 6.把undo_management管理模式改为AUTO 7.把undo_tablespace指向新创的UNDO表空间(如果重建的UNDO表空间名相同就不用修改) 8.启动数据库服务器

(FAQ)UNDO表空间损坏导致数据库启动不了

【问题】: (FAQ)UNDO表空间损坏导致数据库启动不了版本: 6.0 模块: 系统部署【答复】:原因分析:4194错误通常说明UNDO段出现问题,最好...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息