Да, но это невероятно сложно сделать правильно.
Замена драйверов базы данных - это просто. Если вы используете PDO, вы можете подключиться к различным драйверам базы данных, передав другой DSN. У PDO есть драйверы для SQLite, MySQL, PostgreSQL, Firebird, DB2, Microsoft SQL Server, Oracle, ODBC-устройств и, возможно, некоторых других, о которых я забыл. Если вы используете его разумно, используя подготовленные операторы и тому подобное, вам даже не придется беспокоиться о том, что разные базы данных имеют разные правила экранирования.
Этого недостаточно.
MySQL и Oracle не говорят на одном диалекте SQL. Они не имеют одинаковых функций и возможностей. Их общие черты работают по-разному. У них разные рабочие характеристики. Индексация отличается. Различия разные. Даже базовые вещи, такие как ссылки на таблицы или типы полей, которые вы можете использовать, могут существенно различаться в разных базах данных.
Даже если вам удалось все это абстрагировать и придумать какое-то общее подмножество функций, которые вы могли бы использовать, скорее всего, ваше приложение будет работать медленно в обеих базах данных. Чтобы получить приличную производительность от любой из этих вещей, вам нужно знать, как они работают, и вам нужно использовать специальные функции, которые они предлагают.
Чтобы использовать все преимущества каждой базы данных, обычно требуется немного изменить модель данных. Особенно с MySQL и Oracle, которые почти так же различны, как две базы данных.
Чем дальше располагаются модели данных, тем труднее становится убедиться, что ваше приложение действительно работает в обеих базах данных. Также становится сложнее переносить данные между базами данных.
Это, конечно, не невозможно, но это много работы.