ORA-01122,ORA-01110:ORA-01200错误处理

http://hi.baidu.com/dbconsole/blog/item/1f46d189832220bb0e244463.html

Sql代码
  1. SQL> startup   
  2. ORACLE 例程已经启动。   
  3. Total System Global Area  588324464 bytes   
  4. Fixed Size                   454256 bytes   
  5. Variable Size             293601280 bytes   
  6. Database Buffers          293601280 bytes   
  7. Redo Buffers                 667648 bytes   
  8. 数据库装载完毕。   
  9. ORA-01122: 数据库文件 2 验证失败   
  10. ORA-01110: 数据文件 2: 'D:/ORACLE/ORADATA/JSYADC/UNDOTBS01.DBF'  
  11. ORA-01200: 43520的实际文件大小小于46720块的正确大小  

主要是由于非正常关机或者磁盘损坏导致undotbs01文件损坏。
修改pfile中undo的相关信息
*.undo_management='MANUAL'
*.undo_tablespace='SYSTEM'
以pfile启动到mount状态
Sql代码
  1. SQL> startup mount pfile='/oracle/p1.ora'  
  2. ORACLE instance started.   
  3. Total System Global Area 303531576 bytes   
  4. Fixed Size                   742968 bytes   
  5. Variable Size             285212672 bytes   
  6. Database Buffers           16777216 bytes   
  7. Redo Buffers                 798720 bytes   
  8. Database mounted.   
  9. SQL>  

查看rollback segments信息。
Sql代码
  1. SQL> select segment_name,tablespace_name,status from dba_rollback_segs;   
  2. SEGMENT_NAME                   TABLESPACE_NAME                STATUS   
  3.   
  4. ------------------------------ ------------------------------ ----------------   
  5. SYSTEM                         SYSTEM                         ONLINE   
  6. _SYSSMU1$                      UNDOTBS0                       OFFLINE   
  7. _SYSSMU2$                      UNDOTBS0                       OFFLINE   
  8. _SYSSMU3$                      UNDOTBS0                       OFFLINE   
  9. _SYSSMU4$                      UNDOTBS0                       OFFLINE   
  10. _SYSSMU5$                      UNDOTBS0                       OFFLINE   
  11. _SYSSMU6$                      UNDOTBS0                       OFFLINE   
  12. _SYSSMU7$                      UNDOTBS0                       OFFLINE   
  13. _SYSSMU8$                      UNDOTBS0                       OFFLINE   
  14. _SYSSMU9$                      UNDOTBS0                       OFFLINE   
  15. _SYSSMU10$                     UNDOTBS0                       OFFLINE   
  16. SEGMENT_NAME                   TABLESPACE_NAME                STATUS   
  17. ------------------------------ ------------------------------ ----------------   
  18. _SYSSMU11$                     UNDOTBS0                       NEEDS RECOVERY   
  19. _SYSSMU12$                     UNDOTBS0                       NEEDS RECOVERY  

从这里面可以看到,_SYSSMU11$,_SYSSMU12$这两个数据段need recovery,我们需要通过隐患参数_corrupted_rollback_segments,丢弃这两个段。
在之前的pfile中,增减下列信息
_corrupted_rollback_segments=(_SYSSMU11$,_SYSSMU12$)
Sql代码
  1. SQL> startup restrict pfile='/oracle/p1.ora';   
  2. ORACLE instance started.   
  3. Total System Global Area 303531576 bytes   
  4. Fixed Size                   742968 bytes   
  5. Variable Size             285212672 bytes   
  6. Database Buffers           16777216 bytes   
  7. Redo Buffers                 798720 bytes   
  8. Database mounted.   
  9. Database opened.   
  10. #Drop掉旧的undo表空间   
  11. SQL> drop tablespace undotbs0 including contents;   
  12. Tablespace dropped.   
  13. #建立新的undo表空间   
  14. SQL> create undo tablespace undotbs1 datafile '/oracle/oradata/oratest/undotbs1.dbf' size 150M autoextend on;   
  15. Tablespace created.   
  16. SQL> shutdown immediate;   
  17. Database closed.   
  18. Database dismounted.   
  19. ORACLE instance shut down.   
  20. SQL>  

修改pfile
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
并删除_corrupted_rollback_segments=(_SYSSMU11$,_SYSSMU12$)
Sql代码
  1. SQL> startup pfile='/oracle/p1.ora'  
  2. ORACLE instance started.   
  3. Total System Global Area 303531576 bytes   
  4. Fixed Size                   742968 bytes   
  5. Variable Size            285212672 bytes   
  6. Database Buffers           16777216 bytes   
  7. Redo Buffers                 798720 bytes   
  8. Database mounted.   
  9. Database opened.   
  10. SQL> create spfile from pfile='/oracle/p1.ora';   
  11. File created.   
  12. SQL>  

你可能感兴趣的:(oracle,sql,数据库,System,360,磁盘)