ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture...
Transcript of ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture...
![Page 1: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/1.jpg)
Inderpal S. Inderpal S. JohalJohal,,President
ORACLE 11g SQL Plan Management
Dec. 6th, 2007
![Page 2: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/2.jpg)
2ORACLE 11g SMB
AgendaAgendaExecution plan and factor affecting it
How optimizer behaves without 11g Sql Plan Management
Why SQL Plan Management
11g SQL PLAN Management Pre-Requisites
SQL Plan Management Architecture
SPM flow
Enabling SQL Plan Baselines
Loading/Dropping/Displaying SQL Plan Baseline
Space Usage/Purging for SPM
SPM View
Q&A
![Page 3: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/3.jpg)
3ORACLE 11g SMB
Execution Plan and factor affecting itExecution Plan and factor affecting itExecution plan define how Oracle find or writes the data to satisfy DML statement
Execution plan define whether Oracle will use Index or Which Index to be used and the like
Factor affecting Execution Plan and then the BusinessOptimizer Version due to Database upgradeOptimizer StatisticsOptimizer parametersSchema definition Changes
Solution : Prior to 11gFreeze critical plans using Stored Outlines/ProfileFreeze Statistics
![Page 4: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/4.jpg)
4ORACLE 11g SMB
Without SQL Plan Management ???Without SQL Plan Management ???First Time SQL is parsed and an execution plan is generated
PARSE
HJ
HJ
GB
EXECUTE
Verified thatPlan is givingAcceptableperformance
Optimizer GeneratedBest Cost plan
![Page 5: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/5.jpg)
5ORACLE 11g SMB
Without SQL Plan Management ???Without SQL Plan Management ???Database Server Environment Changed
Upgrade Database or Stats re-Gathered or Parameter Change or soNew Plan generated regardless of performance impactDoes new Plan meet required performance criteria ???
PARSE
NL
NL
GB EXECUTENot Acceptable
PLAN
Changes Forced Optimizer to Generate
New execution plan
![Page 6: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/6.jpg)
6ORACLE 11g SMB
Why SQL Plan ManagementWhy SQL Plan ManagementProvide Guaranteed Plan Stability
Maintain good execution plan in SQL Baseline
Only known or verified plans are used
Plans are verified
Manually
Automatically by daily maintenance Job
Only comparable or better plan are included to SQL Baseline
Main benefit is the performance stability of the system
![Page 7: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/7.jpg)
7ORACLE 11g SMB
11g SQL Plan Management Pre11g SQL Plan Management Pre--RequisitesRequisites
Initialization Parameter Setting
1. optimizer_use_sql_plan_baselines=TRUE
[Default is TRUE]
Enable Optimizer to use SQL Plan baselines
2. optimizer_capture_sql_plan_baselines=TRUE
[ Default is FALSE]
[ Require Oracle Tuning Pack ]
Enable Oracle to Capture SQL Plan to be included in baseline
SYSAUX Tablespace should be ONLINE
![Page 8: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/8.jpg)
8ORACLE 11g SMB
11g SQL Plan Management 11g SQL Plan Management ArchitectureArchitecture
Statement log
PARSE
NL
NL
GBEXECUTE
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE
Acceptable Plan
![Page 9: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/9.jpg)
9ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.Execute the SQL query First time from SCOTT SchemaSQL> SELECT sal TESTING
FROM emp ;
Check the SQL is available in SQL PLAN BaselineSQL> SELECT sql_text, sql_handle, optimizer_cost, enabled, fixed, accepted
FROM DBA_SQL_PLAN_BASELINES
WHERE sql_text LIKE '%TESTING%'
no rows selected
![Page 10: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/10.jpg)
10ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.
Statement log
PARSE
NL
NL
GBEXECUTE
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE
Acceptable Plan
RepeatableSQL
statement
Plan history
Planbaseline
NL
NL
GB
![Page 11: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/11.jpg)
11ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.Execute the SQL query SECOND time from SCOTT SchemaSQL> SELECT sal TESTING
FROM emp ;
Check the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, accepted
FROM DBA_SQL_PLAN_BASELINES
WHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE OPTIMIZER_COST ENA FIX ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ ----- -----SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d 2 YES NO YES
![Page 12: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/12.jpg)
12ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.Execute the SQL query SECOND time from SCOTT SchemaSQL> SELECT * FROM TABLE ( DBMS_PLAN.DISPLAY_SQL_PLAN_BASELINE(
SQL_HANDLE=>’ SYS_SQL_f9ec8ef45d47d320',FORMAT=> ‘BASIC'));
PLAN_TABLE_OUTPUT--------------------------------------------------------------------------------SQL handle: SYS_SQL_f9ec8ef45dSQL text: select sal TESTING from emp--------------------------------------------------------------------------------Plan name: SYS_SQL_PLAN_5d47d3dEnabled: YES Fixed: NO Accepted: NO Origin: AUTO-CAPTURE--------------------------------------------------------------------------------| Id | Operation | Name |----------------------------------| 0 | SELECT STATEMENT | || 1 | SORT AGGREGATE | || 2 | INDEX RANGE SCAN| III |--------------------------------------------------------------------------------
![Page 13: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/13.jpg)
13ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.
Statement log
PARSE
Make the Change in System like Index or Collect Stats or Change Optimizer version
RepeatableSQL
statement
Plan history
Planbaseline
NL
NL
GB
HJ
HJ
GB
HJ
HJ
GB
![Page 14: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/14.jpg)
14ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.
Statement log
NL
NL
GBEXECUTE
Make the Change in System like Index or Collect Stats or Change Optimizer version
RepeatableSQL
statement
Plan history
Planbaseline
NL
NL
GB
HJ
HJ
GB
![Page 15: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/15.jpg)
15ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.Execute the SQL query again from SCOTT SchemaSQL> SELECT sal TESTING
FROM emp ;
Check the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, accepted
FROM DBA_SQL_PLAN_BASELINES
WHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE OPTIMIZER_COST ENA FIX ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ ----- -----SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d 2 YES NO YES
SYS_SQL_PLAN_6d1231d select sal TESTING from emp; SYS_SQL_f8de7fr6dd 1 YES NO NO
![Page 16: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/16.jpg)
16ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.
Statement log
SQL Repeated Several Times result High Load SQL in AWR
RepeatableSQL
statement
Plan history
Planbaseline
NL
NL
GB
HJ
HJ
GB
AWR
AutomaticSQL Tuning
task
HJ
HJ
GB
![Page 17: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/17.jpg)
17ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.
Statement log
SQL Repeated Several Times result High Load SQL in AWR
RepeatableSQL
statement
Plan history
AWR
AutomaticSQL Tuning
task
HJ
HJ
GB
Planbaseline
NL
NL
GB
HJ
HJ
GB
![Page 18: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/18.jpg)
18ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.Execute the SQL query again from SCOTT SchemaSQL> SELECT sal TESTING
FROM emp ;
Check the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, accepted
FROM DBA_SQL_PLAN_BASELINES
WHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE OPTIMIZER_COST ENA FIX ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ ----- -----SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d 2 YES NO YES
SYS_SQL_PLAN_6d1231d select sal TESTING from emp; SYS_SQL_f8de7fr6dd 1 YES NO YES
![Page 19: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/19.jpg)
19ORACLE 11g SMB
SQL Plan Management Architecture SQL Plan Management Architecture contd.contd.Check the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, acceptedFROM DBA_SQL_PLAN_BASELINESWHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE OPTIMIZER_COST ENA FIX ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ ----- -----SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d 2 YES NO YES
SYS_SQL_PLAN_6d1231d select sal TESTING from emp; SYS_SQL_f8de7fr6dd 1 YES NO No
SQL> DECLAREindy NATURAL;
BEGINindy := DBMS_SPM.ALTER_SQL_PLAN_BASELINE ('SYS_SQL_f9ec8ef45d47d320',
attribute_name => 'ACCEPTED', attribute_value=>‘YES');
END;/PLAN_NAME SQL_TEXT SQL_HANDLE OPTIMIZER_COST ENA FIX ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ ----- -----SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d 2 YES NO YESSYS_SQL_PLAN_6d1231d select sal TESTING from emp; SYS_SQL_f8de7fr6dd 1 YES NO YES
![Page 20: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/20.jpg)
20ORACLE 11g SMB
11g SQL Plan Selection Flow11g SQL Plan Selection Flow
YesYes
Plan partof baseline?
Plan partof history?YesYes
NoNo
HJ
GB
HJ
HJ
GB
HJ>
Select baseline planwith lowest cost
YesYes
NoNo
Plan history
Planbaseline
HJ
GB
HJ
HJ
GB
HJ…
HJ
GB
HJ
HJ
GB
HJ
YesYesNoNoHJ
GB
HJ
NoNo
HJ
GB
HJ
HJ
GB
HJ
O_U_S_P_B=TRUEO_U_S_P_B=TRUE
OPTIMIZER_USE_SQL_PLAN_BASELINES=TRUE
![Page 21: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/21.jpg)
21ORACLE 11g SMB
More ways to Load SQL BaselineMore ways to Load SQL BaselineAlready covered SQL Baseline methods
Using init.ora parameter OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE
Using 11g Daily Automatic SQL Tuning TaskUsing DBMS_SPM.ALTER_SQL_PLAN_BASELINE to move Plan from Plan History to PLAN Baseline
More Manual method to Load SQL BaselineLoad SQL Plans from Cursor CacheExport /Import from one Database to another
![Page 22: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/22.jpg)
22ORACLE 11g SMB
Enabling SQL Plan BaselineEnabling SQL Plan BaselineCheck the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, acceptedFROM DBA_SQL_PLAN_BASELINESWHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE OPTIMIZER_COST ENA FIX ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ ----- -----SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d 2 YES NO YES
SYS_SQL_PLAN_6d1231d select sal TESTING from emp; SYS_SQL_f8de7fr6dd 1 YES NO No
SQL> 1 SET SERVEROUTPUT ON2 SET LONG 100003 DECLARE4 report clob;5 BEGIN6 report := DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE(7 sql_handle => ' SYS_SQL_f8de7fr6dd ');8 DBMS_OUTPUT.PUT_LINE(report);9* END;
/
![Page 23: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/23.jpg)
23ORACLE 11g SMB
Loading SQL Plan from Cursor CacheLoading SQL Plan from Cursor CacheSQL> SELECT sql_id,sql_text FROM v$sqlv$sql WHERE sql_text LIKE '%INDYTEST%‘;SQL_ID SQL_TEXT364s6t88vhd select sql_id,sql_text from v$sql where sql_text like '%INDYTEST%‘
Load SQL Plan from Cursor CacheDECLARE
my_plans pls_integer; BEGIN
my_plans := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE( sql_id => 364s6t88vhd '); END; /
Check the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, acceptedFROM DBA_SQL_PLAN_BASELINESWHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE ORIGIN ENA ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ -----
SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d MANUAL-LOAD YES YESSYS_SQL_PLAN_6d1231d select sal TESTING from emp; SYS_SQL_f8de7fr6dd AUTO-CAPTURE YES YES
![Page 24: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/24.jpg)
24ORACLE 11g SMB
Drop SQL Plan from BaselinesDrop SQL Plan from BaselinesCheck the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, acceptedFROM DBA_SQL_PLAN_BASELINESWHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE ORIGIN ENA ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ -----SYS_SQL_PLAN_5d47d3d select sal TESTING from emp; SYS_SQL_f9ec8ef45d MANUAL-LOAD YES YES
Drop the Above SQL plan from the BaselineDECLARE
drp binary_integer; BEGIN
drp :=DBMS_SPM.DROP_SQL_PLAN_BASELINE( SQL_HANDLE => ‘SYS_SQL_f9ec8ef45d ‘, PLAN_NAME => ‘SYS_SQL_PLAN_5d47d3d ‘);
END; /
![Page 25: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/25.jpg)
25ORACLE 11g SMB
Displaying SQL Plan BaselinesDisplaying SQL Plan BaselinesCheck the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, acceptedFROM DBA_SQL_PLAN_BASELINESWHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE OPTIMIZER_COST ENA FIX ACC------------------------------- ------------------------------------- ----------------------------- ---------------------- ------ ----- -----SYS_SQL_d0848cb7105fffdf select sal TESTING from emp; SYS_SQL_f9ec8ef45d 2 YES NO YESSYS_SQL_d0848cb7105fffdf select sal TESTING from emp; SYS_SQL_f8de7fr6dd 1 YES NO No
SQL> SELECT * FROM TABLE( DBMS_XPLAN.DISPLAY_SQL_PLAN_BASELINE( sql_handle=> ’ SYS_SQL_d0848cb7105fffdf ',format=>'basic'));
![Page 26: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/26.jpg)
26ORACLE 11g SMB
DisaplayingDisaplaying SQL Plan BaselinesSQL Plan BaselinesPLAN_TABLE_OUTPUT--------------------------------------------------------------------------------
SQL handle: SYS_SQL_c45581c7730096e3SQL text: select /* INDYTEST */ * from emp where job='DBA' and rownum < 50--------------------------------------------------------------------------------
Plan name: SYS_SQL_PLAN_730096e31877483cEnabled: YES Fixed: NO Accepted: NO Origin: AUTO-CAPTURE--------------------------------------------------------------------------------
Plan hash value: 4187151245-----------------------------------------------| Id | Operation | Name |-----------------------------------------------| 0 | SELECT STATEMENT | || 1 | COUNT STOPKEY | || 2 | TABLE ACCESS BY INDEX ROWID| EMP || 3 | INDEX RANGE SCAN | EMPJOB |-----------------------------------------------Plan name: SYS_SQL_PLAN_730096e38694f11d
Enabled: YES Fixed: NO Accepted: YES Origin: AUTO-CAPTURE--------------------------------------------------------------------------------
Plan hash value: 1973284518-----------------------------------| Id | Operation | Name |-----------------------------------| 0 | SELECT STATEMENT | || 1 | COUNT STOPKEY | || 2 | TABLE ACCESS FULL| EMP |-----------------------------------36 rows selected.
![Page 27: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/27.jpg)
27ORACLE 11g SMB
SQL Management BaseSQL Management Base
SQL Management BaseSYSAUXSYSAUX
TablespaceTablespace
Statement logPlan history
Planbaseline
…
Plan history
Planbaseline
Plan verificationbefore
integration to baseline
RepeatableSQL
statement
SQLprofile
AutomaticSQL Tuning
taskNL
NL
GB
HJ
HJ
GB
NL
NL
GB
NL
NL
GB
![Page 28: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/28.jpg)
28ORACLE 11g SMB
SQL Management BaseSQL Management Base
SQL Management BaseSYSAUXSYSAUX
TablespaceTablespace
Statement logPlan history
Planbaseline
…
Plan history
Planbaseline
SQLprofile
NL
NL
GB
HJ
HJ
GB
NL
NL
GB
NL
NL
GB
Three Important maintenanceDisk Space UsagePurging Policy
![Page 29: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/29.jpg)
29ORACLE 11g SMB
SQL Management BaseSQL Management Base
SQL Management Base SYSAUXSYSAUX
Statement logStatement log
Plan history
Planbaseline
SQLprofile
HJ
HJ
GB
NL
NL
GB
DISK Space Usage for Sql Management BaseBy default SMB space limit is 10% of the size of SYSAUXAllowable Limit is 1% - 50%Warning issued in Alert log by a weekly Background processWarning will continue every week until
SMB space limit is increasedDBMS_SPM.CONFIGURE( 'space_budget_percent',30);
Size of SYSAUX is increasedSpace used by SMB is decreased by purging SQL baseline/Profiles
Disk Space UsagePurging Policy
![Page 30: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/30.jpg)
30ORACLE 11g SMB
SQL Management BaseSQL Management Base
SQL Management Base SYSAUXSYSAUX
Statement logStatement log
Plan history
Planbaseline
SQLprofile
HJ
HJ
GB
NL
NL
GB
SMB Purging PolicyBy default , any PLAN not used for 53 Weeks are purged53 Weeks ensures that Plan is available for any yearly SQL jobSMB retention range is 5 weeks – 523 weeks [ little more than 10yr]SMB Retention period can be configured [50 weeks]
DBMS_SPM.CONFIGURE( ‘plan_retention_weeks',50);
select parameter_name, parameter_valuefrom dba_sql_management_config;
Disk Space UsagePurging Policy
![Page 31: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/31.jpg)
31ORACLE 11g SMB
Exporting/Importing SQL BaselinesExporting/Importing SQL Baselines
Plan history
Planbaseline
NL
NL
GB
HJ
HJ
GB
DBMS_SPM package- CREATE_STGTAB_BASELINE
STAGE
TABLE
expdp impdp
STAGE
TABLE
DBMS_SPM package- PACK_STGTAB_BASELINE
DBMS_SPM- UNPACK_STGTAB_BASELINE
Plan history
Planbaseline
NL
NL
GB
HJ
HJ
GB
TEST DATABASE PRODUCTION DATABASE
![Page 32: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/32.jpg)
32ORACLE 11g SMB
SQL Plan Baseline Main AttributesSQL Plan Baseline Main AttributesPlan history
Planbaseline
HJ
HJ
GB
NL
NL
GB
HJ
HJ
GB
DBA_SQL_PLAN_BASELINESMain Column Name SQL_TEXT Actual SQL TextORIGIN MANUAL-LOAD | AUTO-CAPTURE | MANUAL-SQLTUNE |AUTO-SQLTUNEENABLED YES | NOACCEPTED YES | NOFIXED YES | NOAUTOPURGE YES | NOOPTIMIZER_COST
ENABLED butNot ACCEPTED
ENABLED andACCEPTED
…...
![Page 33: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/33.jpg)
33ORACLE 11g SMB
DBA_SQL_PLAN_BASELINE viewDBA_SQL_PLAN_BASELINE viewCheck the SQL is available in SQL PLAN BaselineSQL> SELECT plan_name, sql_text, sql_handle, optimizer_cost,
enabled, fixed, acceptedFROM DBA_SQL_PLAN_BASELINESWHERE sql_text LIKE '%TESTING%'
PLAN_NAME SQL_TEXT SQL_HANDLE ENABLED ACCEPTED FIXED------------------------------- ------------------------------------- ----------------------------- -------------- -------------- ---------SYS_SQL_d0848cb7105fffdf select sal TESTING from emp; SYS_SQL_f9ec8ef45d YES NO YESSYS_SQL_d0848cb7105fffdf select sal TESTING from emp; SYS_SQL_f8de7fr6dd YES NO NO
DECLAREv_chg Natural;
BEGINv_chg : dbms_spm.alter_sql_plan_baseline( sql_handle=>’SYS_SQL_f8de7fr6d ‘, -
plan_name=>’SYS_SQL_d0848cb7105fffdf ‘, -attribute_name => ‘AUTOPURGE | ENABLED | ACCEPTED | FIXED’, -attribute_value => ‘YES | NO’);
dbms_output.put_line(i);END; Any One Attribute
Name or Value
![Page 34: ORACLE 11g SQL Plan Management - Data SoftechORACLE 11g SMB 13 SQL Plan Management Architecture contd. Statement log PARSE Make the Change in System like Index or Collect Stats or](https://reader034.fdocuments.us/reader034/viewer/2022052208/607cad879f6f8e55863d6793/html5/thumbnails/34.jpg)
Q U E S T I O N SA N S W E R S