It is happening in NT , You must stop  the oracle service instead of shutdowning the database in server manager .There are basically 3 ways to do the startup and shutdown jobA. Connect to Server Manager to do the job
B. Use Oradim Utility
C. Use Windows NT Net Stop /Start Command.The answer might be C . It is because 
A .in NT , if we choose A/B , even we shutdown the database , but some services still lock the datafile.
It is not a 'thorough' way to shutdown the database . B . C is much fasterC. Listener can be stoped either .D. It's easy to log the information by using C
So I made a script like :
Shutdown.bat:
net stop OracleStart
net stop OracleService
net stop OracleTNSListenerStartup.bat:
net start OracleService
net start OracleStart
net start OracleTNSListener
It should solve your problem