Quick & clear answer:
The idle_time parameter limits the maximum time a session can stay connected without doing anything. By reducing the period of time an inactive session stays connected, the performance of the whole system significant increased.
Why Idle time parameter helps increase the performance of database?
Because releasing inactive sessions help release processes to the database process pool (see my article about Oracle sessions, connection and process) that means releasing system resource therefore help improve db’s performance.
How much should I set idle_time parameter?
Short answer: it depends on your system.
Base on your policy with specific user. You should create as many Profile as needed to classify users whom connect to the database.
With the low priority and lightweight applications, idle_time can be set to 5 minutes.
With more important ones, idle_time can be 10, 20, 30, 60 minutes.
How to set idle_time in Profile?
Using this command:
alter profile limit2010 limit Sessions_per_user 20 idle_time 10;