Hmmm, what is happening when Oracle is struggling to shut down? Is your disk going crazy? Next time you try to shut it down, try running the
glance utility while it's shutting down - see how your machine is doing...
Also, are you using "shutdown immediate"? If it is just sitting there, it might be waiting for every process to stop using it before it will shut down.
You also might try searching
otn.oracle.com for some information. I can't be sure that it's an Oracle problem or a server problem... It might be a combination of both.
Sorry I haven't been of too much help on this matter - I myself do not administer Oracle here, so I have no idea what troubleshooting measures would be best for your situation.