Hoje cedo, eu estava respondendo a uma pergunta onde alguém propôs como uma possível solução a ideia de liberar o Shared Pool para resolver um problema com uma instrução SQL. Acho isso um péssimo conselho. Como afirmei na minha resposta, por que matar todo o desempenho do usuário final para resolver o problema de um cara? Minha resposta foi que, se precisássemos remover essa instrução SQL do Shared Pool, vamos liberar o cursor. Essa habilidade existe desde o Oracle 10g. E o funcionário da Oracle postou os detalhes aqui:
https://blogs.oracle.com/mandalika/entry/oracle_rdbms_flushing_a_single
O recurso existe no Oracle 11g. Suponho que isso ainda esteja disponível em 12c também. não verifiquei. Mas gostaria de saber se é necessário no Oracle 12c com os novos recursos do otimizador adaptativo?