Syncing an entire schema, data and all, is fairly easily done with exp and imp:
$ exp username/password@source-sid CONSISTENT=Y DIRECT=Y OWNER=schema FILE=schema.exp
$ ⋮ # some command(s) to nuke objects, see below
$ imp username/password@dest-sid FROMUSER=schema FILE=schema.exp
You can import into a different schema if you want by using TOUSER in the imp command.
You'll need to get rid of all the objects if they already exist before running imp. You can either write a quick script to drop them all (look at the user_objects view), or just drop the user with cascade and re-create the user.
There is probably a better way to do this, but this is quick to implement and it works.