You can configure the Asynchrounous Webservice call to marketo campaign on the field value change as required. You may use database triggers to call the webservice. But, I also understand that trigger might not be the place to call the webservice (even asynchronous). If properly architectured, there should be only one piece of code, which can communicate with the database, i.e. some abstraction of the DAL in only a single service. Hook there to make whatever is needed after an insert. I would go with a trigger, if there are many different applications which can write in the database with a direct access to the database, not trough a DAL service. Which again is a disaster waiting to happen. Another situation, in which I may go with a trigger, if I have to deal with internally hosted third party application, i.e. if I have access to the database server itself, but not to the code which writes in the database. Also in the marketo campaign while you're setting up up try to use the constraint "Web Service API" for the smart list rules.
Refer this document : https://docs.oracle.com/cd/E15523_01/web.1111/e15184/asynch.htm#WSCPT136 for setting up the asynchronous marketo webservice call on the oracle db side.
Refer this document for marketo webservices related to campaign management : https://developers.marketo.com/rest-api/assets/smart-campaigns/#batch
Let me know if you need more help 🙂