Is the CREATE TABLE privilege granted via a role? eg DBA.

When executing this type of statement using the exec immediate you must have the privilege granted explictly to the user.

In this case you must grant CREATE TABLE to the user even though the privilege is granted via a role.

Hope that helps

Regards