另为有一点,当我们创建sqlprofile后,可以放心删除tuning_task,已创建的sql profile不会受影响。
ORACLE概要文件--sqlprofile(一)(三)
ATURE) TO_CHAR(FORCE_MATCHING_SIGNATURE)
---------------------------------------- ---------------------------------------- ----------------------------------------
select t1.*,t2.owner from t1,t2 where t1 8975541025552400288 3960696072677096522
.object_name like '%T1%' AND T1.object_i
d=t2.object_id
select t1.*,t2.owner from t1,t2 where t1 16954193673788994662 3960696072677096522
.object_name like '%T2%' AND T1.object_i
d=t2.object_id
SQL> l
1 SELECT so.signature,extractValue(value(h),'.') AS hint
2 FROM sys.sqlobj$data od, sys.sqlobj$ so,
3 table(xmlsequence(extract(xmltype(od.comp_data),'/outline_data/hint'))) h
4 WHERE so.name = 'SYS_SQLPROF_01436d001cfe0001'
5 AND so.signature = od.signature
6 AND so.category = od.category
7 AND so.obj_type = od.obj_type
8* AND so.plan_id = od.plan_id
SQL>
/
SIGNATURE HINT
---------------------------------- ------------------------------------------------------------------------------------------
8975541025552400288 OPT_ESTIMATE(@"SEL$1", TABLE, "T1"@"SEL$1", SCALE_ROWS=0.0144)
8975541025552400288 OPTIMIZER_FEATURES_ENABLE(default)
我想到这里大家应该都明白了,当force_match为true时,sql profile适合sql语句的force_match_signature项匹配的,而当force_match取值false时,sql profile是和sql语句的extract_match_signature相匹配的。