ORA-01172 recovery of thread string stuck at block string of file stringCause: Crash recovery or instance recovery could not apply a change to a block because it was not the next change. This can happen if the block was corrupted and then repaired during recovery.Action: Do a RECOVER DATAFILE for the file containing the block. If this does not resolve the problem, then restore the file from a backup and recover it.
ORA-01172 recovery of thread string stuck at block string of file stringCause: Crash recovery or instance recovery could not apply a change to a block because it was not the next change. This can happen if the block was corrupted and then repaired during recovery.Action: Do a RECOVER DATAFILE for the file containing the block. If this does not resolve the problem, then restore the file from a backup and recover it.
你先把数据库1)shutdown 2)start mount 3)恢复损害的文件
设置字符集查看错误提示 alter session set nls_language=american查看是什么数据文件损坏了,如果是用户的数据文件,可以offline该数据文件
首先是数据库没有启动, SVRMGRL>CONNECT INTERNAL SVRMGRL>STARTUP MOUNT SVRMGRL>ALTER DATABASE OPEN; 查看错误的信息,最好先冷备分数据库。
C:>svrmgrl
SVRMGR>startup9i:
C:>Sqlplus system/manager
SQL>startup
看看在
控制面板 -> 管理工具 -> 服务 —> OracleServiceOraData 有没有启动~
(OraData 是数据库名,不同的机子都不同呀,在安装数据库时定的^&^)启动就可以了~
如果有什么出错的话~ 就直接打开 DBA Studio 用 system/manager 以 SysDBA 的身份登录。
(Oracle 8i 的话,最好用 internal/oracle 登录)之后选 例程-> 数据库 -> 启动 (然后单击"应用",就可以启动啦)
通常这种都是 Oracle 与 Windows 之间的"沟通"不够。
也就是说是 Oracle/Windows 的"老毛病".设置“自动”的话,是可以“自动”启动。
但如果显示"启动"之后,一直没有其它的反应的话,意思就是在启动的过程中出现错误。
不过,只是 Oracle 与 Windows 服务之间的问题,只要用以上方法来启动 Oracle 的话,
就没什么问题啦...还有一种,设置“手动”的话,也会出现错误,只要用以上的方法也可以搞定!
2)start mount
3)恢复损害的文件
alter session set nls_language=american查看是什么数据文件损坏了,如果是用户的数据文件,可以offline该数据文件
SVRMGRL>STARTUP MOUNT
SVRMGRL>ALTER DATABASE OPEN;
查看错误的信息,最好先冷备分数据库。
但是我不知道原理是什么
有知道的请告知.