Здравствуйте, уважаемые коллеги. Хочу поделиться сегодня с вами ситуацией, с которой столкнулся при подключении к базе данных Oracle 12c из стороннего клиентского приложения (архитектура клиент-сервер). При отладке приложения и запуске команды running fnd_nodes cleanup получил ошибку:
ERROR:
ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist SVR4 Error: 2: No such file or directory
При этом я вполне мог подключиться к базе данных и выполнить autoconfig на стороне базы. Но на стороне приложения все также вылетали ошибки и я не смог подключиться к БД из приложения. При этом база данных Oracle запущена и работает штатно.
Честно говоря, я не особо понял причину этой ошибки. Я проверил файлы XML и DBC, файл TNSNAME и listener, но я понять ничего не смог. Все в норме.
Причина ошибки ORA-01034 и ORA-2710
Поколупавшись еще немного в интернете и своих мозгах, я понял эти ошибки связаны с ограниченной сессией к базе данных (db restricted session). Для того, чтобы запустить adstats.sql в приложении, я должен был разрешить ограниченную сессию к ДБ (restricted session). Но я забыл закрыть ее после того, как запустил adstats.sql. Это и вызывало ошибки.
Как исправить ошибки ORA-01034 и ORA-2710
Просто я отключился от БД один раз (закрыл сессию), так как я не мог выяснить причину проблемы сразу в процессе устранения неполадок. После этого эта ошибка исчезла.
Также вы можете выполнить следующую команду, чтобы избежать этой ошибки и без необходимости в закрытии сессии:
SQL> alter disable restricted session;