ora-01503
// *Cause: The size specified in bytes in the SIZE clause of the CREATE 
// CONTROLFILE statement does not equate to the number of blocks 
// recorded in the header.
// *Action: Specify the correct filename and size ( in bytes ).

解决方案 »

  1.   

    完全备份数据库
    创建表空间,创建表在该表空间
    保留日志,删除所有控制文件和数据文件
    拷贝回备份的数据文件和控制文件,恢复数据库
    SQL> recover database using backup controlfile until cancel;
    ORA-00279: change 8234343 generated at 06/11/2004 22:52:13 needed for thread 1
    ORA-00289: suggestion :
    /oracle/oradata/ora10g/flash_recovery_area/ORA10G/archivelog/2004_06_11/o1_mf_1_
    1112_%u_.arc
    ORA-00280: change 8234343 for thread 1 is in sequence #1112
    Specify log: {=suggested | filename | AUTO | CANCEL}
    /oracle/oradata/ora10g/ora10g/redo02.log
    ORA-00283: recovery session canceled due to errors
    ORA-01244: unnamed datafile(s) added to controlfile by media recovery
    ORA-01110: data file 7: '/oracle/oradata/ora10g/ora10g/t_file.dbf'
    ORA-01112: media recovery not started
    SQL> select name from v$datafile;NAME
    --------------------------------------------------------------------------------
    /oracle/oradata/ora10g/ora10g/system01.dbf
    /oracle/oradata/ora10g/ora10g/undotbs01.dbf
    /oracle/oradata/ora10g/ora10g/sysaux01.dbf
    /oracle/oradata/ora10g/ora10g/users01.dbf
    /oracle/oradata/ora10g/ora10g/test1.dbf
    /oracle/oradata/ora10g/ora10g/test2.dbf
    /opt/oracle/products/9.2.0/dbs/UNNAMED000077 rows selected.SQL> alter database create datafile '/opt/oracle/products/9.2.0/dbs/UNNAMED00007' as '/oracle/oradata/ora10g/ora10g/t_file.dbf';Database altered.SQL> select name from v$datafile;NAME
    --------------------------------------------------------------------------------
    /oracle/oradata/ora10g/ora10g/system01.dbf
    /oracle/oradata/ora10g/ora10g/undotbs01.dbf
    /oracle/oradata/ora10g/ora10g/sysaux01.dbf
    /oracle/oradata/ora10g/ora10g/users01.dbf
    /oracle/oradata/ora10g/ora10g/test1.dbf
    /oracle/oradata/ora10g/ora10g/test2.dbf
    /oracle/oradata/ora10g/ora10g/t_file.dbf7 rows selected.SQL> recover database;
    ORA-00283: recovery session canceled due to errors
    ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
    SQL> recover database using backup controlfile until cancel;
    ORA-00279: change 8234604 generated at 06/11/2004 23:17:26 needed for thread 1
    ORA-00289: suggestion :
    /oracle/oradata/ora10g/flash_recovery_area/ORA10G/archivelog/2004_06_11/o1_mf_1_
    1112_%u_.arc
    ORA-00280: change 8234604 for thread 1 is in sequence #1112
    Specify log: {=suggested | filename | AUTO | CANCEL}
    /oracle/oradata/ora10g/ora10g/redo02.log
    Log applied.
    Media recovery complete.
    SQL> alter database open resetlogs;Database altered.