Lots and lots and lots and lots and lots and lots and lots of exam questions, and other questions that will test you on things which are either new in the syllabus or haven't been examined to date. Play around with the course content and try and prove and generalise more things using what you have, and learn about things that aren't necessarily required for the exam -- I find this is a good way to get a feel for the material without answering any specific questions, and you get to see things in another context (which helps understanding). In my experience, you can know your notes by heart and be able to quote the proof of any theorem at the drop of a hat and still suck at questions with a significant problem element if you haven't immersed yourself in unfamiliar problems. [By the same card, if you try and do questions without knowing the material, you're pretty much stumped... so the two have to go hand-in-hand really.]
Also, in my experience, you learn a lot more by doing a question fully and well and really understanding it, than you do in trying to rush through to meet a time constraint. Obviously time matters, but don't worry about timing yourself until later on.
And my final piece of advice: practice what you already know. Then it becomes ingrained and automatic and really cuts down on the mental effort you have to put in to get through an exam question.