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 dismountedLooked 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 dismountedThen, 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 465First, 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...