AstraZeneca beats Q2 estimates as oncology sales offset generic pressure