SQL Tuning Set (STS) 是 SQL Tuning Advisor 的輸入載體,包含 SQL 文本、執行計劃、綁定變量等上下文。Oracle 10g R1 要求分析與生產在同一實例,增加生產負擔且需高權限。
透過 中轉表 (Staging Table) + DBMS_SQLTUNE 套件,即可將 STS 從生產匯出、導入測試環境分析。
DBMS_SQLTUNE.CREATE_SQLSET、LOAD_SQLSET 手動建立。EXEC DBMS_SQLTUNE.CREATE_STGTAB_SQLSET(
table_name => 'STS_STAGING_TABLE',
schema_name => 'SCOTT'
);
EXEC DBMS_SQLTUNE.PACK_STGTAB_SQLSET(
sqlset_name => 'MY_SQL_TUNING_SET',
sqlset_owner => 'SCOTT',
staging_table_name => 'STS_STAGING_TABLE',
staging_schema_owner => 'SCOTT'
);
expdp/impdp)。INSERT ... SELECT。exp/imp。EXEC DBMS_SQLTUNE.UNPACK_STGTAB_SQLSET(
sqlset_name => 'MY_SQL_TUNING_SET',
sqlset_owner => 'SCOTT',
replace => TRUE,
staging_table_name => 'STS_STAGING_TABLE',
staging_schema_owner => 'SCOTT'
);
匯入後即可在目標實例使用 EM 或 DBMS_SQLTUNE 進行調優分析。
《Oracle Database Performance Tuning Guide》第 "Transporting SQL Tuning Sets" 章節。