Link to home
Start Free TrialLog in
Avatar of DallasDAF
DallasDAF

asked on

ORA 27070 followed by OS 04016

Hi,

I have been facing "i/O" errors trying to import data into my Oracle 10g database.
Initially the database files were hosted on a SAN volume, so I assumed it was a SAN issue.
So I switched to working on an eSATA drive. Same error.
So now... I am working on the INTERNAL drive (DELL PERC 6/i SCSI Disk Device) ! Same error!

The consistent error on the command prompt, and in the alert log is:

KCF: write/open error block=0x1289 online=1
     file=2 D:\ORACLEDATABASEFILES\AM791\UNDOTBS01.DBFX
     error=27070 txt: 'OSD-04016: Error queuing an asynchronous I/O request.
O/S-Error: (OS 31) A device attached to the system is not functioning.'

Wed Jan 06 12:30:11 2010
Errors in file d:\oracledatabasefiles\am791\admin\bdump\am791_dbw1_5572.trc:
ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
ORA-01114: IO error writing block to file 2 (block # 4745)
ORA-01110: data file 2: 'D:\ORACLEDATABASEFILES\AM791\UNDOTBS01.DBFX'
ORA-27070: async read/write failed
OSD-04016: Error queuing an asynchronous I/O request.
O/S-Error: (OS 31) A device attached to the system is not functioning.

I know that the DB in in noarchivelog mode, and the inability to recover doesn't bother me as much as the fact that the undo / system tablespace files just become invisible to my Oracle process. I can the files in windows explorer, they are right there!

What should I be looking at?
Avatar of David
David
Flag of United States of America image

Well, if any other program reported this issue, then the conclusion would be that the write is failing on block #4745, which means the target disk has error on that block, and the disk is out of spares, so it can't remap it.

I think in your situation, there is a bug in the program, and you are having a READ error in the file, which is root cause why it can't write.   physical block #4745 in input file is the problem.

Copy the file and rename it, using command-line, and see if it gives READ error.  This will confirm everything.


Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

Please explain what you mean by:  the undo / system tablespace files just become invisible to my Oracle process

At a high level it looks like you copied over a corrupt datafile.  Just continuing to copy if from disk to disk doesn't help.  It's corrupt to Oracle not the disk itself.
Avatar of DallasDAF

ASKER

@dlethe:
I create the database using the Oracle DBCA, no other program is using the file.
Also, this is the n-th time I have seen this error, and each time, it was a different block number.

@slightwv:
What I mean by 'undo/system tablespace becoming invisible' is that  I see ORA-01114, ORA-01110 and ORA-27070 errors, and the process is not able to write to / read from the files.

Also, sometimes it is the system01.dbfx in th error message, and sometimes it is undotbs01.dbfx.

As for copying the file, I haven't copied it. Created the DB using DBCA, and was importing data into it when I got this error.
Thanks for the clarification.

If you've seen these types of messages across several disk sub-systems, the problem might be with the OS drivers.

I checked with our sys admin and 2008 changed some async IO API's.  MSoft claims the old APIs will work but the preferred is something called overlapping async (I think that's what he said).

Just had a thought:
I'm not sure 10g is certified on Windows 2008.  I know 11g has a specific version for 2008.

This might be a general incompatibility issue.
I have another server with 10g running on 2008 with no issues at all!

In the mean time, what APIs should I be looking to fix/replace?

Don't know that you can 'fix' APIs.  I'm not a windows admin type but since you moved across 3 disk subsystems the problem has to be with Oracle or the OS itself.

With the message "O/S-Error: (OS 31) A device attached to the system is not functioning.", I'm leaning towards a problem with OS.

:) Logical conclusion. But given all these errors, my sys admins re-imaged the machine for me just a while ago.

Is there an Oracle patch I should be looking at? Want to be super-sure that the issue is not with the Oracle installation.
I don't know of a specific patch for this error.  I've used Oracle for 20+ years and I can't ever remember seeing those particular errors.

I would say that you should be at least on the same version of the machine that isn't causing you any problems.

Personally, I like to stay 1 one patchset behind unless the current one fixes a specific problem I'm having.
ASKER CERTIFIED SOLUTION
Avatar of it-rex
it-rex

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
If this was a transport-level bug, you would think it would complain about everything, regardless of the file name.  

Any chance you are dancing on the fence with the 2TB limit, or mixing source/target with MBR / GPT formatting?
it could be an antivirus too ;
that caused this locking.
but 75% it is a third party app locking the datafile.
I was using hyperbac for oracle (hence the extension  dbfx of the database files) for online compression. Turned off the hyperbac services and then created a regular oracle database, no I/O errors for a week now.
that is what I have told you @ ID: 26196253
it-rex: I do not know for sure if it was a locking issue or the plain fact that Hyperbac for Oracle did not deliver on its online feature. Have you seen prior cases where Hyperbac for Oracle caused the lock?
as I have told you refer to metalink;
they explain that lots of third party apps will cause this issue like backup apps especially if they do encryption.
there is not test case for your particular application;same happend with me ;
Oracle was talking about seagate agent for backup;while our issue was with veritas netbackup after enabling encryption.