Skip to main content

ORA-01122: database file 22 failed verification check

Today when I tried to restart my test database I got strange but known error.

SQL> startup  
 ORA-32004: obsolete and/or deprecated parameter(s) specified  
 ORACLE instance started.  
 Total System Global Area 5344731136 bytes  
 Fixed Size         2163168 bytes  
 Variable Size      2298482208 bytes  
 Database Buffers     3036676096 bytes  
 Redo Buffers        7409664 bytes  
 Database mounted.  
 ORA-01122: database file 22 failed verification check  
 ORA-01110: data file 22: '/u01/app/oracle/oradata/???/archive_tbs01.dbf'  
 ORA-01200: actual file size of 65536 is smaller than correct size of 402176 


After researching it means inconsistency of controlfile. So, we need recreate or restore it from backup.

Do one of the following:

SQL > alter database backup controlfile to trace;  
 Database altered.

or

 SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/u01/app/oracle/admin/PROD/bdump/controlfile.bkp';  
 Database altered. 

or

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/u01/app/oracle/admin/PROD/bdump/controlfile.trc';  
 Database altered. 

shutdown database and start it on nomount state:

SQL> shut immediate  
 ORA-01109: database not open  
 Database dismounted.  
 ORACLE instance shut down.

 SQL> startup nomount  
 ORA-32004: obsolete and/or deprecated parameter(s) specified  
 ORACLE instance started.  
 Total System Global Area 5344731136 bytes  
 Fixed Size         2163168 bytes  
 Variable Size      2298482208 bytes  
 Database Buffers     3036676096 bytes  
 Redo Buffers        7409664 bytes  
 SQL>


edit your trace file and try to create  --I created createnewcontrolfile.sql file


 SQL > @createnewcontrolfile.sql  
 CREATE CONTROLFILE REUSE DATABASE "???" RESETLOGS ARCHIVELOG  
   MAXLOGFILES 16  
   MAXLOGMEMBERS 3  
   MAXDATAFILES 100  
   MAXINSTANCES 8  
   MAXLOGHISTORY 2921  
 LOGFILE  
  GROUP 1 '/u01/app/oracle/oradata/???/redo1.log' SIZE 400M,  
  GROUP 2 '/u01/app/oracle/oradata/???/redo2.log' SIZE 400M,  
  GROUP 3 '/u01/app/oracle/oradata/???/redo3.log' SIZE 400M,  
  GROUP 4 '/u01/app/oracle/oradata/???/redo4.log' SIZE 400M,  
  GROUP 5 '/u01/app/oracle/oradata/???/redo5.log' SIZE 400M,  
  GROUP 6 '/u01/app/oracle/oradata/???/redo6.log' SIZE 400M  
 -- STANDBY LOGFILE  
 DATAFILE  
  '/u01/app/oracle/oradata/???/system01.dbf',  
 ...  
  '/u01/app/oracle/oradata/???/FCJ_DATA_TS_13.dbf'  
 CHARACTER SET AL32UTF8; 


At the end recover database using new controlfile

 SQL> recover database using backup controlfile

Now open the database and enjoy

 SQL> alter database open; 

Comments

Popular posts from this blog

Rman encryption and other techniques

Today I will demonstrate Recovery Manager features, especially encryption and some other techniques. First of all let me note about RMAN backup encryption. Staring from Oracle 10g RMAN now creates encrypted backups that cannot be restored by unauthorized people. There are 3 modes of backup encryption: * Transparent encryption * Password encryption * Dual-mode encryption using either transparent or password encryption All RMAN backups are not encrypted but you can encrypt any RMAN backup in the form of a backup set. In this tutorial I will show you how to configure Password encryption. Let`s finish talking and start to demonstrate. check parameters with "SHOW ALL" command, by default encryption is OFF RMAN> show all; RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTR...

ORA-03206: maximum file size of (5242880) blocks in AUTOEXTEND clause is out of range

Today when I want to change max size of datafile I got strange error. ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/MYDB/users01.dbf' AUTOEXTEND ON NEXT 1280K MAXSIZE 32GB ORA-03206: maximum file size of (5242880) blocks in AUTOEXTEND clause is out of range Here is reason: The maximum file size for an autoextendable file has exceeded the maximum number of blocks allowed. After research internet I found that instead of using 32GB we can use 32767M. (same values but in MB). Or you may use 31GB too. ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/MYDB/users01.dbf' AUTOEXTEND ON NEXT 1280K MAXSIZE 32767M;

Fix ORA-01139: RESETLOGS option only valid after an incomplete database recovery

While shutting down my TEST database process was hanged. Then I had to use shutdown abort. But when I wanted to start database it did not open. SQL> select name from v$database; NAME --------- TEST SQL> shut abort; ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 6597406720 bytes Fixed Size 2265664 bytes Variable Size 3204451776 bytes Database Buffers 3372220416 bytes Redo Buffers 18468864 bytes Database mounted. SQL> alter database open; alter database open * ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 6552 Session ID: 191 Serial number: 3  What`s wrong?  SQL> alter database open resetlogs; ERROR:    ORA-03114: not connected to ORACLE    SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Pr...