诗檀软件专业数据库修复团队
Versions 9.2, 10.1, 10.2, 11.1, 11.2, 12.1
Error: ORA-01172 recovery of thread %s stuck at block %s of file %s
---------------------------------------------------------------------------
Cause: 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 ORA-1172 是当oracle在做crash recovery或instance recovery 既前滚时发现无法有效应用日志到一个数据块上时,常发现于oracle数据块本身损坏或者oracle redo重做日志损坏时。
ORA-01172 ORA-1172常见的一些bug包括:
| NB |
Prob |
Bug |
Fixed |
Description |
|
II |
19445860 |
12.2.0.0 |
ORA-1172 or ORA-600 [3020] Stuck recovery in RAC after attempted block rebuild |
|
- |
2724548 |
9.2.0.4, 10.1.0.2 |
ORA-1172 stuck recovery possible |
|
- |
3635331 |
9.2.0.6, 10.1.0.4 |
Stuck recovery (OERI:3020) / ORA-1172 on startup after a crash |
|
- |
2169363 |
9.0.1.3, 9.2.0.1 |
ORA-1172 possible after instance is evicted from the cluster |
在遇到上述问题后可以尝试如下操作:
SQL> shutdown;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 1073741824 bytes
Fixed Size 1253124 bytes
Variable Size 511705340 bytes
Database Buffers 553648128 bytes
Redo Buffers 7135232 bytes
Database mounted.
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
如果能解决问题,那么最好,否则一般需要专业人士使用特殊手段恢复。