diff --git a/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb b/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
index <HASH>..<HASH> 100644
--- a/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
+++ b/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
@@ -991,6 +991,8 @@ module ActiveRecord
         case @connection.error_code(exception)
         when 1
           RecordNotUnique.new(message)
+        when 942, 955
+          ActiveRecord::StatementInvalid.new(message)
         when 2291
           InvalidForeignKey.new(message)
         when 12899
Handle ORA-<I> and ORA-<I> as `ActiveRecord::StatementInvalid`
not `NativeException` by JRuby

<I>, <I>, "table or view does not exist"
<I>, <I>, "name is already used by an existing object"

Since rails/rails#<I> changes `translate_exception` to handle `RuntimeError` as exception