M o v e to O ra c le D a ta b a s e 1 1 g â T h e w h o le S to ry
M o v e to O ra c le D a ta b a s e 1 1 g â T h e w h o le S to ry
M o v e to O ra c le D a ta b a s e 1 1 g â T h e w h o le S to ry
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Last updated: 04-JAN-2011<br />
Move <strong>to</strong> O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11g – The who<strong>le</strong> S<strong>to</strong><strong>ry</strong>
Agenda<br />
Prepa<strong>ra</strong>tion<br />
Ins<strong>ta</strong>llation<br />
Upg<strong>ra</strong>de<br />
News and Task List<br />
Diagnostics & Tuning<br />
Performance Testing<br />
Best P<strong>ra</strong>ctices<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 2
To<strong>ta</strong>l Business Dependence On<br />
Information<br />
What is Needed<br />
The Cost of Downtime<br />
• Greater availability<br />
• Innovative answers <strong>to</strong> downtime<br />
• Planned or Unplanned<br />
• Lower cost, <strong>ra</strong>ise usefulness<br />
• Improved security<br />
• Variety of access control options<br />
• Da<strong>ta</strong> enc<strong>ry</strong>ption with application<br />
t<strong>ra</strong>nsparency<br />
Airline Reservations<br />
Ca<strong>ta</strong>log Sa<strong>le</strong>s<br />
Home Shopping (TV)<br />
Pay-Per-View<br />
Credit Card Sa<strong>le</strong>s<br />
Re<strong>ta</strong>il Broke<strong>ra</strong>ge<br />
$89,500<br />
$90,000<br />
$113,000<br />
$150,000<br />
$2,600,000<br />
$6,450,000<br />
$0 $1,000,000 $2,000,000 $3,000,000 $4,000,000 $5,000,000 $6,000,000 $7,000,000<br />
Source: Gartner Group and Contingency Planning Research
The Cost of information Management<br />
• “Eight out of ten dollars that<br />
companies spend on IT is dead<br />
money” – Gartner Group Oct 2006<br />
• Personnel costs are between<br />
37-42% of IT budgets – META<br />
Group<br />
• Ave<strong>ra</strong>ge server utilization <strong>ra</strong>te<br />
is 5-10% - IDC & Gartner<br />
• S<strong>to</strong><strong>ra</strong>ge Growth Ave<strong>ra</strong>ges<br />
7%/Month (110% CAGR) – EMC<br />
25%<br />
Where IT Budgets are Spent<br />
75%<br />
Ope<strong>ra</strong>tional Capi<strong>ta</strong>l<br />
* Source:: Gartner Oct 2006
Technology Advances<br />
• Hardware cost declines<br />
• Moore’s Law (processing)<br />
• Gilder’s Law (bandwidth)<br />
• Shugart’s Law(s<strong>to</strong><strong>ra</strong>ge)<br />
• New pa<strong>ra</strong>digms and maturing<br />
s<strong>ta</strong>ndards<br />
• SOAP<br />
• XML<br />
• Web services<br />
xWeb<br />
•Service<br />
•Network<br />
•Virtual<br />
•Model<br />
Software<br />
Hardware<br />
Por<strong>ta</strong>bility<br />
Capability<br />
60s 70s<br />
80s 90s 00s 10s
O<strong>ra</strong>c<strong>le</strong>’s Alignment With Key Business<br />
Chal<strong>le</strong>nges<br />
O<strong>ra</strong>c<strong>le</strong> 2<br />
O<strong>ra</strong>c<strong>le</strong> 5<br />
O<strong>ra</strong>c<strong>le</strong> 6<br />
O<strong>ra</strong>c<strong>le</strong> 7<br />
O<strong>ra</strong>c<strong>le</strong> 8<br />
O<strong>ra</strong>c<strong>le</strong> 8i<br />
Built in Java VM<br />
Partitioning Support<br />
Built in Messaging<br />
Object Relational Support<br />
Multimedia Support<br />
Da<strong>ta</strong> Warehousing Optimizations<br />
Pa<strong>ra</strong>l<strong>le</strong>l Ope<strong>ra</strong>tions<br />
Distributed SQL & T<strong>ra</strong>nsaction Support<br />
Cluster and MPP Support<br />
Multi-version Read Consistency<br />
Client/Server Support<br />
Platform Por<strong>ta</strong>bility<br />
Commercial SQL Imp<strong>le</strong>men<strong>ta</strong>tion<br />
Grid Computing<br />
Au<strong>to</strong>matic S<strong>to</strong><strong>ra</strong>ge Management<br />
T<strong>ra</strong>nsparent Da<strong>ta</strong> Enc<strong>ry</strong>ption<br />
Self Managing Da<strong>ta</strong>base<br />
XML Da<strong>ta</strong>base<br />
O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong> Guard<br />
Real Application Clusters<br />
Flashback Que<strong>ry</strong><br />
Virtual Private Da<strong>ta</strong>base<br />
O<strong>ra</strong>c<strong>le</strong> 9i<br />
O<strong>ra</strong>c<strong>le</strong> 10g
Examp<strong>le</strong> 11g vs 10g<br />
Da<strong>ta</strong>base Resident<br />
Connection Pool<br />
Java Just-In-Time<br />
Compi<strong>le</strong>r<br />
2 0 0 0 %<br />
1 2<br />
1 0<br />
1 5 0 0 %<br />
1 0 0 0 %<br />
5 0 0 %<br />
0 %<br />
N b r C o n n e c t i o n s<br />
Up <strong>to</strong><br />
20 x connections<br />
S p e e d<br />
Up <strong>to</strong><br />
11 x Faster<br />
RAC Performance<br />
Enhancements<br />
O<strong>ra</strong>c<strong>le</strong> Secure<br />
Backup<br />
1 8 0 %<br />
1 4 0<br />
1 6 0 %<br />
1 2 0<br />
1 4 0 %<br />
1 0 0<br />
1 2 0 %<br />
8 0<br />
1 0 0 %<br />
8 0 %<br />
6 0<br />
6 0 %<br />
4 0<br />
4 0 %<br />
2 0<br />
2 0 %<br />
0 %<br />
Q u e r y I n t e n s i v e<br />
B a c k u p<br />
Up <strong>to</strong><br />
70% Faster<br />
Up <strong>to</strong><br />
25% Faster<br />
Que<strong>ry</strong> Result<br />
Caching<br />
1 4 0<br />
1 2 0<br />
1 0 0<br />
8 0<br />
6 0<br />
4 0<br />
2 0<br />
Q u e r i e s<br />
Up <strong>to</strong><br />
25% Faster<br />
O<strong>ra</strong>c<strong>le</strong> Streams<br />
Enhancements<br />
2 0 0<br />
1 5 0<br />
1 0 0<br />
5 0<br />
R e p l i c a t i o n<br />
Up <strong>to</strong><br />
2 x Faster<br />
TimesTen<br />
Cache<br />
1000<br />
800<br />
600<br />
400<br />
200<br />
0<br />
TimesTen<br />
Up <strong>to</strong><br />
10 x Faster<br />
Optimizer S<strong>ta</strong>ts<br />
Col<strong>le</strong>ction<br />
1000<br />
800<br />
600<br />
400<br />
200<br />
0<br />
S<strong>ta</strong>ts Col<strong>le</strong>ction<br />
Up <strong>to</strong><br />
10 x Faster<br />
8<br />
6<br />
4<br />
2<br />
0<br />
0<br />
0<br />
0
S<strong>to</strong><strong>ra</strong>ge<br />
Backup<br />
Memo<strong>ry</strong><br />
Apps/SQL<br />
RAC<br />
Recove<strong>ry</strong><br />
Replication<br />
Self Managing Da<strong>ta</strong>base<br />
Au<strong>to</strong>-Tuning<br />
Adviso<strong>ry</strong><br />
Instrumen<strong>ta</strong>tion
Lifetime Support Policy<br />
<strong>to</strong>day<br />
Janua<strong>ry</strong> 2015 Janua<strong>ry</strong> 2018<br />
R2<br />
August 2012 August 2015<br />
July 2010 July 2011 July 2013<br />
R2<br />
Janua<strong>ry</strong> 2009 Janua<strong>ry</strong> 2012<br />
t<br />
Sus<strong>ta</strong>ining Support<br />
Extended Support<br />
July 2010<br />
Premier Support<br />
July 2008<br />
July 2007<br />
R2<br />
2018<br />
2017<br />
2016<br />
2015<br />
2014<br />
2013<br />
2012<br />
2011<br />
2010<br />
2009<br />
2008<br />
2007<br />
2006<br />
2005<br />
2004<br />
2003<br />
2002<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 9
Lifetime Support Policy<br />
Feature Premier<br />
Support<br />
Extended<br />
Support<br />
Sus<strong>ta</strong>ining<br />
Support<br />
Major Product and Technology Re<strong>le</strong>ases <br />
Technical Support <br />
Access <strong>to</strong> Know<strong>le</strong>dge Base<br />
(Me<strong>ta</strong>Link Me<strong>ta</strong>Link/Cus<strong>to</strong>mer Connection/SupportWeb<br />
SupportWeb)<br />
<br />
Updates, Fixes, Security A<strong>le</strong>rts and Critical Patch<br />
Updates<br />
Pre-existing existing Only<br />
Tax, Legal and Regula<strong>to</strong><strong>ry</strong> Updates No<br />
Upg<strong>ra</strong>de Scripts No<br />
Certification with existing Third Party<br />
Products/Versions<br />
No<br />
Certification with New Third Party<br />
Products/Versions<br />
No No<br />
Certification with new O<strong>ra</strong>c<strong>le</strong> Products No<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 10
Agenda<br />
Prepa<strong>ra</strong>tion<br />
Ins<strong>ta</strong>llation<br />
Upg<strong>ra</strong>de<br />
News and Task List<br />
Support Policy<br />
Certification<br />
Documen<strong>ta</strong>tion<br />
References<br />
Upg<strong>ra</strong>de paths<br />
Sanity ope<strong>ra</strong>tions<br />
Prepa<strong>ra</strong>tion<br />
Diagnostics & Tuning<br />
Performance Testing<br />
Best P<strong>ra</strong>ctices<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 11
Upg<strong>ra</strong>de <strong>to</strong> O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11g<br />
≥ 7.3.4<br />
R2<br />
≥ 9.2.0.4<br />
9.2.0.8<br />
≥ 8.0.6<br />
≥ 8.1.7.4<br />
R2<br />
10.1.0.5<br />
≥ 9.0.1.4<br />
R2<br />
≥ 10.2.0.2<br />
"Empty" arrows mean: no specific patch re<strong>le</strong>ase required<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 12
Upg<strong>ra</strong>de Length<br />
• How long will the upg<strong>ra</strong>de <strong>ta</strong>ke<br />
<strong>to</strong> comp<strong>le</strong>te<br />
• Independent of:<br />
• Size of the da<strong>ta</strong>base<br />
• Used da<strong>ta</strong>types<br />
• Dependent mainly on:<br />
• The number of ins<strong>ta</strong>l<strong>le</strong>d components and options<br />
• Valid and non-s<strong>ta</strong><strong>le</strong> da<strong>ta</strong> dictiona<strong>ry</strong> s<strong>ta</strong>tistics<br />
• Number of synonyms – they'll get recompi<strong>le</strong>d (upg<strong>ra</strong>de from 9i)<br />
• Number of user objects in XDB (upg<strong>ra</strong>de from 10.2)<br />
• At a ve<strong>ry</strong> low <strong>ra</strong>te, if COMPATIBLE is increased:<br />
• Number of da<strong>ta</strong>fi<strong>le</strong>s<br />
• Size of redo logs<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 13
Upg<strong>ra</strong>de Length<br />
• Speed up your upg<strong>ra</strong>de performance by:<br />
• Truncating the auditing <strong>ta</strong>b<strong>le</strong> SYS.AUD$<br />
SQL> truncate <strong>ta</strong>b<strong>le</strong> SYS.AUD$ drop s<strong>to</strong><strong>ra</strong>ge;<br />
SQL> truncate <strong>ta</strong>b<strong>le</strong> SYS.AUD$ drop s<strong>to</strong><strong>ra</strong>ge;<br />
• Possibly switch off archiving<br />
• Make sure this will comply with your business ru<strong>le</strong>s<br />
• Creating dictiona<strong>ry</strong> s<strong>ta</strong>tistics right before the upg<strong>ra</strong>de<br />
• O<strong>ra</strong>c<strong>le</strong> 9i:<br />
SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS<br />
('SYS', options => 'GATHER',estimate_percent =><br />
DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR<br />
ALL COLUMNS SIZE AUTO', cascade => TRUE);<br />
• O<strong>ra</strong>c<strong>le</strong> 10g/11g:<br />
SQL> exec DBMS_STATS.GATHER_DICTIONARY_STATS;<br />
SQL> exec DBMS_STATS.GATHER_DICTIONARY_STATS;<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 14
Upg<strong>ra</strong>de is easier!<br />
• The upg<strong>ra</strong>de <strong>to</strong> O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11g is much easier<br />
than any upg<strong>ra</strong>des <strong>to</strong> earlier O<strong>ra</strong>c<strong>le</strong> re<strong>le</strong>ases<br />
• Size of Upg<strong>ra</strong>de guides:<br />
• 8.1.7 - 512 pages<br />
• 9.0.1 - 484 pages – 111 steps for an RDBMS with 9 components<br />
• 9.2.0 - 344 pages<br />
• 10.1.0 - 170 pages<br />
• 10.2.0 - 140 pages<br />
• 11.1.0 - 186 pages<br />
• 11.2.0 -178 pages<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 15
Documen<strong>ta</strong>tion<br />
• Note:250.1 Upg<strong>ra</strong>de Advisors<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 16
Documen<strong>ta</strong>tion<br />
• Note:785351.1 Upg<strong>ra</strong>de Companion 11g<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 17
OTN Upg<strong>ra</strong>de Forum<br />
• http://forums.o<strong>ra</strong>c<strong>le</strong>.com/forums/forum.jspaforumID=583&s<strong>ta</strong>rt=0<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 18
Upg<strong>ra</strong>de Blog: blogs.o<strong>ra</strong>c<strong>le</strong>.com/UPGRADE<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 19
Anybody live on O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11g<br />
• Currently:<br />
• 62 external O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11g Re<strong>le</strong>ase 2 references<br />
• 92 external O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11g Re<strong>le</strong>ase 1 references<br />
Last updated: 23-OCT-2010<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 20
62 External 11.2 References (1/4)<br />
Last updated: 23-OCT-2010<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 21
92 External 11.1 References (1/6)<br />
Last updated: 23-OCT-2010<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 22
Upg<strong>ra</strong>de Paths<br />
Export/Import<br />
UPGRADE<br />
N S<strong>ta</strong>y on same OS<br />
Y<br />
CTAS, COPY<br />
N<br />
Downtime >30min<br />
SQL Apply<br />
Y<br />
O<strong>ra</strong>c<strong>le</strong> Streams<br />
DBUA<br />
T<strong>ra</strong>nspor<strong>ta</strong>b<strong>le</strong> Tab<strong>le</strong>spaces<br />
T<strong>ra</strong>nspor<strong>ta</strong>b<strong>le</strong> Da<strong>ta</strong>base<br />
CLI<br />
SQL> @catupgrd<br />
O<strong>ra</strong>c<strong>le</strong> Golden Gate<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 23
Sanity Ope<strong>ra</strong>tions<br />
• Always check for INVALID objects:<br />
SQL> SELECT UNIQUE object_name, object_type, owner<br />
FROM dba_objects WHERE s<strong>ta</strong>tus='INVALID';<br />
• Fix all INVALID objects BEFORE the upg<strong>ra</strong>de!!!!!!<br />
• There should be no invalid objects in SYS and SYSTEM<br />
user schema<br />
• Recompi<strong>le</strong> invalid objects with utlrp.sql before the upg<strong>ra</strong>de<br />
• Compare invalid objects from before and after the upg<strong>ra</strong>de<br />
• Beginning with 11.1.0.7 the comparison has been made easier<br />
• Run the pre-upg<strong>ra</strong>de check script utlu112i.sql<br />
• Afterwards find invalid objects in regist<strong>ry</strong>$sys_inv_objs and<br />
regist<strong>ry</strong>$nonsys_inv_objs<br />
• Compare after the upg<strong>ra</strong>de with: utluiobj.sql<br />
• The view DBA_INVALID_OBJECTS con<strong>ta</strong>ins a list of invalid objects after the<br />
upg<strong>ra</strong>de<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 24
Sanity Ope<strong>ra</strong>tions<br />
• If upg<strong>ra</strong>ding from 10g or 11g, purge the recyc<strong>le</strong>bin<br />
SQL> purge DBA_RECYCLEBIN;<br />
SQL> purge DBA_RECYCLEBIN;<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 25
Sanity Ope<strong>ra</strong>tions<br />
• Remove "old" pa<strong>ra</strong>meters, underscores and events from<br />
your init.o<strong>ra</strong>/spfi<strong>le</strong><br />
• Examp<strong>le</strong>s:<br />
init.o<strong>ra</strong>:<br />
<br />
_always_semi_join=off<br />
_unnest_subque<strong>ry</strong>=false<br />
<br />
optimizer_features_enab<strong>le</strong>=9.0.1<br />
<br />
event = "10061 t<strong>ra</strong>ce name context forever, <strong>le</strong>vel 10"<br />
<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 26
Prepa<strong>ra</strong>tion<br />
• Col<strong>le</strong>cting sufficient performance da<strong>ta</strong> prior<br />
<strong>to</strong> the upg<strong>ra</strong>de is of vi<strong>ta</strong>l impor<strong>ta</strong>nce<br />
• Sufficient means: S<strong>ta</strong>rting at <strong>le</strong>ast 4 weeks before the upg<strong>ra</strong>de<br />
• Gather accu<strong>ra</strong>te performance s<strong>ta</strong>tistics<br />
• In O<strong>ra</strong>c<strong>le</strong> 8i/9i:<br />
• Use STATSPACK<br />
• Export the PERFSTAT user right before the upg<strong>ra</strong>de<br />
• Note:466350.1 STATSPACK before/after upg<strong>ra</strong>de<br />
• In O<strong>ra</strong>c<strong>le</strong> 10g/11g:<br />
• Use AWR<br />
• Take snapshots eve<strong>ry</strong> 30-60 minutes – retention: >30 days<br />
• Ext<strong>ra</strong>ct the AWR with: SQL> @/rdbms/admin/awrext.sql<br />
• => For 10.1 only use: DBMS_SWRF_INTERNAL.EXTRACT_AWR<br />
• Use AWR DIFF reports <strong>to</strong> compare before & after upg<strong>ra</strong>de performance:<br />
DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 27
Agenda<br />
Prepa<strong>ra</strong>tion<br />
Ins<strong>ta</strong>llation<br />
Upg<strong>ra</strong>de<br />
News and Task List<br />
Ins<strong>ta</strong>llation Overview<br />
O<strong>ra</strong>c<strong>le</strong> Clusterware & ASM<br />
Ins<strong>ta</strong>llation<br />
Patches<br />
Time Zone<br />
Unattended<br />
Diagnostics & Tuning<br />
Performance Testing<br />
Best P<strong>ra</strong>ctices<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 28
Ins<strong>ta</strong>llation overview<br />
≤ 11.1.0.7<br />
≥ 11.2.0.1<br />
$ORACLE_BASE<br />
$ORACLE_BASE<br />
Inven<strong>to</strong><strong>ry</strong>, ADR etc.<br />
Inven<strong>to</strong><strong>ry</strong>, ADR etc.<br />
1.<br />
ORA_CRS_HOME<br />
O<strong>ra</strong>c<strong>le</strong> Clusterware<br />
same owner <br />
GRID_HOME<br />
Grid Inf<strong>ra</strong>structure<br />
O<strong>ra</strong>c<strong>le</strong> Clusterware<br />
2.<br />
$ORACLE_HOME – for ASM<br />
O<strong>ra</strong>c<strong>le</strong> ASM<br />
O<strong>ra</strong>c<strong>le</strong> ASM<br />
3.<br />
$ORACLE_HOME – for Da<strong>ta</strong>base $ORACLE_HOME – for Da<strong>ta</strong>base<br />
O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base<br />
O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 29
O<strong>ra</strong>c<strong>le</strong> Clusterware Upg<strong>ra</strong>de 11g Re<strong>le</strong>ase 2<br />
R2<br />
No ASM, no O<strong>ra</strong>c<strong>le</strong> Clusterware<br />
Clusterware<br />
R2<br />
Clusterware<br />
Clusterware & ASM:10.1.0.5<br />
Clusterware & ASM: ≥ 10.2.0.3<br />
Clusterware:<br />
Rolling upg<strong>ra</strong>de<br />
ASM:<br />
No rolling upg<strong>ra</strong>de<br />
R2<br />
Clusterware<br />
Clusterware & ASM: rolling upg<strong>ra</strong>de<br />
Clusterware<br />
==> Unset ORACLE_HOME, ORACLE_BASE and ORA_CRS_HOME<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 30
Ins<strong>ta</strong>llation Da<strong>ta</strong>base Home 11.2<br />
Ins<strong>ta</strong>ll newest PATCH SET (full ins<strong>ta</strong>ll re<strong>le</strong>ase<br />
since 11.2) in<strong>to</strong> a new O<strong>ra</strong>c<strong>le</strong> home<br />
Apply newest availab<strong>le</strong> patch set update (PSU)<br />
Apply recommended (bund<strong>le</strong>d) patches (BP)<br />
Apply one-off patches for known issues<br />
Now: S<strong>ta</strong>rt the da<strong>ta</strong>base upg<strong>ra</strong>de!!!<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 31
Unattended Ins<strong>ta</strong>llation/Configu<strong>ra</strong>tion<br />
• Two options:<br />
• O<strong>ra</strong>c<strong>le</strong> Universal Ins<strong>ta</strong>l<strong>le</strong>r OUI<br />
• Until O<strong>ra</strong>c<strong>le</strong> 11.1<br />
• ./runIns<strong>ta</strong>l<strong>le</strong>r -record -destinationFi<strong>le</strong> ...<br />
• ./runIns<strong>ta</strong>l<strong>le</strong>r -si<strong>le</strong>nt -noconso<strong>le</strong> -responseFi<strong>le</strong> ...<br />
But this has <strong>to</strong> be done for a patch set, <strong>to</strong>o<br />
• O<strong>ra</strong>c<strong>le</strong> 11.2 – see Note:885643.1<br />
• SAVE RESPONSEFILE option in OUI availab<strong>le</strong><br />
• Or: S<strong>ta</strong>rt OUI “si<strong>le</strong>nt” with all required pa<strong>ra</strong>meters<br />
• Home Cloning (script or Provisioning Pack)<br />
• Prepare a fully patched O<strong>ra</strong>c<strong>le</strong> Home<br />
• Create an archive consisting of all fi<strong>le</strong>s<br />
• Exclude *log, *dbf, tnsnames/listener/sqlnet.o<strong>ra</strong><br />
• Unpack archive and then ./runIns<strong>ta</strong>l<strong>le</strong>r -si<strong>le</strong>nt -clone -...<br />
• Listener Configu<strong>ra</strong>tion<br />
• ./netca /si<strong>le</strong>nt /responseFi<strong>le</strong> $OH/inven<strong>to</strong><strong>ry</strong>/response/netca.rsp<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 32
Da<strong>ta</strong>base Upg<strong>ra</strong>de Assis<strong>ta</strong>nt (GUI)<br />
• Features:<br />
• G<strong>ra</strong>phically <strong>le</strong>d upg<strong>ra</strong>de<br />
• Lots of impor<strong>ta</strong>nt checks<br />
• RAC aware - inclusion of all nodes<br />
• for RAC (almost) a must !!!<br />
• Offline Backup and Res<strong>to</strong>re possib<strong>le</strong><br />
• ASM upg<strong>ra</strong>de (until 11.1)<br />
• O<strong>ra</strong>c<strong>le</strong> XE upg<strong>ra</strong>de<br />
• Patch upg<strong>ra</strong>des<br />
• Logs:<br />
• $ORACLE_HOME/cfg<strong>to</strong>ollogs/dbua<br />
• Documen<strong>ta</strong>tion:<br />
• O<strong>ra</strong>c<strong>le</strong>® Da<strong>ta</strong>base Upg<strong>ra</strong>de Guide<br />
http://download.o<strong>ra</strong>c<strong>le</strong>.com/docs/cd/E11882_01/server.112/e17222/<strong>to</strong>c.htm<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 33
Command Line Upg<strong>ra</strong>de<br />
• Typical scenario: e.g. changing <strong>to</strong> a new server<br />
Server(OLD)<br />
Server(NEW)<br />
3) Run utlu112i.sql<br />
4) Shutdown da<strong>ta</strong>base<br />
5) Copy all re<strong>le</strong>vant fi<strong>le</strong>s<br />
(dbf, ctl, log, spfi<strong>le</strong>, o<strong>ra</strong>pw)<br />
1) Ins<strong>ta</strong>ll O<strong>ra</strong>c<strong>le</strong>11g software<br />
2) Copy utlu112i.sql<br />
6) Apply suggested changes<br />
7) S<strong>ta</strong>rt the upg<strong>ra</strong>de process<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 34
Command Line Upg<strong>ra</strong>de – Step-by-Step<br />
Ins<strong>ta</strong>ll and patch the new O<strong>ra</strong>c<strong>le</strong> home<br />
SQL> s<strong>ta</strong>rtup upg<strong>ra</strong>de<br />
Take a comp<strong>le</strong>te online<br />
backup of the current da<strong>ta</strong>base<br />
Download and run utlu112i.sql<br />
and follow its recommendations<br />
Create a SYSAUX <strong>ta</strong>b<strong>le</strong>space<br />
SQL> @catupgrd.sql<br />
SQL> @catuppst.sql<br />
Copy password fi<strong>le</strong> and<br />
spfi<strong>le</strong> <strong>to</strong> the new $OH/dbs<br />
SQL> @utlrp.sql<br />
SQL> @utlu112s.sql<br />
Switch <strong>to</strong> the new 11.2 env.<br />
SQL> @utluiobj.sql<br />
S<strong>ta</strong>rt a new 11.2 listener<br />
Time zone change<br />
DONE!<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 35
Post Upg<strong>ra</strong>de - SPFILE<br />
°<br />
°<br />
Best P<strong>ra</strong>ctice<br />
°<br />
°<br />
• Always create an edi<strong>ta</strong>b<strong>le</strong> init.o<strong>ra</strong> from the current SPFILE<br />
after the upg<strong>ra</strong>de has been finished<br />
• Prevents rewrite in case of setting wrong pa<strong>ra</strong>meters or<br />
forced edit<br />
• Keep in mind:<br />
• The SPFILE is bina<strong>ry</strong> fi<strong>le</strong>!!! Don't edit it!! Default since O<strong>ra</strong>c<strong>le</strong> 9.0<br />
• It simply will exist after using DBUA or DBCA<br />
SQL> create pfi<strong>le</strong>='/tmp/initDB.o<strong>ra</strong>' from spfi<strong>le</strong>;<br />
><br />
SQL> s<strong>ta</strong>rtup force pfi<strong>le</strong>=/tmp/initDB.o<strong>ra</strong><br />
SQL> create spfi<strong>le</strong> from pfi<strong>le</strong>;<br />
• Pa<strong>ra</strong>meter can be changed by:<br />
SQL> alter system set PARAMETER=VALUE scope=both;<br />
SQL> alter system set PARAMETER=VALUE scope=both;<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 36
Post Upg<strong>ra</strong>de Task – time zone<br />
Only in 11g Re<strong>le</strong>ase 2<br />
• Adjust time zone da<strong>ta</strong> in the da<strong>ta</strong>base <strong>to</strong> DST V11 or higher:<br />
s<strong>ta</strong>rtup upg<strong>ra</strong>de<br />
exec dbms_dst.begin_upg<strong>ra</strong>de(new_version => 14);<br />
shutdown immediate;<br />
s<strong>ta</strong>rtup;<br />
set serveroutput on;<br />
declare<br />
num_of_failures number;<br />
begin<br />
dbms_dst.upg<strong>ra</strong>de_da<strong>ta</strong>base(num_of_failures);<br />
dbms_output.put_line(num_of_failures);<br />
dbms_dst.end_upg<strong>ra</strong>de(num_of_failures);<br />
dbms_output.put_line(num_of_failures);<br />
dbms_output.put_line(num_of_failures);<br />
end;<br />
end;<br />
/<br />
/<br />
• For more information see the Globalization Doc:<br />
http://download.o<strong>ra</strong>c<strong>le</strong>.com/docs/cd/E11882_01/server.112/e10729/ch4datetime.htm#NLSPG261<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 37
Gather Workload S<strong>ta</strong>tistics<br />
°<br />
°<br />
Best P<strong>ra</strong>ctice<br />
°<br />
°<br />
• Gather system s<strong>ta</strong>tistics during a regular workload period -<br />
otherwise non-appropriate values for the CBO will be used:<br />
SQL> EXECUTE dbms_s<strong>ta</strong>ts.gather_system_s<strong>ta</strong>ts('s<strong>ta</strong>rt');<br />
><br />
><br />
SQL> EXECUTE dbms_s<strong>ta</strong>ts.gather_system_s<strong>ta</strong>ts('s<strong>to</strong>p');<br />
SQL> se<strong>le</strong>ct pname NAME, pval1 VALUE, pval2 INFO<br />
from aux_s<strong>ta</strong>ts$;<br />
NAME VALUE INFO<br />
-------------------- ---------- ------------------------------<br />
STATUS COMPLETED<br />
DSTART 04-03-2010 12:30<br />
DSTOP 05-03-2010 12:30<br />
FLAGS 1<br />
CPUSPEEDNW 2498,65<br />
IOSEEKTIM 11,405<br />
IOTFRSPEED 25595,605<br />
...<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 38
Pa<strong>ra</strong>meter COMPATIBLE<br />
• COMPATIBLE has <strong>to</strong> be at <strong>le</strong>ast 10.1.0 for an 11g da<strong>ta</strong>base<br />
• No way back once ≥11.1.0 has been enab<strong>le</strong>d<br />
• Supported re<strong>le</strong>ase downg<strong>ra</strong>de <strong>to</strong> 10.1.0.5, ≥10.2.0.2, ≥11.1.0.6<br />
• No ALTER DATABASE RESET COMPATIBILITY command anymore<br />
COMPATIBLE = 10.0/1/2.0<br />
COMPATIBLE = 11.0.0<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 39
New 11g Pa<strong>ra</strong>meters<br />
• New in 11.1.0.6:<br />
• ASM_PREFERRED_READ_FAILURE_GROUPS<br />
CLIENT_RESULT_CACHE_LAG<br />
CLIENT_RESULT_CACHE_SIZE<br />
COMMIT_LOGGING<br />
COMMIT_WAIT<br />
CONTROL_MANAGEMENT_PACK_ACCESS<br />
DB_LOST_WRITE_PROTECT<br />
DB_SECUREFILE<br />
DB_ULTRA_SAFE<br />
DDL_LOCK_TIMEOUT<br />
DIAGNOSTIC_DEST<br />
GLOBAL_TXN_PROCESSES<br />
JAVA_JIT_ENABLED<br />
LDAP_DIRECTORY_SYSAUTH<br />
MEMORY_MAX_TARGET<br />
MEMORY_TARGET<br />
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES<br />
OPTIMIZER_USE_INVISIBLE_INDEXES<br />
OPTIMIZER_USE_PENDING_STATISTICS<br />
OPTIMIZER_USE_SQL_PLAN_BASELINES<br />
• New in 11.1.0.7 (for Exada<strong>ta</strong>/SAGE):<br />
• CELL_OFFLOAD_PROCESSING<br />
CELL_OFFLOAD_DECRYPTION<br />
CELL_OFFLOAD_PARAMETERS<br />
PARALLEL_IO_CAP_ENABLED<br />
PLSCOPE_SETTINGS<br />
REDO_TRANSPORT_USER<br />
RESOURCE_MANAGER_CPU_ALLOCATION<br />
RESULT_CACHE_MAX_RESULT<br />
RESULT_CACHE_MAX_SIZE<br />
RESULT_CACHE_MODE<br />
RESULT_CACHE_REMOTE_EXPIRATION<br />
SEC_CASE_SENSITIVE_LOGON<br />
SEC_MAX_FAILED_LOGIN_ATTEMPTS<br />
SEC_PROTOCOL_ERROR_FURTHER_ACTION<br />
SEC_PROTOCOL_ERROR_TRACE_ACTION<br />
SEC_RETURN_SERVER_RELEASE_BANNER<br />
XML_DB_EVENTS<br />
CELL_OFFLOAD_COMPACTION<br />
CELL_OFFLOAD_PLAN_DISPLAY<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 40
New Background Processes<br />
Process<br />
Name<br />
Description Found<br />
ACMS<br />
In an RAC environment, this per-ins<strong>ta</strong>nce process (A<strong>to</strong>mic Controlfi<strong>le</strong> <strong>to</strong> Memo<strong>ry</strong> Service) is an agent<br />
which contributes <strong>to</strong> ensuring a distributed SGA memo<strong>ry</strong> update is either globally committed on success<br />
or globally aborted in the event of a failure.<br />
RAC<br />
DIA0<br />
Responsib<strong>le</strong> for hang detection and deadlock resolution.<br />
ALL<br />
DIAG<br />
Performs diagnostic dumps and executes global o<strong>ra</strong>debug commands.<br />
ALL<br />
DBRM<br />
The Resource Manager process is responsib<strong>le</strong> for setting Resource Plans and other Resource Manager<br />
related <strong>ta</strong>sks.<br />
ALL<br />
EMNC /<br />
e0xx<br />
The Event Moni<strong>to</strong>r Coordina<strong>to</strong>r coordinates the event management and notification activity in the<br />
da<strong>ta</strong>base which includes Streams Event Notifications, Continuous Que<strong>ry</strong> Notifications and Fast<br />
Application Notifications.<br />
ALL with any<br />
registered event<br />
activity<br />
(optional non-fa<strong>ta</strong>l)<br />
FBDA<br />
The process archives his<strong>to</strong>rical rows for t<strong>ra</strong>cked <strong>ta</strong>b<strong>le</strong>s in<strong>to</strong> flashback da<strong>ta</strong> archives and manages the<br />
flashback archives.<br />
ALL<br />
GEN0 Gene<strong>ra</strong>l Task Execution Process. Performs required <strong>ta</strong>sks including SQL and DML. ALL<br />
GMON Main<strong>ta</strong>ins disk membership in ASM disk groups ASM<br />
GTX0-j<br />
Provides t<strong>ra</strong>nsparent support for XA global t<strong>ra</strong>nsactions in a RAC environment. The da<strong>ta</strong>base<br />
au<strong>to</strong>tunes the number of these processes based on the workload of XA global t<strong>ra</strong>nsactions.<br />
RAC only<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 41
CONNECT Ro<strong>le</strong><br />
• The CONNECT Ro<strong>le</strong> has been changed since 10g R2 :<br />
GRANTEE PRIVILEGE<br />
----------------------- -------------------<br />
CONNECT CREATE VIEW<br />
CONNECT CREATE TABLE<br />
CONNECT ALTER SESSION<br />
CONNECT CREATE CLUSTER<br />
CONNECT CREATE SESSION<br />
CONNECT CREATE SYNONYM<br />
CONNECT CREATE SEQUENCE<br />
CONNECT CREATE DATABASE LINK<br />
R2<br />
GRANTEE PRIVILEGE<br />
----------------------- -------------------<br />
CONNECT CREATE SESSION<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 42
GROUP BY results: unsorted<br />
• Hash Group by aggregation which allows a hash<br />
algorithm <strong>to</strong> process group by s<strong>ta</strong>tements<br />
• For sorts ORDER BY has <strong>to</strong> be used<br />
se<strong>le</strong>ct sum(sal), deptno from scott.emp group by deptno;<br />
se<strong>le</strong>ct sum(sal), deptno from scott.emp group by deptno;<br />
SUM(SAL) DEPTNO<br />
---------- ----------<br />
8750 10<br />
10875 20<br />
9400 30<br />
SUM(SAL) DEPTNO<br />
---------- ---------<br />
9400 30<br />
10875 20<br />
8750 10<br />
• Description see Note:345048.1<br />
• _gby_hash_aggregation_enab<strong>le</strong>d=false<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 43
Ins<strong>ta</strong>nt Client<br />
• Universal. small footprint O<strong>ra</strong>c<strong>le</strong> client<br />
• Works with OCI, OCCI, Pro*C, ODBC, JDBC, ODP.NET, ASP.NET,<br />
OLE DB and OO4O applications<br />
• No OUI O<strong>ra</strong>c<strong>le</strong> Client ins<strong>ta</strong>llation necessa<strong>ry</strong> anymore<br />
• Easy and simp<strong>le</strong> deployment<br />
• Download it from OTN<br />
• Copy it <strong>to</strong> the <strong>ta</strong>rget/client system(s)<br />
• Add its direc<strong>to</strong><strong>ry</strong> <strong>to</strong> PATH/LD_LIBRARY_PATH and set TNS_ADMIN<br />
• For ODBC run the provided batch script<br />
• Patching Just deploy the current version<br />
• More Information on OTN:<br />
http://www.o<strong>ra</strong>c<strong>le</strong>.com/technetwork/da<strong>ta</strong>base/features/ins<strong>ta</strong>nt-client/index-100365.html<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 44
Enterprise Manager 11g<br />
• Da<strong>ta</strong>base Control for all da<strong>ta</strong>base administ<strong>ra</strong>tion <strong>ta</strong>sks<br />
•<br />
• Grid Control as an IT system administ<strong>ra</strong>tion <strong>to</strong>ol<br />
• Supports O<strong>ra</strong>c<strong>le</strong> and non-O<strong>ra</strong>c<strong>le</strong> IT inf<strong>ra</strong>structures<br />
• Grid Control 11g has been availab<strong>le</strong> since 22-APR-2010<br />
• Be sure <strong>to</strong> upg<strong>ra</strong>de the agents when you upg<strong>ra</strong>de <strong>to</strong> a new<br />
version of GC!<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 45
SQL Developer<br />
• Developer <strong>to</strong>ol at no ext<strong>ra</strong> cost<br />
http://www.o<strong>ra</strong>c<strong>le</strong>.com/technetwork/developer-<strong>to</strong>ols/sql-developer/overview/index.html<br />
• Key Features:<br />
• Excel<strong>le</strong>nt PL/SQL development and debugging<br />
• Extremely fast object browser<br />
• Base <strong>to</strong>ol free, some features require additional licenses<br />
• Schema/da<strong>ta</strong>base copy and diff (Change Management Pack)<br />
• Supports O<strong>ra</strong>c<strong>le</strong> 9iR2 and above<br />
• Mig<strong>ra</strong>tion workbench for:<br />
• MS SQL-Server<br />
• MS Access<br />
• MySQL<br />
• Current version:<br />
• 2.1.1<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 46
APEX<br />
• APEX = Application Express = ex-HTMLDB<br />
• GUI development environment<br />
• Easy <strong>to</strong> use - wizard driven<br />
• Forms conversion assis<strong>ta</strong>nt<br />
• APEX is availab<strong>le</strong> by default<br />
• No additional ins<strong>ta</strong>llation or license necessa<strong>ry</strong><br />
• O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11.2 ships with APEX 3.2<br />
• No webserver necessa<strong>ry</strong> – XDB gateway used for http<br />
• APEX 4.0 availab<strong>le</strong><br />
• HTTP via APEX Listener<br />
http://www.o<strong>ra</strong>c<strong>le</strong>.com/technetwork/developer-<strong>to</strong>ols/apexlistener/overview/index.html<br />
• Two configu<strong>ra</strong>tion steps:<br />
• $ORACLE_HOME/apex/apxconf.sql<br />
• ALTER USER anonymous ACCOUNT UNLOCK;<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 47
LONG LOB Conversion<br />
• Conversion:<br />
ALTER TABLE long_<strong>ta</strong>b MODIFY ( long_col CLOB );<br />
• Online Tab<strong>le</strong> Redefinition<br />
• Availab<strong>le</strong> for LONG/LOB since 10g<br />
• Package: DBMS_REDEFINITION<br />
• Regulation:<br />
• LONG CLOB<br />
• LONG RAW BLOB<br />
• Conversion is done implicitly<br />
• For scripted examp<strong>le</strong>s see: Note:251417.1, Note:556283.1 and<br />
Note:1012454.7<br />
• Advan<strong>ta</strong>ge:<br />
Source <strong>ta</strong>b<strong>le</strong> is availab<strong>le</strong> during the who<strong>le</strong> process<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 48
SecureFi<strong>le</strong>s<br />
• Securefi<strong>le</strong>s = new LOB s<strong>to</strong><strong>ra</strong>ge technology<br />
• Better performance<br />
• Additional features: deduplication, enc<strong>ry</strong>ption<br />
• Examp<strong>le</strong>s:<br />
CREATE TABLE t1 (a CLOB) LOB(a) STORE AS SECUREFILE;<br />
CREATE TABLE t2 (a CLOB) LOB(a) STORE AS SECUREFILE<br />
(DEDUPLICATE);<br />
CREATE TABLE t3 (a CLOB ENCRYPT USING 'AES128')<br />
LOB(a) STORE AS SECUREFILE (CACHE);<br />
• Tab<strong>le</strong>space must be ASSM managed<br />
• Initialization pa<strong>ra</strong>meter<br />
DB_SECUREFILE = [NEVER | PERMITTED | ALWAYS | IGNORE]<br />
CREATE TABLE t1 (a CLOB); -- this will be a Securefi<strong>le</strong>!!!<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 49
Agenda<br />
Prepa<strong>ra</strong>tion<br />
Ins<strong>ta</strong>llation<br />
Upg<strong>ra</strong>de<br />
News and Task List<br />
Diagnostics & Tuning<br />
Object S<strong>ta</strong>tistics<br />
Moni<strong>to</strong>ring<br />
SQL Tuning<br />
Performance Testing<br />
Best P<strong>ra</strong>ctices<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 50
Tuning with the right <strong>to</strong>ols ...<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 51
Chal<strong>le</strong>nges<br />
• >90% of so-cal<strong>le</strong>d upg<strong>ra</strong>de prob<strong>le</strong>ms aren't really upg<strong>ra</strong>de<br />
prob<strong>le</strong>ms but performance issues after the upg<strong>ra</strong>de<br />
• It's impor<strong>ta</strong>nt <strong>to</strong> use sufficient test scenarios and methods<br />
• Typical prob<strong>le</strong>m areas:<br />
• Optimizer - execution plans<br />
• Queries are slow<br />
• Reports or batches <strong>ta</strong>ke longer <strong>to</strong> comp<strong>le</strong>te<br />
• Increased resource requirements<br />
• Code path changes<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 52
Real Application Testing<br />
• Goal:<br />
• Record and replay a real workload <strong>to</strong> see how the new system<br />
performs<br />
• Find regressions and changing plans before the upg<strong>ra</strong>de<br />
• Licensab<strong>le</strong> da<strong>ta</strong>base pack "Real Application Testing"<br />
Availab<strong>le</strong> since O<strong>ra</strong>c<strong>le</strong> Da<strong>ta</strong>base 11.1.0.6<br />
Availab<strong>le</strong> with patch set 10.2.0.4/5<br />
Availab<strong>le</strong> as sing<strong>le</strong> patch for 9.2.0.8 and 10.2.0.2/3<br />
For patch numbers p<strong>le</strong>ase see Note:560977.1<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 53
Da<strong>ta</strong>base Replay<br />
• Replay actual production da<strong>ta</strong>base workload in test environment<br />
• Identify, analyze and fix potential ins<strong>ta</strong>bilities before making changes <strong>to</strong><br />
production<br />
• Capture Workload in Production<br />
• Capture full production workload with real load, timing & concurrency<br />
cha<strong>ra</strong>cteristics<br />
• Move the captured workload <strong>to</strong> test system<br />
• Replay Workload in Test<br />
• Make the desired changes in test system<br />
• Replay workload with full production cha<strong>ra</strong>cteristics<br />
• Honor commit ordering<br />
• Analyze & Report<br />
• Errors<br />
• Da<strong>ta</strong> divergence<br />
• Performance divergence<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 54
SQL Performance Analyzer: Workflow<br />
Production Test<br />
Make Change<br />
Steps (1) (2) (3) (4) (5)<br />
Capture<br />
SQL (STS)<br />
T<strong>ra</strong>nsport<br />
STS<br />
Execute SQL<br />
Pre-change<br />
Execute SQL<br />
Post-change<br />
Compare<br />
Perf.<br />
(6) Reite<strong>ra</strong>te<br />
No<br />
Done<br />
(7)<br />
Tuned System<br />
Production Change /<br />
(7)<br />
Tuning Deployment<br />
Yes<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 55
Agenda<br />
Prepa<strong>ra</strong>tion<br />
Ins<strong>ta</strong>llation<br />
Upg<strong>ra</strong>de<br />
News and Task List<br />
Diagnostics & Tuning<br />
Performance Testing<br />
Best P<strong>ra</strong>ctices<br />
Fallback St<strong>ra</strong>tegies<br />
Guidelines<br />
Real World Experiences<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 56
Fallback St<strong>ra</strong>tegy - Concepts<br />
• Fallback concepts:<br />
• Always <strong>ta</strong>ke a comp<strong>le</strong>te online backup first!<br />
• Differentiate between fallback concepts:<br />
• Are you allowed <strong>to</strong> lose da<strong>ta</strong> in case of a fallback<br />
• Deal with prob<strong>le</strong>ms ...<br />
• ... encountered during the upg<strong>ra</strong>de<br />
• ... found days after the upg<strong>ra</strong>de<br />
• Will you get additional downtime <strong>to</strong> change COMPATIBLE<br />
• Fallback requirements in minutes/hours<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 57
Fallback St<strong>ra</strong>tegy - Issues during upg<strong>ra</strong>de<br />
ALWAYS <strong>ta</strong>ke a comp<strong>le</strong>te ONLINE backup with RMAN<br />
Set all da<strong>ta</strong> <strong>ta</strong>b<strong>le</strong>spaces in<strong>to</strong> READ<br />
ONLY mode and <strong>ta</strong>ke an OFFLINE<br />
backup of SYSTEM, SYSAUX,<br />
UNDO, TEMP, redologs + controlfi<strong>le</strong>s<br />
≥ 10.2<br />
Create a gua<strong>ra</strong>nteed<br />
res<strong>to</strong>re point for<br />
Flashback Da<strong>ta</strong>base<br />
Change COMPATIBLE pa<strong>ra</strong>meter<br />
Yes<br />
Yes<br />
No<br />
Res<strong>to</strong>re and<br />
recover<br />
online backup<br />
Shutdown, res<strong>to</strong>re the offline<br />
backup fi<strong>le</strong>s and s<strong>ta</strong>rtup<br />
in source environment<br />
Flashback <strong>to</strong><br />
the gua<strong>ra</strong>nteed<br />
res<strong>to</strong>re point<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 58
Fallback St<strong>ra</strong>tegy – Issues after upg<strong>ra</strong>de<br />
• Assumption: No da<strong>ta</strong> loss allowed<br />
AGAIN <strong>ta</strong>ke a comp<strong>le</strong>te ONLINE backup with RMAN after the upg<strong>ra</strong>de<br />
≥ 10.1<br />
Change COMPATIBLE pa<strong>ra</strong>meter<br />
Yes<br />
Yes<br />
No<br />
exp with SOURCE exp<br />
and import back in<strong>to</strong> an<br />
empty da<strong>ta</strong>base with<br />
source imp<br />
Use O<strong>ra</strong>c<strong>le</strong> Streams<br />
or O<strong>ra</strong>c<strong>le</strong> Golden Gate<br />
or O<strong>ra</strong>c<strong>le</strong> Golden Gate<br />
for a capture/apply<br />
for a capture/apply<br />
of da<strong>ta</strong> changes back <strong>to</strong><br />
of da<strong>ta</strong> changes back <strong>to</strong><br />
the source re<strong>le</strong>ase<br />
Downg<strong>ra</strong>de with<br />
the catdwgrd.sql<br />
and the catrelod.sql<br />
scripts back <strong>to</strong> the<br />
source re<strong>le</strong>ase<br />
© 2010 O<strong>ra</strong>c<strong>le</strong> Corpo<strong>ra</strong>tion 59