Как и в комментарии, oid rowid являются буквенно-цифровыми, поэтому их нельзя привести к целому числу.
Кроме того, вы не должны использовать сгенерированный rowid где-либо в вашем коде.Это не первичный ключ, который вы определили в таблице.
В MS SQL есть возможность объявить столбец как первичный ключ, который автоматически увеличивается.Это функциональность, которая не работает в Oracle.
Что я всегда делаю (независимо от того, поддерживает ли БД автоинкремент):
select sequenceName.nextval from dual
Значение, возвращаемое предыдущимоператор используется в качестве первичного ключа для оператора вставки.
insert into something (pk, ...) values (:pk,:.....)
Таким образом, мы всегда имеем pk после вставки.