An OPC Server may be the easiest way to go.
Matrikon has an OPC server for Oracle (and other compliant databases). http://www.matrikonopc.com/opc-drivers/925/index.aspx as well as OPC server for Siemens S7. Probably Kepware and some other OPC vendors do too. I've never had to deal with Oracle so don't know how easy that is to set up but most OPC servers for S7 are not that difficult to use. Two OPC servers don't talk to each other, you need an OPC client or bridge in between. Talk with one of the vendors.
Another vendor is Inductive Automation and their FactorySQL (probably by another name by now).
It links an OPC server with an SQL database.
It can be setup to transfer data in both directions.
If you give more detailed info of your whole system , we could maybe help with the right solution.
When I have to log or retrieve data from an oracle DB, I prefer to use stored procedures and run them from a script in wincc.
I do that by using a ADO object. Use the same method to write to SQL, just by changing the provider.
If you would like to go that route I would be glad to give you a sample script.