This command is not ment to be used as some kind of standard cleaning operation!
Is it usefull? Sure, but only in the extreme circumstances. For example, when you can't load a larger procedure or a package because your shared pool is so badly fragmented (ORA-4031 and simmilar).
Does it clean all the components of Shared_pool? Yes, it does. Among other things, it will also flush cashed sequence values, so don't be surprise if you find gaps in your sequences.
What is its impact? Huge. Everything that was loaded and parsed before will have to be reloaded and reparsed again. Huge I/O and CPU burden.
Once more, use it only if you must. And if you realy can't find any workaround for your problems and you must use FLUSH SHARED POOL, then it is time to start looking for the real cause of the problems with shared pool and eliminate that cause, not its consequences. Not using bind variables is probably the most common cause that leeds to usage of ALTER SYSTEM FLUSH SHARED POOL.
Jurij Modic ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?