Thursday 2 August 2018

ORA-27048: skgfifi: file header information is invalid | Oracle 11g

ORA-27048: skgfifi: file header information is invalid


ORA-01503: CREATE CONTROLFILE failed | ORA-01565: error in identifying file | ORA-27048: skgfifi: file header information is invalid

ORA-27048: skgfifi: file header information is invalid

This post is regarding a corruption issue which occurred at one of my Client's site. To understand the scenarios, this is what actually happened,

A VM with pre-installed DB Environment was brought from some Source Site. Since the size of the VM was huge, it was first compressed and then broken into smaller pieces. Those pieces were shipped to the Target Site where again the pieces were merged and uncompressed to restore the VM. In this complete process, somehow the corruption occurred. When we started to bring the database up it failed to even mount the database and this is what we found in the Alert Log.


starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Wed Jul 25 10:00:17 2018
MMNL started with pid=16, OS id=10548
starting up 1 shared server(s) ...
ORACLE_BASE from environment = c:\Oracle
Wed Jul 25 10:00:23 2018
ALTER DATABASE   MOUNT
ORA-00210: cannot open the specified control file
ORA-00202: control file: 'E:\ORADATA\ORCL\CONTROL03.CTL'
ORA-27048: skgfifi: file header information is invalid
OSD-04001: invalid logical block size
ORA-00210: cannot open the specified control file
ORA-00202: control file: 'E:\ORADATA\ORCL\CONTROL02.CTL'
ORA-27048: skgfifi: file header information is invalid
OSD-04001: invalid logical block size
ORA-00210: cannot open the specified control file
ORA-00202: control file: 'E:\ORADATA\ORCL\CONTROL01.CTL'
ORA-27048: skgfifi: file header information is invalid
OSD-04001: invalid logical block size
Wed Jul 25 10:00:25 2018
Checker run found 3 new persistent data failures
ORA-205 signalled during: ALTER DATABASE   MOUNT...
Wed Jul 25 10:00:49 2018

Thinking that the Control file might have corrupted, I tried to create new Control Files using the CREATE CONTROLFILE query from Controlfile Trace Copy and after running the same, this happened,


CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS  NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01565: error in identifying file 'E:\ORADATA\ORCL\SYSTEM01.DBF'
ORA-27048: skgfifi: file header information is invalid
OSD-04001: invalid logical block size

So it was clear that the Controlfiles as well as Datafiles were also corrupted. Now in such scenarios, the corruption can be at OS level i.e. File System might had corrupted data blocks OR the corruption was inside DB Files.

WORKAROUND:

If the same issue is troubling you, please perform the below mention alternatives to resolve your issue:

1) If the corruption is at OS Level,

For Linux/UNIX - fix it using FSCK
For Windows - You can use Disk Checking Utility or any other software (If still confused, consult some OS Technical person)

2) If the corruption is at DB Level,

Make sure you have the RMAN Backup available with you for complete database as well as controlfile. If the backups are available, first of all restore the controlfiles and then restore and recover the datafiles.

In my case, this was just a Test Environment. But if the same happens in PROD, make sure you are always equipped with the latest backups or you can be in trouble.

I hope this helps !!

No comments:

Post a Comment