Cause:
The problem occurred every time sqlplus was launched by the 'root' OS user, as part of running some database monitoring tasks/queries.
[root@db ~]# export ORACLE_SID=db1
[root@db ~]# export ORACLE_HOME=/opt/oracle/product/11.2.0.3
[root@db ~]# $ORACLE_HOME/bin/sqlplus
[root@db ~]# $ORACLE_HOME/bin/sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul 11 10:26:43 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter user-name: enazmmo
Enter password:
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-01115: IO error reading block from file (block # )
ORA-01110: data file 1: '+DATA/db1_dg/datafile/system.263.844443823'
ORA-15081: failed to submit an I/O operation to a disk
In the alert log file:
Errors in file /opt/oracle/diag/rdbms/db1_dg/db1/trace/db1_ora_2577.trc:
ORA-15186: ASMLIB error function = [asm_init], error = [18446744073709551611], mesg = [Driver not installed]
ERROR: error ORA-15186 caught in ASM I/O path
Solution:
Do not launch sqlplus as the 'root' user. Instead log to the server as the Oracle software owner, before launching sqlplus.