Is there any view or table to show how long a session have been in Idle state in Oracle? As my question title, Is there any view or table to show how long a session have been in IDLE state in Oracle ?

So that I can monitor how long this session have been in IDLE state.

It doesn't mean how to set session expired-time.
Yes, v$session stores this information.

v$session.LAST_CALL_ET:


  If the session STATUS is currently ACTIVE, then the value represents
  the elapsed time in seconds since the session has become active. If
  the session STATUS is currently INACTIVE, then the value represents
  the elapsed time in seconds since the session has become inactive.


Documentation link.