Oracle: How to solve Oracle error ORA-01110

Oracle: How to solve Oracle error ORA-01110

This night, I was woken up by a customer who had an issue with his software. Daily business was running fine, but some background jobs had issues.

What was the problem?

The first error looked like that:

2025-07-25 02:15:21 NOTE: AMB1 (index:1) registering with ASM instance as Flex client 0xffffffffffffffff (reg:782884949) (startid:1185744404) (new connection)
2025-07-25 02:15:22
NOTE: ASMB (22724) dismounting group 1
WARNING: group 1 is being dismounted.
WARNING: ASMB force dismounting group 1 (DATA) due to failover
SUCCESS: diskgroup DATA was dismounted

Looked like a hickup as ASM was back after a few moments. But then, additional errors occurred:

table space files had not been reachable at around 02:15 am
SQL Error: ORA-01115: IO error reading block from file (block # )
ORA-01110: data file 257: '+DATA/<diskgroup>/<pdb>/DATAFILE/<tablespace>.439.1287454615'
ORA-15078: ASM diskgroup was forcibly dismounted

Then, some application jobs logged these errors:

ORA-01000: Maximum Open Cursors Exceeded
ORA-06512: in "SYS.DBMS_LOCK", line 443
ORA-06512: in "SYS.DBMS_LOCK", line 465

First, I thought that I simply have to increase parameter OPEN_CURSORS. It was set to 1000, and I set it to 2000. But it didn't solve the issue.

Then, I found these errors in database alert log:

ORA-01110: data file 123 ...

Error ORA-01110 says that this file need recovery. So I did it:

# rman target /
RMAN> recover datafile 123;

That was successful, and error ORA-01110 did not occur again. But application jobs still had problems.

So what to do after datafile recovery? Right: open the datafile!

# sqlplus / as sysdba
SQL> alter datafile 123 open;

After that, all the jobs were running fine...

Subscribe to Martin's Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe