数据文件损坏,并且没有被封,如何修复? 使用select * from v$datafile发现数据文件aa.dbf的status字段值为Recover,enabled的字段值为disabled。而且aa.dbf中包含有segment:segs,查看segment的status值为recover,无法把它变成offline。快来帮帮我。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.oradb.net/err/error_007.htm 看下这个:1、最好做一个物理的库的全备2、使用sqlplus 启动库至mount sqlplus /nolog sql>connect internal sql>startup mount3、确保所有的数据文件都处于"END BACKUP"状态 sql>set pages 0 feedback off lines 132 sql>spool alter_df.sql sql>SELECT 'alter database datafile '||file_name||' END BACKUP;' from v$datafile; sql>spool off sql>@alter_df.sql4、试着打开数据库 sql>alter database open; 如数据库成功打开,余下的都不需要做了,到此为止5、如果你在打开时被要求进行恢复,使用"UNTIL CANCEL"这种进行恢复,然后再发出ALTER DATABASE OPEN RESETLOGS这个命令 sql>recover database until cancel; sql>alter database open resetlogs;6、如果数据库仍不能打开,把库down掉 sql>shutdown immediate7、在init<sid>.ora中加入如下参数 _allow_resetlogs_corruption=TRUE8、执行如下语句 sql>connect internal sql>startup mount sql>@alter_df.sql sql>alter database open9、如在alter database open时仍旧报错,使用until cancel恢复 sql>recover database until cancel; sql>alter database open resetlogs;10、经过"9",数据库一定被打开了,数据库被打开后,马上执行一个full export11、down掉库,去掉_all_resetlogs_corrupt参数12、重建库13、import并完成恢复14、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;如果再不行,只能把这些数据文件OFFLINE掉SVRMGRL> connect internal;SVRMGRL> SHUTDOWN IMMEDIATE; -- or NORMALSVRMGRL> STARTUP MOUNT;SVRMGRL> alter database datafile '/u/ddd.dbf' offline drop;SVRMGRL> ALTER DATABASE OPEN ; 多个or条件不走索引,求解 安装oracle遇到问题,请指教 spool导出数据文件中字段间空白大问题 sqlplus oracle异机恢复 创建多表无关联试图 Oracle 行级触发器的一个问题,恳请各位帮忙 oracle10在windows2003下的安装 这句话如何写啊? oracle 8i net8 assistant 配置监听为仕么提示我“为TCP协议提供的信息正在当前由其他监听程序使用?” oracle 9i标准版能不能装rac 高分求高效的SQL语法,在线等待,高手请进!!!!!!!!!!!!
1、最好做一个物理的库的全备
2、使用sqlplus 启动库至mount
sqlplus /nolog
sql>connect internal
sql>startup mount
3、确保所有的数据文件都处于"END BACKUP"状态
sql>set pages 0 feedback off lines 132
sql>spool alter_df.sql
sql>SELECT 'alter database datafile '||file_name||' END BACKUP;' from v$datafile;
sql>spool off
sql>@alter_df.sql
4、试着打开数据库
sql>alter database open;
如数据库成功打开,余下的都不需要做了,到此为止
5、如果你在打开时被要求进行恢复,使用"UNTIL CANCEL"这种进行恢复,然后再发出ALTER DATABASE OPEN RESETLOGS这个命令
sql>recover database until cancel;
sql>alter database open resetlogs;
6、如果数据库仍不能打开,把库down掉
sql>shutdown immediate
7、在init<sid>.ora中加入如下参数
_allow_resetlogs_corruption=TRUE
8、执行如下语句
sql>connect internal
sql>startup mount
sql>@alter_df.sql
sql>alter database open
9、如在alter database open时仍旧报错,使用until cancel恢复
sql>recover database until cancel;
sql>alter database open resetlogs;
10、经过"9",数据库一定被打开了,数据库被打开后,马上执行一个full export
11、down掉库,去掉_all_resetlogs_corrupt参数
12、重建库
13、import并完成恢复
14、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;如果再不行,只能把这些数据文件OFFLINE掉SVRMGRL> connect internal;
SVRMGRL> SHUTDOWN IMMEDIATE; -- or NORMAL
SVRMGRL> STARTUP MOUNT;
SVRMGRL> alter database datafile '/u/ddd.dbf' offline drop;
SVRMGRL> ALTER DATABASE OPEN ;