The US Securities and Exchange Commission has charged Oracle Corporation of violating an anti-foreign bribery law by secretly moving money off the company's books.

The money was then used to make unauthorised payments to fake vendors in India.

Oracle neither admitted nor denied the allegations, but agreed to pay $2m to settle the case, the SEC said.