Во-первых, ваша схема не должна быть DEV. DEV является пользователем или ролью. Ваше имя схемы должно быть связано с содержимым данных (например, СЧЕТЧИКИ ИЛИ ПРОДАЖИ)
Во-вторых, подумайте, решите ли вы или заказчик имя схемы. Скажем, у вас есть продукт под названием FLINTSTONE. Вы можете решить, что имя схемы должно быть FLINTSTONE. Однако ваш клиент может захотеть запустить два экземпляра вашего продукта (например, один для местных продаж, другой для международных) и использовать одну и ту же базу данных. Поэтому им нужны FS_LOCAL и FS_INTER в качестве имен схем. Является ли этот параметр особенностью вашего продукта?
Затем решите, должно ли ваше приложение подключаться как владелец схемы. Есть хорошие причины безопасности для НЕ делать это. Например, владелец схемы имеет привилегии для удаления таблиц, что, как правило, не является чем-то, что приложение не делает, и, следовательно, по принципу наименьших привилегий - это то, что ваше приложение не должно иметь привилегий.
Как правило, я бы рекомендовал какой-либо параметр конфигурации для приложения для имени схемы, и после подключения к базе данных приложение должно выполнить «ALTER SESSION SET CURRENT_SCHEMA =», какой бы он не был конфигурационным файлом ». Пользователю базы данных приложения потребуются соответствующие права на вставку/обновление/удаление/выбор/выполнение объектов в схеме приложения. Если приложение не может этого сделать, у вас может быть триггер LOGON в базе данных.