Currently as per ERD there is 1 to M relationship between Campaigns and Opportunity object.
Can anyone please tell if there is any way by which we can create M to M relationship between Campaigns and opportunity object.
Have you looked into using the custom objects? I've done a couple of proof of concept here lately. CO1-3 have M-M with all other objects. CO4-15 have 1-M with all other objects. Since Campaign and Opty are both primary objects, there should be no problem to implement. If you know nothing about them, I would recommend the book "Oracle on Demand Deployment Guide" as it talks a lot about COs (and the steps that are needed to set up Roles and Access Profiles. Good luck!