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;
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;