Avatar of BJTurner
BJTurner
 asked on

Oracle Error with Informatica - ORA-01114: IO error writing block to file %s (block # %s)

We have processes that run within Informatica that perform transformations on data using SQL.  An error occurred tonight that is now causing our workflows to fail.  I've pulled this information from the log file:

---START LOG---
Severity      Timestamp      Node      Thread      Message Code      Message
ERROR      2/26/2009 10:06:14 PM      node01_odwepp00      LKPDP_7:READER_1_1      RR_4035      SQL Error [
ORA-01114: IO error writing block to file %s (block # %s)

Database driver error...
Function Name : Execute
SQL Stmt : SELECT OCCURRENCE_NUMBER,PRODUCT_ACCOUNT_ID,PRCMP_CODE FROM PRD_ACCT_CMP ORDER BY PRODUCT_ACCOUNT_ID,PRCMP_CODE,OCCURRENCE_NUMBER
Oracle Fatal Error].
---END LOG---

I've been doing some research on other boards, including this one, and it seems the ORA-01114 error means one of two things:  not enough temporary space is available to run the query and/or the server is down.

The server is not down as I am able to log in/out, run queries outside of the tool, etc.  Also, within this statement (ORA-01114: IO error writing block to file %s (block # %s)) it should give me a file_id for the tablespace it's using.  Other examples I have seen where this statement looks like this:

ORA-01114: IO error writing block to file 4 (block # 123456)

This statement specifically says 'file 4' but the error message we are getting says 'file %s'  What does that mean exactly and how can I translate that back to the name/id of the tablespace it's trying to use?

The version of Oracle that is being used is 9i.

Oracle DatabaseEnterprise Software

Avatar of undefined
Last Comment
BJTurner

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
FVER

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
schwertner

In 9i very often the temporary tablespace do not shrink and stays with huge size.
This is a bug.
The workaround is as mentioned by FVER - create a new temp tablespace and drop the old one.

You can also investigate the location of the bad block so:

SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents
WHERE file_id = 4
and block_id = 123456;

Very often the wrong blocks are in index.
If it is so recreate the index.

BJTurner

ASKER
Thanks FVER!  Your solution worked with creating another temp tablespace
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy