CREATE OR REPLACE и ALTER PACKAGE являются операторами DDL, и каждый отдельный оператор DDL является дискретной транзакцией. COMMIT выдается до и после каждой команды DDL; поэтому отката для DDL нет.
Мне кажется, у вас проблема с управлением конфигурацией. И управление конфигурацией, плюс контроль исходного кода - это способ исправить это. Держите все ваши сценарии PL / SQL (черт возьми, только все ваши сценарии) под контролем версий. При развертывании новой версии некоторых программ на PL / SQL также проверьте предыдущие версии (в отдельном подкаталоге или в том, что имеет смысл в режиме вашего развертывания). Затем, если возникнут какие-либо проблемы с новыми версиями ваших пакетов, будет несложно переустановить старые версии.