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