Thanks. In the meantime, I was playing in my test server and here is what I found.

As per oracle support, you can identify if MTS is down by checking v$dispatcher and v$shared_server and both should return no rows.

Here is what I did.

alter system set dispatcher='(PROTOCOL=TCP)(DISPATCHERS=0)' scope= both;
System altered (I was really surprised since eventhough it
looks elementary, the docs were wrong).
Alter system set shared_servers = 0;
system altered

select * from v$dispatcher;
no rows returned
select * from v$shared_server;
initially returned rows and later if you try again a few time, it also says "no rows returned".

To test whether it takes dedicated connection only,
disconnected from sql, connected to sql
select osuser,username, server from v$session
where username is not null;
SYS DEDICATED
SYSTEM DEDICATED

Thanks for taking your time to offer tips.

Much appreciated.

Murali