需要绑定SQL执行计划常见的几种情况:
SQL执行计划突变,导致数据库性能下降,从历史执行计划找一个合理的,进行绑定。
SQL无法使用更优的执行计划,且无历史执行计划,可通过hint手工构造的方式,进行绑定。
某些Bug引起优化器生成较差的执行计划。在bug修复前,进行绑定。
通过sql profile绑定执行计划
- 执行coe_xfr_sql_profile
- 输入问题sql的sql id,他会计算出每个hash value的sql的平均执行时间
- 输入最短时间的hash value

- 在当前目录生成绑定sql profile的sql语句,然后执行该sql语句,就能绑定sql profile

5. 通过下面三条sql管理该sql的profile
查看已经生成的sql profile
SELECT * FROM DBA_SQL_PROFILES;
禁用
EXEC DBMS_SQLTUNE.ALTER_SQL_PROFILE(‘PROFILE_NAME’,’STATUS’,’DISABLED’);
删除
EXEC DBMS_SQLTUNE.DROP_SQL_PROFILE(‘PROFILE_NAME’);
