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...