ハードパースとは、プランキャッシュのヒット率が低いことを示し、毎回のSQLリクエストごとに完全なSQLコンパイル処理を経由する必要があるため、SQLリクエストの処理時間が増加することを指します。
V$OB_SQL_AUDITビューのGET_PLAN_TIMEフィールドを使用して、実行計画の取得にかかる時間が異常かどうかを判断できます。通常、この段階での処理時間は0.1ms未満ですが、異常なリクエストではこのフィールドの値が100msを超えることがあります。
説明
V$OB_SQL_AUDITの詳細については、V$OB_SQL_AUDIT(Oracleモード)およびV$OB_SQL_AUDIT(MySQLモード)を参照してください。
例:

以下のシナリオで発生する可能性があります:
キャッシュサイズが小さすぎるため、プランが頻繁にキャッシュから削除される。
SQLパラメータの正規化問題により、同じ種類のSQLに対して多数の実行計画が生成される。
以下の方法で解決できます:
プランキャッシュのサイズを拡大する
システム変数
ob_plan_cache_percentageは、プランキャッシュが使用できるメモリがテナントメモリの割合を設定します。プランキャッシュが使用できる最大メモリ(メモリ上限の絶対値)= テナントメモリ上限 *ob_plan_cache_percentage/100、デフォルト値は5です。