由于开发人员强制关闭数据库,导致数据文件不一致,并且采用的是老的备份方式,alter database begin backup的方式,由于以前有备份失败,一直没有end backup,启动数据库时,找很久前的归档,这些归档都已经被删除,无法启动数据库,尝试多种方式无效
利用*._allow_resetlogs_corruption=true
*._minimum_giga_scn=1 --此参数是将scn提前,提升scn,、_minimum_giga_scn=n的含义是把SCN往前推进到nG,但请注意,只有在SCN小于nG的时候才会用到这个隐含参数,反之则Oracle会置这个隐含参数于不顾。
select file#,CHECKPOINT_CHANGE# from v$datafile_header;
查询出来结果,除以1024/1024/1024 就得到要设置的参数
然后resetlogs方式打开数据库,打开后最好逻辑备份一下数据库,并检查一下物理文件的是否损坏,需要重新创建临时表空间
本文介绍了一种解决因不当关闭数据库而导致的数据文件不一致问题的方法。通过使用*_allow_resetlogs_corruption及*_minimum_giga_scn参数调整SCN,结合resetlogs方式重启数据库,解决了缺失归档日志的问题。
464





