Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Session S317113: What do I really need to know when upgrading Thomas Kyte

Similar presentations


Presentation on theme: "1 Session S317113: What do I really need to know when upgrading Thomas Kyte"— Presentation transcript:

1 1 Session S317113: What do I really need to know when upgrading Thomas Kyte http://asktom.oracle.com/

2 2 So … What Does Oracle Database 11g Mean To Me? Change

3 3 Small Change – but think about it… Lets Go Green

4 4 Small Change – but think about it… ops$tkyte%ORA11GR2> create table t 2 as 3 select substr(object_name, 1, 1 ) str, all_objects.* 4 from all_objects 5 order by dbms_random.random; Table created. ops$tkyte%ORA11GR2> create index t_idx on t(str,object_name); Index created. ops$tkyte%ORA11GR2> begin 2 dbms_stats.gather_table_stats 3 ( user, 'T', 4 method_opt => 'for all indexed columns size 254', 5 estimate_percent=>100 ); 6 end; 7 / PL/SQL procedure successfully completed.

5 5 Small Change – but think about it… ops$tkyte%ORA11GR2> select count(subobject_name) from t t1 where str = 'T'; … -------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 19 | 296 (0)| 00:00:04 | | 1 | SORT AGGREGATE | | 1 | 19 | | | | 2 | TABLE ACCESS BY INDEX ROWID| T | 292 | 5548 | 296 (0)| 00:00:04 | |* 3 | INDEX RANGE SCAN | T_IDX | 292 | | 4 (0)| 00:00:01 | --------------------------------------------------------------------------------------

6 6 Small Change – but think about it… ops$tkyte%ORA11GR2> insert into t 2 select 'T', all_objects.* 3 from all_objects 4 where rownum <= 1; 1 row created. ops$tkyte%ORA11GR2> begin 2 dbms_stats.gather_table_stats 3 ( user, 'T', 4 method_opt => 'for all indexed columns size 254', 5 estimate_percent=>100 ); 6 end; 7 / PL/SQL procedure successfully completed.

7 7 Small Change – but think about it… ops$tkyte%ORA11GR2> select count(subobject_name) from t t2 where str = 'T'; … --------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | --------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 19 | 297 (1)| 00:00:04 | | 1 | SORT AGGREGATE | | 1 | 19 | | | |* 2 | TABLE ACCESS FULL| T | 293 | 5567 | 297 (1)| 00:00:04 | ---------------------------------------------------------------------------

8 8 The Law of unintended consequences holds that almost all human actions have at least one unintended consequence. Unintended consequences are a common phenomenon, due to the complexity of the world and human over-confidence.

9 9 What do you have from the past… Online Parameter Changes Online Major Memory Changes Online Schema Evolution Online Index Creates Quiesce Rolling Upgrades Online Disk reconfiguration (ASM) Online Cross Platform Tablespace Transport Full Database Transports And more….

10 10 What do you need to know? Test To Scale SQL Plan Management The ability to forget and let it go Never Stopping Planning Ahead

11 11 © 2010 Oracle Corporation 11 First – what do we need to do?

12 12 Database Upgrade Process: Steps 1.Analyze & gather information about environment 2.Determine the upgrade path and choose upgrade method 3.Prepare backup / recovery strategy and clone database to test 4.Establish performance baseline/metrics before upgrade 5.Develop a test plan for database, applications, and reports 6.Test upgraded database with applications and reports 7.Ensure adequate performance by comparing metrics gathered before and after upgrade 8.Remediate regressions, e.g, tune queries, update database parameters, call Support, etc. 9.Go Live! Planning Ahead Forget and let it goASH and AWR Test To Scale SQL Plan Management Never Stopping

13 13 © 2010 Oracle Corporation 13 SQL Plan Management

14 14 SQL Plan Management Phase 1 - Capture Run applications to create a baseline –OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE Plan History HJ GB Plan Baseline Parse HJ GB Repeated plans will be added to the SQL Plan Baseline during this phase SQL MANAGEMENT BASE Residing in SYSAUX TS. Will occupy max. 10% of SYSAUX. Weekly job will delete plans not used in 53 weeks [default].

15 15 SQL Plan Management Phase 2 - Selection New Plans are generated (because something changed) But are not trusted –OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE New plan will be added to the Plan History but it won't be used unless and until it has been verified Hard Parse NL GB Plan History Plan Baseline HJ GB NL GB NL GB NL HJ GB HJ GB

16 16 SQL Plan Management Phase 3 – Evolution Plans are verified – by testing the performance of the new plan in the background –Automagically or Manually Plan History Plan Baseline GB NL DBA GB HJ Equal or better plans can be added to the SQL Plan Baseline GB NL Inefficient plan will be kept in the Plan History GB NL Automatic Job

17 17 Upgrade Scenario Your 9i application is already in 11g for whatever reason Youd like to have query plan stability –Coupled with the opportunity to use better plans – do not want to be frozen The steps would be….

18 18 SQL Plan Management – Parameterize Plan History Plan Baseline GB NL GB HJ GB NL Repeatable plans will be added to the Plan Baseline upon 2nd execution OPTIMIZER_FEATURES_ENABLE= 9.2.0 OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE STS GB NL Now: Different plans created with OFE=11 will be added to the Plan History for later verification OPTIMIZER_FEATURES_ENABLE= 11.2.0 OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE

19 19 Upgrade Scenario Your application is in 9i Youd like to have query plan stability –Coupled with the opportunity to use better plans – do not want to be frozen You will be changing platforms during the upgrade (not doing a direct upgrade of the database) The steps would be….

20 20 SQL Plan Management – Outlines STS SS Capture query outlines on the production system Exp/imp outlines to New system exp imp expdp impdp DB-Link... Plan History Plan Baseline GB NL GB HJ GB NL DBMS_SPM.MIGRATE_STORED_OUTLINE 3

21 21 Upgrade Scenario Same Scenario but your application is in 10g Youd like to have query plan stability –Coupled with the opportunity to use better plans – do not want to be frozen You will be changing platforms during the upgrade (not doing a direct upgrade of the database) The steps would be….

22 22 SQL Plan Management – Tuning Pack STS Staging Table exp imp expdp impdp DB-Link... STS Plan History Plan Baseline GB NL GB HJ GB NL 10.2 plans will become the SQL Plan Baseline GB NL 3

23 23 Upgrade Scenario You would like to deploy from development to production.. You would like to deploy at a customer site… And you want to start with a stable set of plans –Using better plans only after they have been verified The steps would be….

24 24 SQL Plan Management - New Application DBMS_SPM.UNPACK_STGTAB_BASELINE Plan Baseline GB NL GB HJ GB NL 3 @Vendor Plan Baseline GB NL GB HJ GB NL DBMS_SPM.CREATE_STGTAB_BASELINE DBMS_SPM.PACK_STGTAB_BASELINE Staging Table exp imp expdp impdp @Customer Staging Table

25 25 © 2010 Oracle Corporation 25 Test to Scale

26 26 Database Replay Overview Replay actual production database workload in test environment Identify, analyze and fix potential instabilities before making changes to production Capture Workload in Production –Capture full production workload with real load, timing & concurrency characteristics (9 i, 10 g, 11 g ) –Move the captured workload to test system (11 g ) Replay Workload in Test –Make the desired changes in test system –Replay workload with full production characteristics –Honor commit ordering Analyze & Report –Errors –Data divergence –Performance divergence Analysis & Reporting

27 27 Supported Changes Changes Supported Database Upgrades, Patches Schema, Parameters RAC nodes, Interconnect OS Platforms, OS Upgrades CPU, Memory Storage Etc. Client … Middle Tier Storage Recording of External Client Requests Changes Unsupported (there are other tools for that)

28 28 Step 1: Workload Capture File 1 File 2 File n … Production System File System Client … Middle Tier Storage All external client requests captured in binary files System background and internal activity excluded Minimal overhead –Avoids function call when possible –Buffered I/O Independent of client protocol Can capture on 9 i, 10 g, and 11 g and replay on 11g Capture load for interesting time period, e.g., peak workload, month-end processing, etc.

29 29 Step 2: Process Workload Files File 1 File 2 File n … Metadata Replay Files Test System File 1 File 2 File n … Capture Files Setup test system –Application data should be same as production system as of capture start time –Use RMAN, Snapshot Standby, imp/exp, Data Pump, etc. to create test system –Make change: upgrade db and/or OS, change storage, migrate platforms, etc. Processing transforms captured data into replayable format Once processed, workload can be replayed many times For RAC copy all capture files to single location for processing or use shared file system

30 30 Step 3: Replay Workload Replays workload preserving timing, concurrency and dependencies of the capture system Replay Client is a special program that consumes processed workload and sends requests to the replay system Clients interpret captured calls into sequence of OCI calls and submit to database For high concurrency workloads, it may be necessary to start multiple clients Test System Replay Clients File 1 File 2 File n … Replay Files Metadata

31 31 Analysis & Reporting Error Divergence: For each call error divergence is reported –New: Error encountered during replay not seen during capture –Not Found: Error encountered during capture not seen during replay –Mutated: Different error produced in replay than during capture Data Divergence –Replay: Number of rows returned by each call are compared and divergences reported –User: Application level validation scripts Performance Reporting –Capture and Replay Report: Provides high-level performance information –ADDM Report: Provides in-depth performance analysis –AWR, ASH Report: Facilitates comparative or skew analysis

32 32 Transport SQL SQL Performance Analyzer: Overview …… … Client Capture SQL Middle Tier Storage Oracle DB Re-execute SQL Production Test * No middle & application tier setup required Make Changes / Tuning Regressions If adequate spare cycles available, optionally execute SQL here

33 33 SQL Performance Analyzer: Workflow ProductionTest Capture SQL (STS) Transport STS Execute SQL Pre-change Execute SQL Post-change Compare Perf. Steps (1) (2) (3) (4) (5) (6) Reiterate (7) No Yes (7) Done? Make Change Production Change / Tuning Deployment Tuned System

34 34 To: SQL Performance Analyzer: Key Differentiators Automatic regression tuning Low risk, Low cost Automated SQL capture, Negligible overhead Production SQL context From: Manual regression tuning High risk, High cost Manual SQL capture, High overhead Non-production SQL context Automated analysis in minutes Months of manual analysis Complete SQL workload Partial SQL workload

35 35 Real Application Testing: Tools of the Trade SQL Performance AnalyzerDatabase Replay What is it? Predicts SQL performance deviations before end-users can be impacted, helps assess impact of change on SQL response time Replays real database workload on test system, helps assess impact of change on workload throughput How it works? Executes each SQL, stored in SQL Tuning Set, in isolation using production context and then compares before and after execution plans and run- time statistics Captures workloads and replays it with production characteristics including concurrency, synchronization & dependencies When to use? Unit testing of SQL with the goal to identify the set of SQL statements with improved/regressed performance Comprehensive testing of all sub- systems of the database server using real production workload SQL Dependency Concurrency Speed up/down

36 36 More information… Hands on Lab: S318966 – Database and Application Testing HOL – Wed: 4.45-5.45 pm – Marriott Golden Gate SPA / Database Replay Demo grounds – Moscone West: 038/039

37 37 © 2010 Oracle Corporation 37 The Ability to forget And let it go

38 38 Flashback for Rapid Recovery from Human Error Flashback Database Flashback Data Archive and Transaction Flashback Tables Flashback Query

39 39 Restore Points Restore point – specifies a jump label –Named Restore Point Similar to a bookmark "Can be" - but no guarantee Will be recorded to the control file –Guaranteed Restore Point Similar to storage snapshots Overrides the FLASHBACK_RETENTION_TARGET Attention: A guarantee restore point can stop the whole database SQL> CREATE RESTORE POINT rpt; SQL> FLASHBACK DATABASE TO RESTORE POINT rpt; SQL> CREATE RESTORE POINT rpt; SQL> FLASHBACK DATABASE TO RESTORE POINT rpt; SQL> CREATE RESTORE POINT grpt GUARANTEE FLASHBACK DATABASE; SQL> FLASHBACK DATABASE TO RESTORE POINT grpt; SQL> CREATE RESTORE POINT grpt GUARANTEE FLASHBACK DATABASE; SQL> FLASHBACK DATABASE TO RESTORE POINT grpt;

40 40 © 2010 Oracle Corporation 40 Never Stopping

41 41 Rolling Database Upgrades Major Release Upgrades Patch Set Upgrades Cluster Software & Hardware Upgrades Initial SQL Apply Config Clients Redo Version X 1 BA Switchover to B, upgrade A Redo 4 Upgrade X+1 BA Run in mixed mode to test Redo 3 X+1X AB Upgrade node B to X+1 Upgrade Logs Queue X 2 X+1 AB

42 42 Online Application Upgrade Edition-based redefinition Code changes are installed in the privacy of a new edition Data changes are made safely by writing only to new columns or new tables not seen by the old edition An editioning view exposes a different projection of a table into each edition to allow each to see just its own columns A crossedition trigger propagates data changes made by the old edition into the new editions columns, or (in hot-rollover) vice-versa

43 43 Editions & object visibility Object_4 Object_3 Object_2 Object_1 Pre-upgrade edition

44 44 Editions & object visibility Object_4 Object_3 Object_2 Object_1 Object_2 Object_1 Pre-upgrade edition Post-upgrade edition is child of (inherited) Object_4 Object_3

45 45 Editions & object visibility Object_4 Object_3 Object_2 Object_1 Object_4* Object_3* Object_2 Object_1 Pre-upgrade edition Post-upgrade edition is child of (actual) (inherited)

46 46 © 2010 Oracle Corporation 46 Planning Ahead Upgrade Planner

47 47 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle.

48 48 © 2010 Oracle Corporation 48 My Oracle Support Performance Management Enterprise Manager Provisioning & Patching Problem Diagnosis MOS-EM: Unified View, Integrated Information Between My Oracle Support and Enterprise Manager Oracle Customer Databases Operating Systems Middleware Applications Problem/SR Management Configuration Management Knowledge Management Problem/SR Management Configuration Management Knowledge Management

49 49 © 2010 Oracle Corporation 49 My Oracle Support – Upgrade Planner What Are We Announcing? New Feature in My Oracle Support – Assist customers in planning the an Upgrade of Oracle technology Benefits – Reduced time to create, manage and execute Upgrade plan Streamlined process to request merge patches – Greater Reliability due to Software Currency Latest SW, Patch, and Certification information Accuracy of recommendations based on config data (not manual) – Lower Risk Automated analysis for missing patches and conflict checking

50 50 © 2010 Oracle Corporation 50 Upgrade from 10.2.0.4 to 11.2 Where do I get the software What are the valid SW upgrade paths ? What is the certification/EOL status of the SW ? What recommended patches do I apply post-upgrade? How do I know if my 10.2.0.4 fixes will be on my 11.2 upgrade? Are there patch conflicts? Upgrade path SW recommendations w/ Certification /EOL checks Recommended Patches Replacement/Merge Patch Conflict Analysis for Patches Research and Add Patches Review Patch Feedback Links to latest Support Best Practices and knowledge Reduced Time in research, analysis and management of Upgrade Plan Reduced Risk due to increased accuracy (automated analysis) Improved quality of plan due to latest Oracle Advice, Best Practices My Oracle Support: Upgrade Planner ChallengesCapabilitiesValue

51 51 End-to-End Upgrade Lifecycle My Oracle Support EM Grid Control Integrated solution can be leveraged throughout full lifecycle Preparation My Oracle Support Upgrade Plan* Sub-Phase *Will be integrated in upcoming release Upgrade Post-Upgrade Upgrade Plan Upgrade Testing Rehearsal Production Upgrade Monitor & Maintain Enterprise Manager – Grid Control Real Application Testing ProvisioningMonitoring Phase

52 52 How to get there

53 53 © 2010 Oracle Corporation 53 Upgrade is easier! The upgrade to Oracle Database 11 g is much easier than any upgrades to earlier Oracle releases Size of Upgrade guides: –8.1.7- 512 pages –9.0.1- 484 pages – 111 steps for an RDBMS with 9 components –9.2.0- 344 pages –10.1.0- 170 pages –10.2.0- 140 pages –11.1.0- 186 pages –11.2.0 -178 pages

54 54 Documentation –Note:785351.1 Upgrade Companion 11g Release 2

55 55 What are my upgrade paths? Predictable performance post-upgrade 10.2.0.2 11.1.0.6 10.1.0.5 9.2.0.8 11.2 SQL Plan Management Automated SQL tuning Real Application Testing

56 56


Download ppt "1 Session S317113: What do I really need to know when upgrading Thomas Kyte"

Similar presentations


Ads by Google