13.01.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!