Hi OP,
That sounds very, very stressful.
Taking control will help you.
A dear friend of mine went through this.
First off, today, start jotting down as many incidents that you can remember
Date/time/remark/ witnesses/ how you felt.
Then you email your boss and HR and inform them that you are feeling deeply uncomfortable with the sexual/racist remarks that are occurring.
Inform them that you are making a note of all of these incidents to protect yourself.
Inform them that you have worked for years happily in the company without any problems but that it is interfering with your job to be constantly interrupted with sexual innuendo, personal question, character assination's of valued other staff and also going though your personal belongings.
Note everything.
See how he responds.
If he does not respond, copy the email to his boss.
I would also start recording your colleague.
By not dealing with this head on you are vulnerable.
By creating a paper trail you are creating insurance.
My pal had her paperwork in order and senior management told her boss to sort himself out and to back off. He was a bully too.
Take the bull by the horns. Show them you will not take this lying down. Do you have a union?
Remember her having gone through loads of departments works in your favour.
Show your boss he had better step up.
You can always request a camera with voice recording to be installed in your office for your safety.
Obviously you wouldn't mean it really but it would show that you mean business and that you are not prepared to listen to her racist ravings.
She sounds mad, but bloody dangerous without.