Based on your description, I'd prefer replication mechanisms. I don't know if the solution II is even feasible since you need to make modifications into the second database. Restoring the backup on secondary server would quite likely remove all the modifications between two restore events.
One advantage in replication would be that it's working quite similarly in both SQL Server and Oracle. Of course the details are different, but you can create quite same kind of solution.
One possibility would perhaps be using message queuing. For example SQL Server has
Service Broker[
^] and Oracle on the other hand has
AQ[
^].
Also note that the licensing on the features may differ from SQL Server in Oracle.