Кодът на опция 2 работи правилно.
т.е.
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
Проблемът беше, че имахме 2 версии на ojbc.jar - една като модул Jboss и една в EAR, оттук и ClassCastException.
Както бе споменато в коментарите, този код също работи
oracle.jdbc.driver.OracleConnection oc = (oracle.jdbc.driver.OracleConnection) connection.getMetaData().getConnection();