I installed oracle 10g on one of our solaris server which has some existing 9i databases. Then I created a new 10g database. After that I ran lsnrctl in 9i environment and 10g environment by switching the . oraenv, I found 10g listener is not started and the 9i listener is running. So I tried to start the 10g listener, but lsnrctl told me that 'another listener with the same name is already running'. I didn't do anything after while, I open the lsnrctl for 10g again, this time it shows that the 10g listener is running. It's like a magic, what's going on behind the hood?