Unable to access ehealth Oracle database after system back-up/anti-virus full system scan
All eHealth installations on Windows.
Oracle Database 10g,11G versions
In order to resolve this issue, you must know which control file is having the problems. In this example, the problematic file is CONTROL02.CTL.
To check which Control file is corrupt
Stop the ehealth server - nhServer stop
Login to the database -sqlplus sys/ehealth as sysdba
Stop the database - shutdown immediate
Start the database - startup
You should see the following
ORACLE instance started.
Total System Global Area 830472192 bytes
Fixed Size 2032520 bytes
Variable Size 746593400 bytes
Database Buffers 75497472 bytes
Redo Buffers 6348800 bytes
ORA-03113: end-of-file on communication channel
Errors in file /opt/oracle/admin/EHEALTH/bdump/EHEALTH_lgwr_14488.trc:** Location may vary based on oracle version ***
ORA-19502: write error on file "/eh_db/oradata/EHEALTH/control02.ctl", blockno 297 (blocksize=16384)
ORA-27063: number of bytes read/written is incorrect
Additional information: 24576
Additional information: 196608
LGWR: terminating instance due to error 19502
Instance terminated by LGWR, pid = 14488
Once we know which file is corrupt we follow the below mentioned steps
1. Stop the EHEALTH database (nhStopDb).
2. You must delete (or back-up) the problematic control file and copy another control file into it's place.
Example: (This command could be used if the control files reside in the same directories).
cp CONTROL01.ctl CONTROL2.ctl
3. After you've replace the problematic control file, you'll need to restart the database. (nhStopDb/nhStartDb).
There is a chance that there are other problems with datafiles status being set to Recover or Offline.