SlideShare ist ein Scribd-Unternehmen logo
1 von 42
PROOF OF CONCEPT
with Real Application Testing 12c
Luís Marques - @drune - http://lcmarques.com
Me
Name: Luís Marques
http://lcmarques.com / @drune / lcarapinha@gmail.com
Luís Marques - @drune - http://lcmarques.com
We will discuss
Database Replay features on 12c version and how we
can apply stress test and workload scale-up techniques to
ensure a real world proof of concept
SQL Perfomance Analyzer
Actual PoC results
We will not to discuss
Luís Marques - @drune - http://lcmarques.com
PoC – What really is?
An huge amount of work to plan and execute (and re-
execute until the end of available time period)
Most work is for DBA if Real Application Testing is used.
Luís Marques - @drune - http://lcmarques.com
The (real) way it was…
Hardware arrives
Setup required
Recent Backup
required
Restore your DB into
new hardware
Flashback Guaranteed
Restore PointSetup Application:
- New hardware
- Install and Configure:
- AS, Clients, Network, etc
We are
ready!
2 weeks of infinite fun
and infinite problems
Luís Marques - @drune - http://lcmarques.com
The (real) way it was…
Luís Marques - @drune - http://lcmarques.com
Database scheduler Jobs
created on-the-fly
Small reference
in docs
(not even in
restrictions area)
The way it should be
Working with the vendor to provide support for Real
Application Testing
Client requested a simple and effective way to test new
platform and software releases
Luís Marques - @drune - http://lcmarques.com
The way it should be
Hardware arrives
Setup required
Recent Backup
required
Restore your DB into
new hardware using
START_SCN from Capture
Flashback Guaranteed
Restore Point
DB Replay
DB Capture
Luís Marques - @drune - http://lcmarques.com
Database Replay - Capture
Luís Marques - @drune - http://lcmarques.com
Before start any capture…
RAT Patches on Production and PoC database (Doc ID
560977.1)
Capture Restrictions: direct path load external files with
SQL*Loader, scheduler jobs, flashback querys, distributed trx, etc..
Workload is important: sysdate use,avoid maintenance windows
or EM activity
No ongoing transactions during capture - Plan you
database shutdown and start capture immediately after startup
Luís Marques - @drune - http://lcmarques.com
Workload Capture
Payment processing starts at 19:00:
18:35 – SQL> shutdown immediate
18:45 – SQL> startup restrict
18:50 – $ sqlplus / as sysdba
18:50 – SQL> @capture_payment_day.sql
DBMS_WORKLOAD_CAPTURE.ADD_FILTER ('PaymentUser',
'USER’, 'PAY_A');
DBMS_WORKLOAD_CAPTURE.START_CAPTURE
(name =>'capture_payment_day',
dir => 'DB_REPLAY_DIR',
auto_unrestrict => TRUE,
default_action => 'EXCLUDE',
sts_cap_interval => 300);
Luís Marques - @drune - http://lcmarques.com
Workload Capture
Populate DBA_WORKLOAD_CAPTURES / FILTERS
SQL> exec dbms_workload_capture.get_capture_info('DB_REPLAY_DIR');
Save the START_SCN to use with RMAN UNTIL SCN
to restore your database on PoC database.
Luís Marques - @drune - http://lcmarques.com
Workload Capture
Export AWR data to compare performance between
Production and PoC database:
SQL> exec dbms_workload_capture.export_awr(2);
Dump of AWR will be used after replay to compare AWR on
PoC database
AWR data
Luís Marques - @drune - http://lcmarques.com
Workload Capture – The intelligent stuff
Workload Intelligence – Java programs to analyze
Captured data
Don’t run it on production system (Heavy memory
consumption)
Allow you to know more about the capture by patterns
Create user
wi
Create
Workload
Job
Create
Workload
Model
Identify
Patterns
Generate
Report
Java –classpath … oracle.dbreplay.workload.intelligence.LoadInfo -job wi_job1
-cdir /home/oracle/scripts/rat/db_replay_dir -cstr
jdbc:oracle:thin:@baco:1521:bacodb2 -user wi
Java –classpath … oracle.dbreplay.workload.intelligence.BuildModel -job
wi_job1 -cstr jdbc:oracle:thin:@baco:1521:bacodb2 -user wi
Java –classpath … oracle.dbreplay.workload.intelligence.FindPatterns -job
wi_job1 -cstr jdbc:oracle:thin:@baco:1521:bacodb2 -user wi
Java –classpath … oracle.dbreplay.workload.intelligence.GenerateReport -job
wi_job1 -cstr jdbc:oracle:thin:@baco:1521:bacodb2 -user wi –top 5 –out
intel_report.html
Luís Marques - @drune - http://lcmarques.com
How an intelligence report looks…
Pattern is a sequence of transactions that run under “certain order”.
Allow you to identify mostly used “code paths” – Example: create a customer or
process a visa card “code paths”
Patterns are ordered by different columns (DB Time, Nr. Executions and Length)
Pattern id = 2  Create a customer run 2333 times during the capture with a DB
Time 9 seconds (0,78% of total DB Time)
Luís Marques - @drune - http://lcmarques.com
Pattern id = 2
Pattern id =1
Database Replay – Replay
Luís Marques - @drune - http://lcmarques.com
Before start any replay…
Setup guarantee restore points before any replay
Run java utility “Workload Analyzer” – Check the
quality
of capture (insufficient data, errors, etc)
Run a small test replay (~ 20 min) before full replay -
Avoid potential issues with full replay
Set up your system date to the same time as time of
capture start if application relies on sysdate
Before performance analysis perform a replay analysis
and review divergences
Luís Marques - @drune - http://lcmarques.com
Before start replay - sysdate
Set system clock on PoC system to the start of time of
capture
Make sure that NTP daemon is disabled
Make sure that AWR snapshots are still created
automatically after system clock changed
Restart PoC database after change in the clock.
Luís Marques - @drune - http://lcmarques.com
Before start replay – The Workload
Analyzer
Java utility provided by Oracle to analyze the quality of
your capture.
$ java -classpath
$ORACLE_HOME/jdbc/lib/ojdbc6.jar:$ORACLE_HOME/rdbms/jlib/dbrparser.jar:$ORACLE_H
OME/rdbms/jlib/dbranalyzer.jar: oracle.dbreplay.workload.checker.CaptureChecker
/home/oracle/scripts/rat/db_replay_dir
jdbc:oracle:thin:@baco.localdomain:1521:prodpay2
Almost all sessions have been captured in-flight.
PL/SQL blocks or functions have 'complicated' logic or
multiple commits in them, they are hard to synchronize and
they behavior might change during replay.
wcr_cap_analysis.html
Luís Marques - @drune - http://lcmarques.com
Captured workload: Sequential payment processing by Card type
Goal: Parallelized payment processing by Card Type
Scenario #1
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Workload folding
Consolidate Database Replay: Slicing an existing captured
workload into subsets by specifying a point in time
Allows scale-in testing replaying workload subsets together
Our Goal: Parallelized payment processing by Card Type
Start of Day
Processing
VISA Payment
Process
MasterCard
Payment
Process
OthersCard
Payment
Process
Workload
TimeWL Subset
#1
WL Subset
#2
WL Subset
#3
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Workload folding
Workload from 1 day (7pm to 6am) – capture_payment_day
3 subsets of workload derived from 1 capture:
Start of Day
Processing
VISA Payment
Process
MasterCard
Payment
Process
OthersCard
Payment
Process
Workload
Time
Day Finish
Replay this!
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Workload folding
BEGIN_TIME and END_TIME are offset in seconds from
the start of the capture (tricky)
Incomplete calls are discarded to avoid problematic results
Example (VISA workload subset #1):
• 4500 seconds after start of capture (1 hour and 15 minutes)
• Ends after 8100 seconds from the start of capture (1 hour of duration)
SQL> EXEC DBMS_WORKLOAD_REPLAY.GENERATE_CAPTURE_SUBSET (
INPUT_CAPTURE_DIR => 'DB_REPLAY_DIR',
OUTPUT_CAPTURE_DIR => 'DB_REPLAY_VISA',
NEW_CAPTURE_NAME => 'CardVisa_wkld’,
BEGIN_TIME => 4500,
BEGIN_INCLUDE_INCOMPLETE=> FALSE,
END_TIME => 8100,
END_INCLUDE_INCOMPLETE=> FALSE,
PARALLEL_LEVEL=>1)
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Workload folding
Preprocess capture from all directories:
EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('DB_REPLAY_VISA');
EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('DB_REPLAY_MCARD');
EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('DB_REPLAY_OTHERS');
Create a consolidate replay schedule
EXEC DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE
('visa_mcard_others_schedule');
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_VISA') FROM dual;
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_MCARD') FROM dual;
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_OTHERS') FROM dual;
EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE;
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Workload folding
Remap connections (DBA_WORKLOAD_CONNECTION_MAP) – You know how to
do it 
Prepare your consolidation replay:
SQL> EXEC
DBMS_WORKLOAD_REPLAY.PREPARE_CONSOLIDATED_REPLAY
(synchronization=>’OBJECT_ID’, think_time_auto_correct => TRUE )
• Each capture subset have a different SCN. SCN-based sync is not possible
• Only OBJECT_ID and OFF are supported as syncronization options
• Connect_time_scale and think_time_scale were left at default
• Best Results avoiding connect time modifications or think time modifications
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – OBJECT_ID
A “more advanced” synchronization scheme is used
Ensures that SCN’s for different captures do not clash
Better dealing with concurrency when actions do not touch
the same object
Bugs happen:
If you find problems with OBJECT_ID sync you are left to no
syncronization
Monitor the progress of your replay. A collection of scripts
here help - Scripts to Debug Slow Replay (Doc ID 760402.1)
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Workload folding
Start replay clients – At least one per subset
wrc system/oracle mode=replay
replaydir=/home/oracle/scripts/rat/db_replay_dir/
sleep 1
wrc system/oracle mode=replay replaydir=/home/oracle/scripts/
rat/db_replay_dir/
…
Start database replay
SQL> EXEC
DBMS_WORKLOAD_REPLAY.START_CONSOLIDATED_REPLAY;
Luís Marques - @drune - http://lcmarques.com
Review divergences after replay
Application Level divergences:
• Example: Check if all the VISA cards were processed (manual SQL Script)
Data Level divergences:
• Different number of rows returned by DML or SQL queries – Don’t match with capture
Error Level divergences:
• Errors on Capture that are not on replay
• Errors on Replay that were not captured
• Different errors on capture and replay
select DBMS_WORKLOAD_REPLAY.REPORT(replay_id => 1, format =>
'HTML') from dual;
Luís Marques - @drune - http://lcmarques.com
Sequential vs Parallel: Compare it!
Import AWR from previous sequential replay to compare to parallel replay
dbms_workload_replay.import_awr(replay_id => 12, staging_schema => 'PAY_A');
Generate a compare replays report
spool report_compare_consolidate.html
VAR v_clob CLOB
BEGIN dbms_workload_replay.compare_period_report (replay_id1 => 11,
replay_id2 => 12,
format => DBMS_WORKLOAD_REPLAY.TYPE_HTML, result => :v_clob );
END;
/
PRINT v_clob
spool off
Luís Marques - @drune - http://lcmarques.com
Sequential vs Parallel: Compare it!
Compare DB Time between periods (Sequential TP1 vs
Parallel TP2);
Easier than read an AWR 
Luís Marques - @drune - http://lcmarques.com
Workload: Parallelized payment processing by Card Type
Goal: Parallelized payment processing by Card Type
and ATM machines payment processing from
another database capture
Scenario #2
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Time shifting
Allows shifting a replay to a time in the future and align
with other replays
Stress testing by align peak loads
Peak number of sessions
Add another
workload here!
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Time shifting
Align “Multibanco ATM processing” and Card Payment
Processing to start exactly at same time
VISA Payment
Process
MasterCard
Payment
Process
OthersCard
Payment
Process
Validations
Multibanco
ATM
processing
Workload
time
Workload
time
Delay time
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Time shifting
Preprocess and delay the workloads to match ATM
replay
EXEC
DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE('payment_peak_align');
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_ATM') FROM
dual;
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_VISA', 600)
FROM dual;
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_MCARD', 650)
FROM dual;
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_OTHERS', 660)
FROM dual;
EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE;
EXEC DBMS_WORKLOAD_REPLAY.INITIALIZE_CONSOLIDATED_REPLAY
('payment_peak_replay', 'payment_peak_align');
Delay
secs
Luís Marques - @drune - http://lcmarques.com
Workload: Single workload capture on ATM machines payment
Goal: Stress test ATM machine payment processing on a
very busy day – December 24th
Scenario #3
Luís Marques - @drune - http://lcmarques.com
Consolidate Replay – Schema
Remapping
A single workload consolidated into two different instances of
the application
Original capture schema: MULTIBANCO_ATM (original)
Remapped schema: MULTIBANCO_ATM_B (remapped)
Luís Marques - @drune - http://lcmarques.com
Validations
Multibanco ATM
processing
Multibanco ATM
processing
Validations
Fees Calc
Fees Calc
MULTIBANCO_ATM_B
Workload
time
Consolidate Replay – Schema
Remapping
Add the same workload twice to a consolidate replay
SQL> EXEC
DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE(’multibanco
_stress_schedule');
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE
('DB_REPLAY_ATM') FROM dual;
SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE
('DB_REPLAY_ATM') FROM dual;
EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE;
EXEC
DBMS_WORKLOAD_REPLAY.INITIALIZE_CONSOLIDATED_REPLAY
('payment_peak_replay', ‘multibanco_stress_schedule');
EXEC DBMS_WORKLOAD_REPLAY.SET_USER_MAPPING (2,
’MULTIBANCO_ATM', ’MULTIBANCO_ATM_B');
Luís Marques - @drune - http://lcmarques.com
Workload: Applied to all previous scenarios
Goal: Get a “even” more realist parallelized payment
processing
Scenario #4
Luís Marques - @drune - http://lcmarques.com
Query Only – Warm up my buffer cache
When you start your replay, remember that your
cache is "cold”
Replay may not be realistic or take too much time
– capture is done with already some blocks in buffer
cache.
Warm-up the buffer cache (if needed) with Query
Only Replay before the real workload.
Query Only Replay replays read-only statements
Luís Marques - @drune - http://lcmarques.com
Query Only – Warm up my buffer cache
example
EXEC
DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE
('visa_mcard_others_schedule');
SELECT
DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_
VISA’, query_only => TRUE) FROM dual;
SELECT
DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_
MCARD’, query_only => TRUE) FROM dual;
SELECT
DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_
OTHERS’,query_only => TRUE) FROM dual;
EXEC
DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE;
Luís Marques - @drune - http://lcmarques.com
Final Notes
Consolidate Replay can be really helpful on stress
testing and scaling up on “brand new” PoC system
Comparing periods is important: Capture vs Replay;
Consolidate Replay vs Sequential Replays, etc
Follow capture and replay recommendations. Make
sure that you know your capture and his subsets and start
your replay with the “defaults”
Try different synchronization options if you find in
trouble with OBJECT_ID. Remember that OBJECT_ID
and OFF are the only options for Consolidated Replay
Luís Marques - @drune - http://lcmarques.com
Q & A
Luís Marques - @drune - http://lcmarques.com

Weitere ähnliche Inhalte

Was ist angesagt?

AWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upAWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upJohn Beresniewicz
 
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationWhitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationKristofferson A
 
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And WhatPerformance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And Whatudaymoogala
 
Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14jijukjoseph
 
Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012Emre Baransel
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWRpasalapudi
 
10 ways to improve your rman script
10 ways to improve your rman script10 ways to improve your rman script
10 ways to improve your rman scriptMaris Elsins
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowDean Richards
 
Feed Burner Scalability
Feed Burner ScalabilityFeed Burner Scalability
Feed Burner Scalabilitydidip
 
AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015Yury Velikanov
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuningAbishek V S
 
Progress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceProgress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceVinh Nguyen
 
Architecting cloud
Architecting cloudArchitecting cloud
Architecting cloudTahsin Hasan
 
Hw09 Monitoring Best Practices
Hw09   Monitoring Best PracticesHw09   Monitoring Best Practices
Hw09 Monitoring Best PracticesCloudera, Inc.
 

Was ist angesagt? (20)

AWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upAWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add up
 
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationWhitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
 
Using Statspack and AWR for Memory Monitoring and Tuning
Using Statspack and AWR for Memory Monitoring and TuningUsing Statspack and AWR for Memory Monitoring and Tuning
Using Statspack and AWR for Memory Monitoring and Tuning
 
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And WhatPerformance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
 
Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14
 
SQL Server vs Postgres
SQL Server vs PostgresSQL Server vs Postgres
SQL Server vs Postgres
 
Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWR
 
ha_module5
ha_module5ha_module5
ha_module5
 
10 ways to improve your rman script
10 ways to improve your rman script10 ways to improve your rman script
10 ways to improve your rman script
 
Scaling symfony apps
Scaling symfony appsScaling symfony apps
Scaling symfony apps
 
Hadoop admin
Hadoop adminHadoop admin
Hadoop admin
 
Hadoop availability
Hadoop availabilityHadoop availability
Hadoop availability
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should Know
 
Feed Burner Scalability
Feed Burner ScalabilityFeed Burner Scalability
Feed Burner Scalability
 
AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 
Progress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceProgress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and reference
 
Architecting cloud
Architecting cloudArchitecting cloud
Architecting cloud
 
Hw09 Monitoring Best Practices
Hw09   Monitoring Best PracticesHw09   Monitoring Best Practices
Hw09 Monitoring Best Practices
 

Andere mochten auch

An example of a successful proof of concept
An example of a successful proof of conceptAn example of a successful proof of concept
An example of a successful proof of conceptETLSolutions
 
OTN tour 2015 Oracle Enterprise Manager 12c – Proof of Concept
OTN tour 2015 Oracle Enterprise Manager 12c – Proof of ConceptOTN tour 2015 Oracle Enterprise Manager 12c – Proof of Concept
OTN tour 2015 Oracle Enterprise Manager 12c – Proof of ConceptAndrejs Vorobjovs
 
How to Build a Proof of Concept
How to Build a Proof of Concept How to Build a Proof of Concept
How to Build a Proof of Concept Michael Hamilton
 
Indian Localization oracle
Indian Localization oracleIndian Localization oracle
Indian Localization oracleratnalusantosh
 
=Xen App 5 0 Po C Presentation
=Xen App 5 0 Po C Presentation=Xen App 5 0 Po C Presentation
=Xen App 5 0 Po C Presentationmuttukuru
 
Post-launch experiences from a locally developed internal proof of concept im...
Post-launch experiences from a locally developed internal proof of concept im...Post-launch experiences from a locally developed internal proof of concept im...
Post-launch experiences from a locally developed internal proof of concept im...Sebastian Schumann
 
Proof of Concept - Prototype Agreement Jul 2011
Proof of Concept - Prototype Agreement Jul 2011Proof of Concept - Prototype Agreement Jul 2011
Proof of Concept - Prototype Agreement Jul 2011mvwickham78
 
Clinical Proof of Concept (PoC)
Clinical Proof of Concept (PoC)Clinical Proof of Concept (PoC)
Clinical Proof of Concept (PoC)Cytel USA
 
Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...
Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...
Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...InSync2011
 
VMworld 2015: Conducting a Successful Virtual SAN Proof of Concept
VMworld 2015: Conducting a Successful Virtual SAN Proof of ConceptVMworld 2015: Conducting a Successful Virtual SAN Proof of Concept
VMworld 2015: Conducting a Successful Virtual SAN Proof of ConceptVMworld
 
Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...
Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...
Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...eazynow
 
PoC: Using a Group Communication System to improve MySQL Replication HA
PoC: Using a Group Communication System to improve MySQL Replication HAPoC: Using a Group Communication System to improve MySQL Replication HA
PoC: Using a Group Communication System to improve MySQL Replication HAUlf Wendel
 
Case Study: Lessons from Newell Rubbermaid's SAP HANA Proof of Concept
Case Study: Lessons from Newell Rubbermaid's SAP HANA Proof of ConceptCase Study: Lessons from Newell Rubbermaid's SAP HANA Proof of Concept
Case Study: Lessons from Newell Rubbermaid's SAP HANA Proof of ConceptSAPinsider Events
 
El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)
El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)
El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)EUROsociAL II
 
Proof Of Concept Presentation on Concept
Proof Of Concept Presentation on ConceptProof Of Concept Presentation on Concept
Proof Of Concept Presentation on ConceptUniversity of Limerick
 
Accelerating Innovation: Proof of Concept Gap Fund Program Best Practices
Accelerating Innovation: Proof of Concept Gap Fund Program Best PracticesAccelerating Innovation: Proof of Concept Gap Fund Program Best Practices
Accelerating Innovation: Proof of Concept Gap Fund Program Best Practicesinnovosource
 

Andere mochten auch (20)

An example of a successful proof of concept
An example of a successful proof of conceptAn example of a successful proof of concept
An example of a successful proof of concept
 
Real Application Testing
Real Application TestingReal Application Testing
Real Application Testing
 
OTN tour 2015 Oracle Enterprise Manager 12c – Proof of Concept
OTN tour 2015 Oracle Enterprise Manager 12c – Proof of ConceptOTN tour 2015 Oracle Enterprise Manager 12c – Proof of Concept
OTN tour 2015 Oracle Enterprise Manager 12c – Proof of Concept
 
Proof-Of-Concept
Proof-Of-ConceptProof-Of-Concept
Proof-Of-Concept
 
How to Build a Proof of Concept
How to Build a Proof of Concept How to Build a Proof of Concept
How to Build a Proof of Concept
 
Indian Localization oracle
Indian Localization oracleIndian Localization oracle
Indian Localization oracle
 
=Xen App 5 0 Po C Presentation
=Xen App 5 0 Po C Presentation=Xen App 5 0 Po C Presentation
=Xen App 5 0 Po C Presentation
 
Nogesi case study as LSA proof of concept
Nogesi case study as LSA proof of conceptNogesi case study as LSA proof of concept
Nogesi case study as LSA proof of concept
 
Post-launch experiences from a locally developed internal proof of concept im...
Post-launch experiences from a locally developed internal proof of concept im...Post-launch experiences from a locally developed internal proof of concept im...
Post-launch experiences from a locally developed internal proof of concept im...
 
Proof of Concept - Prototype Agreement Jul 2011
Proof of Concept - Prototype Agreement Jul 2011Proof of Concept - Prototype Agreement Jul 2011
Proof of Concept - Prototype Agreement Jul 2011
 
Clinical Proof of Concept (PoC)
Clinical Proof of Concept (PoC)Clinical Proof of Concept (PoC)
Clinical Proof of Concept (PoC)
 
Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...
Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...
Oracle Systems _ Tony Jambu _ Exadata The Facts and Myths behing a proof of c...
 
VMworld 2015: Conducting a Successful Virtual SAN Proof of Concept
VMworld 2015: Conducting a Successful Virtual SAN Proof of ConceptVMworld 2015: Conducting a Successful Virtual SAN Proof of Concept
VMworld 2015: Conducting a Successful Virtual SAN Proof of Concept
 
Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...
Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...
Twiliocon Europe 2013: From PoC to Production, Lessons Learnt, by Erol Ziya &...
 
PoC: Using a Group Communication System to improve MySQL Replication HA
PoC: Using a Group Communication System to improve MySQL Replication HAPoC: Using a Group Communication System to improve MySQL Replication HA
PoC: Using a Group Communication System to improve MySQL Replication HA
 
Case Study: Lessons from Newell Rubbermaid's SAP HANA Proof of Concept
Case Study: Lessons from Newell Rubbermaid's SAP HANA Proof of ConceptCase Study: Lessons from Newell Rubbermaid's SAP HANA Proof of Concept
Case Study: Lessons from Newell Rubbermaid's SAP HANA Proof of Concept
 
El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)
El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)
El SII y el Sistema Tributario Chileno / Servicio de Impuestos Internos (Chile)
 
R12.2.4 india localization setup
R12.2.4 india localization setupR12.2.4 india localization setup
R12.2.4 india localization setup
 
Proof Of Concept Presentation on Concept
Proof Of Concept Presentation on ConceptProof Of Concept Presentation on Concept
Proof Of Concept Presentation on Concept
 
Accelerating Innovation: Proof of Concept Gap Fund Program Best Practices
Accelerating Innovation: Proof of Concept Gap Fund Program Best PracticesAccelerating Innovation: Proof of Concept Gap Fund Program Best Practices
Accelerating Innovation: Proof of Concept Gap Fund Program Best Practices
 

Ähnlich wie Proof of Concept with Real Application Testing 12c

LVOUG meetup #4 - Case Study 10g to 11g
LVOUG meetup #4 - Case Study 10g to 11gLVOUG meetup #4 - Case Study 10g to 11g
LVOUG meetup #4 - Case Study 10g to 11gMaris Elsins
 
Adventures in Dataguard
Adventures in DataguardAdventures in Dataguard
Adventures in DataguardJason Arneil
 
07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Developmentrehaniltifat
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAmin Uddin
 
Watch Re-runs on your SQL Server with RML Utilities
Watch Re-runs on your SQL Server with RML UtilitiesWatch Re-runs on your SQL Server with RML Utilities
Watch Re-runs on your SQL Server with RML Utilitiesdpcobb
 
Oracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMOracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMMonowar Mukul
 
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu   (obscure) tools of the trade for tuning oracle sq lsTony Jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu (obscure) tools of the trade for tuning oracle sq lsInSync Conference
 
Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedureftz 420
 
Procedures and triggers in SQL
Procedures and triggers in SQLProcedures and triggers in SQL
Procedures and triggers in SQLVikash Sharma
 
Performance Instrumentation for PL/SQL: When, Why, How
Performance Instrumentation for PL/SQL: When, Why, HowPerformance Instrumentation for PL/SQL: When, Why, How
Performance Instrumentation for PL/SQL: When, Why, HowKaren Morton
 
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq lsInSync Conference
 
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowOTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowAlex Zaballa
 
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowOTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowAlex Zaballa
 
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?Jim Czuprynski
 

Ähnlich wie Proof of Concept with Real Application Testing 12c (20)

LVOUG meetup #4 - Case Study 10g to 11g
LVOUG meetup #4 - Case Study 10g to 11gLVOUG meetup #4 - Case Study 10g to 11g
LVOUG meetup #4 - Case Study 10g to 11g
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Adventures in Dataguard
Adventures in DataguardAdventures in Dataguard
Adventures in Dataguard
 
07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
 
Watch Re-runs on your SQL Server with RML Utilities
Watch Re-runs on your SQL Server with RML UtilitiesWatch Re-runs on your SQL Server with RML Utilities
Watch Re-runs on your SQL Server with RML Utilities
 
Oracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILMOracle 12c Automatic Data Optimization (ADO) - ILM
Oracle 12c Automatic Data Optimization (ADO) - ILM
 
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu   (obscure) tools of the trade for tuning oracle sq lsTony Jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
 
Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedure
 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
 
Procedures and triggers in SQL
Procedures and triggers in SQLProcedures and triggers in SQL
Procedures and triggers in SQL
 
Performance Instrumentation for PL/SQL: When, Why, How
Performance Instrumentation for PL/SQL: When, Why, HowPerformance Instrumentation for PL/SQL: When, Why, How
Performance Instrumentation for PL/SQL: When, Why, How
 
Mysql tracing
Mysql tracingMysql tracing
Mysql tracing
 
Mysql tracing
Mysql tracingMysql tracing
Mysql tracing
 
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
 
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowOTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
 
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowOTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
 
lecture13.ppt
lecture13.pptlecture13.ppt
lecture13.ppt
 
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
 
Sherlock holmes for dba’s
Sherlock holmes for dba’sSherlock holmes for dba’s
Sherlock holmes for dba’s
 

Kürzlich hochgeladen

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Proof of Concept with Real Application Testing 12c

  • 1. PROOF OF CONCEPT with Real Application Testing 12c Luís Marques - @drune - http://lcmarques.com
  • 2. Me Name: Luís Marques http://lcmarques.com / @drune / lcarapinha@gmail.com Luís Marques - @drune - http://lcmarques.com
  • 3. We will discuss Database Replay features on 12c version and how we can apply stress test and workload scale-up techniques to ensure a real world proof of concept SQL Perfomance Analyzer Actual PoC results We will not to discuss Luís Marques - @drune - http://lcmarques.com
  • 4. PoC – What really is? An huge amount of work to plan and execute (and re- execute until the end of available time period) Most work is for DBA if Real Application Testing is used. Luís Marques - @drune - http://lcmarques.com
  • 5. The (real) way it was… Hardware arrives Setup required Recent Backup required Restore your DB into new hardware Flashback Guaranteed Restore PointSetup Application: - New hardware - Install and Configure: - AS, Clients, Network, etc We are ready! 2 weeks of infinite fun and infinite problems Luís Marques - @drune - http://lcmarques.com
  • 6. The (real) way it was… Luís Marques - @drune - http://lcmarques.com Database scheduler Jobs created on-the-fly Small reference in docs (not even in restrictions area)
  • 7. The way it should be Working with the vendor to provide support for Real Application Testing Client requested a simple and effective way to test new platform and software releases Luís Marques - @drune - http://lcmarques.com
  • 8. The way it should be Hardware arrives Setup required Recent Backup required Restore your DB into new hardware using START_SCN from Capture Flashback Guaranteed Restore Point DB Replay DB Capture Luís Marques - @drune - http://lcmarques.com
  • 9. Database Replay - Capture Luís Marques - @drune - http://lcmarques.com
  • 10. Before start any capture… RAT Patches on Production and PoC database (Doc ID 560977.1) Capture Restrictions: direct path load external files with SQL*Loader, scheduler jobs, flashback querys, distributed trx, etc.. Workload is important: sysdate use,avoid maintenance windows or EM activity No ongoing transactions during capture - Plan you database shutdown and start capture immediately after startup Luís Marques - @drune - http://lcmarques.com
  • 11. Workload Capture Payment processing starts at 19:00: 18:35 – SQL> shutdown immediate 18:45 – SQL> startup restrict 18:50 – $ sqlplus / as sysdba 18:50 – SQL> @capture_payment_day.sql DBMS_WORKLOAD_CAPTURE.ADD_FILTER ('PaymentUser', 'USER’, 'PAY_A'); DBMS_WORKLOAD_CAPTURE.START_CAPTURE (name =>'capture_payment_day', dir => 'DB_REPLAY_DIR', auto_unrestrict => TRUE, default_action => 'EXCLUDE', sts_cap_interval => 300); Luís Marques - @drune - http://lcmarques.com
  • 12. Workload Capture Populate DBA_WORKLOAD_CAPTURES / FILTERS SQL> exec dbms_workload_capture.get_capture_info('DB_REPLAY_DIR'); Save the START_SCN to use with RMAN UNTIL SCN to restore your database on PoC database. Luís Marques - @drune - http://lcmarques.com
  • 13. Workload Capture Export AWR data to compare performance between Production and PoC database: SQL> exec dbms_workload_capture.export_awr(2); Dump of AWR will be used after replay to compare AWR on PoC database AWR data Luís Marques - @drune - http://lcmarques.com
  • 14. Workload Capture – The intelligent stuff Workload Intelligence – Java programs to analyze Captured data Don’t run it on production system (Heavy memory consumption) Allow you to know more about the capture by patterns Create user wi Create Workload Job Create Workload Model Identify Patterns Generate Report Java –classpath … oracle.dbreplay.workload.intelligence.LoadInfo -job wi_job1 -cdir /home/oracle/scripts/rat/db_replay_dir -cstr jdbc:oracle:thin:@baco:1521:bacodb2 -user wi Java –classpath … oracle.dbreplay.workload.intelligence.BuildModel -job wi_job1 -cstr jdbc:oracle:thin:@baco:1521:bacodb2 -user wi Java –classpath … oracle.dbreplay.workload.intelligence.FindPatterns -job wi_job1 -cstr jdbc:oracle:thin:@baco:1521:bacodb2 -user wi Java –classpath … oracle.dbreplay.workload.intelligence.GenerateReport -job wi_job1 -cstr jdbc:oracle:thin:@baco:1521:bacodb2 -user wi –top 5 –out intel_report.html Luís Marques - @drune - http://lcmarques.com
  • 15. How an intelligence report looks… Pattern is a sequence of transactions that run under “certain order”. Allow you to identify mostly used “code paths” – Example: create a customer or process a visa card “code paths” Patterns are ordered by different columns (DB Time, Nr. Executions and Length) Pattern id = 2  Create a customer run 2333 times during the capture with a DB Time 9 seconds (0,78% of total DB Time) Luís Marques - @drune - http://lcmarques.com Pattern id = 2 Pattern id =1
  • 16. Database Replay – Replay Luís Marques - @drune - http://lcmarques.com
  • 17. Before start any replay… Setup guarantee restore points before any replay Run java utility “Workload Analyzer” – Check the quality of capture (insufficient data, errors, etc) Run a small test replay (~ 20 min) before full replay - Avoid potential issues with full replay Set up your system date to the same time as time of capture start if application relies on sysdate Before performance analysis perform a replay analysis and review divergences Luís Marques - @drune - http://lcmarques.com
  • 18. Before start replay - sysdate Set system clock on PoC system to the start of time of capture Make sure that NTP daemon is disabled Make sure that AWR snapshots are still created automatically after system clock changed Restart PoC database after change in the clock. Luís Marques - @drune - http://lcmarques.com
  • 19. Before start replay – The Workload Analyzer Java utility provided by Oracle to analyze the quality of your capture. $ java -classpath $ORACLE_HOME/jdbc/lib/ojdbc6.jar:$ORACLE_HOME/rdbms/jlib/dbrparser.jar:$ORACLE_H OME/rdbms/jlib/dbranalyzer.jar: oracle.dbreplay.workload.checker.CaptureChecker /home/oracle/scripts/rat/db_replay_dir jdbc:oracle:thin:@baco.localdomain:1521:prodpay2 Almost all sessions have been captured in-flight. PL/SQL blocks or functions have 'complicated' logic or multiple commits in them, they are hard to synchronize and they behavior might change during replay. wcr_cap_analysis.html Luís Marques - @drune - http://lcmarques.com
  • 20. Captured workload: Sequential payment processing by Card type Goal: Parallelized payment processing by Card Type Scenario #1 Luís Marques - @drune - http://lcmarques.com
  • 21. Consolidate Replay – Workload folding Consolidate Database Replay: Slicing an existing captured workload into subsets by specifying a point in time Allows scale-in testing replaying workload subsets together Our Goal: Parallelized payment processing by Card Type Start of Day Processing VISA Payment Process MasterCard Payment Process OthersCard Payment Process Workload TimeWL Subset #1 WL Subset #2 WL Subset #3 Luís Marques - @drune - http://lcmarques.com
  • 22. Consolidate Replay – Workload folding Workload from 1 day (7pm to 6am) – capture_payment_day 3 subsets of workload derived from 1 capture: Start of Day Processing VISA Payment Process MasterCard Payment Process OthersCard Payment Process Workload Time Day Finish Replay this! Luís Marques - @drune - http://lcmarques.com
  • 23. Consolidate Replay – Workload folding BEGIN_TIME and END_TIME are offset in seconds from the start of the capture (tricky) Incomplete calls are discarded to avoid problematic results Example (VISA workload subset #1): • 4500 seconds after start of capture (1 hour and 15 minutes) • Ends after 8100 seconds from the start of capture (1 hour of duration) SQL> EXEC DBMS_WORKLOAD_REPLAY.GENERATE_CAPTURE_SUBSET ( INPUT_CAPTURE_DIR => 'DB_REPLAY_DIR', OUTPUT_CAPTURE_DIR => 'DB_REPLAY_VISA', NEW_CAPTURE_NAME => 'CardVisa_wkld’, BEGIN_TIME => 4500, BEGIN_INCLUDE_INCOMPLETE=> FALSE, END_TIME => 8100, END_INCLUDE_INCOMPLETE=> FALSE, PARALLEL_LEVEL=>1) Luís Marques - @drune - http://lcmarques.com
  • 24. Consolidate Replay – Workload folding Preprocess capture from all directories: EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('DB_REPLAY_VISA'); EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('DB_REPLAY_MCARD'); EXEC DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ('DB_REPLAY_OTHERS'); Create a consolidate replay schedule EXEC DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE ('visa_mcard_others_schedule'); SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_VISA') FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_MCARD') FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_OTHERS') FROM dual; EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE; Luís Marques - @drune - http://lcmarques.com
  • 25. Consolidate Replay – Workload folding Remap connections (DBA_WORKLOAD_CONNECTION_MAP) – You know how to do it  Prepare your consolidation replay: SQL> EXEC DBMS_WORKLOAD_REPLAY.PREPARE_CONSOLIDATED_REPLAY (synchronization=>’OBJECT_ID’, think_time_auto_correct => TRUE ) • Each capture subset have a different SCN. SCN-based sync is not possible • Only OBJECT_ID and OFF are supported as syncronization options • Connect_time_scale and think_time_scale were left at default • Best Results avoiding connect time modifications or think time modifications Luís Marques - @drune - http://lcmarques.com
  • 26. Consolidate Replay – OBJECT_ID A “more advanced” synchronization scheme is used Ensures that SCN’s for different captures do not clash Better dealing with concurrency when actions do not touch the same object Bugs happen: If you find problems with OBJECT_ID sync you are left to no syncronization Monitor the progress of your replay. A collection of scripts here help - Scripts to Debug Slow Replay (Doc ID 760402.1) Luís Marques - @drune - http://lcmarques.com
  • 27. Consolidate Replay – Workload folding Start replay clients – At least one per subset wrc system/oracle mode=replay replaydir=/home/oracle/scripts/rat/db_replay_dir/ sleep 1 wrc system/oracle mode=replay replaydir=/home/oracle/scripts/ rat/db_replay_dir/ … Start database replay SQL> EXEC DBMS_WORKLOAD_REPLAY.START_CONSOLIDATED_REPLAY; Luís Marques - @drune - http://lcmarques.com
  • 28. Review divergences after replay Application Level divergences: • Example: Check if all the VISA cards were processed (manual SQL Script) Data Level divergences: • Different number of rows returned by DML or SQL queries – Don’t match with capture Error Level divergences: • Errors on Capture that are not on replay • Errors on Replay that were not captured • Different errors on capture and replay select DBMS_WORKLOAD_REPLAY.REPORT(replay_id => 1, format => 'HTML') from dual; Luís Marques - @drune - http://lcmarques.com
  • 29. Sequential vs Parallel: Compare it! Import AWR from previous sequential replay to compare to parallel replay dbms_workload_replay.import_awr(replay_id => 12, staging_schema => 'PAY_A'); Generate a compare replays report spool report_compare_consolidate.html VAR v_clob CLOB BEGIN dbms_workload_replay.compare_period_report (replay_id1 => 11, replay_id2 => 12, format => DBMS_WORKLOAD_REPLAY.TYPE_HTML, result => :v_clob ); END; / PRINT v_clob spool off Luís Marques - @drune - http://lcmarques.com
  • 30. Sequential vs Parallel: Compare it! Compare DB Time between periods (Sequential TP1 vs Parallel TP2); Easier than read an AWR  Luís Marques - @drune - http://lcmarques.com
  • 31. Workload: Parallelized payment processing by Card Type Goal: Parallelized payment processing by Card Type and ATM machines payment processing from another database capture Scenario #2 Luís Marques - @drune - http://lcmarques.com
  • 32. Consolidate Replay – Time shifting Allows shifting a replay to a time in the future and align with other replays Stress testing by align peak loads Peak number of sessions Add another workload here! Luís Marques - @drune - http://lcmarques.com
  • 33. Consolidate Replay – Time shifting Align “Multibanco ATM processing” and Card Payment Processing to start exactly at same time VISA Payment Process MasterCard Payment Process OthersCard Payment Process Validations Multibanco ATM processing Workload time Workload time Delay time Luís Marques - @drune - http://lcmarques.com
  • 34. Consolidate Replay – Time shifting Preprocess and delay the workloads to match ATM replay EXEC DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE('payment_peak_align'); SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_ATM') FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_VISA', 600) FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_MCARD', 650) FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_OTHERS', 660) FROM dual; EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE; EXEC DBMS_WORKLOAD_REPLAY.INITIALIZE_CONSOLIDATED_REPLAY ('payment_peak_replay', 'payment_peak_align'); Delay secs Luís Marques - @drune - http://lcmarques.com
  • 35. Workload: Single workload capture on ATM machines payment Goal: Stress test ATM machine payment processing on a very busy day – December 24th Scenario #3 Luís Marques - @drune - http://lcmarques.com
  • 36. Consolidate Replay – Schema Remapping A single workload consolidated into two different instances of the application Original capture schema: MULTIBANCO_ATM (original) Remapped schema: MULTIBANCO_ATM_B (remapped) Luís Marques - @drune - http://lcmarques.com Validations Multibanco ATM processing Multibanco ATM processing Validations Fees Calc Fees Calc MULTIBANCO_ATM_B Workload time
  • 37. Consolidate Replay – Schema Remapping Add the same workload twice to a consolidate replay SQL> EXEC DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE(’multibanco _stress_schedule'); SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_ATM') FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE ('DB_REPLAY_ATM') FROM dual; EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE; EXEC DBMS_WORKLOAD_REPLAY.INITIALIZE_CONSOLIDATED_REPLAY ('payment_peak_replay', ‘multibanco_stress_schedule'); EXEC DBMS_WORKLOAD_REPLAY.SET_USER_MAPPING (2, ’MULTIBANCO_ATM', ’MULTIBANCO_ATM_B'); Luís Marques - @drune - http://lcmarques.com
  • 38. Workload: Applied to all previous scenarios Goal: Get a “even” more realist parallelized payment processing Scenario #4 Luís Marques - @drune - http://lcmarques.com
  • 39. Query Only – Warm up my buffer cache When you start your replay, remember that your cache is "cold” Replay may not be realistic or take too much time – capture is done with already some blocks in buffer cache. Warm-up the buffer cache (if needed) with Query Only Replay before the real workload. Query Only Replay replays read-only statements Luís Marques - @drune - http://lcmarques.com
  • 40. Query Only – Warm up my buffer cache example EXEC DBMS_WORKLOAD_REPLAY.BEGIN_REPLAY_SCHEDULE ('visa_mcard_others_schedule'); SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_ VISA’, query_only => TRUE) FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_ MCARD’, query_only => TRUE) FROM dual; SELECT DBMS_WORKLOAD_REPLAY.ADD_CAPTURE('DB_REPLAY_ OTHERS’,query_only => TRUE) FROM dual; EXEC DBMS_WORKLOAD_REPLAY.END_REPLAY_SCHEDULE; Luís Marques - @drune - http://lcmarques.com
  • 41. Final Notes Consolidate Replay can be really helpful on stress testing and scaling up on “brand new” PoC system Comparing periods is important: Capture vs Replay; Consolidate Replay vs Sequential Replays, etc Follow capture and replay recommendations. Make sure that you know your capture and his subsets and start your replay with the “defaults” Try different synchronization options if you find in trouble with OBJECT_ID. Remember that OBJECT_ID and OFF are the only options for Consolidated Replay Luís Marques - @drune - http://lcmarques.com
  • 42. Q & A Luís Marques - @drune - http://lcmarques.com

Hinweis der Redaktion

  1. - Goals you set to archive. Discuss this with the management before start anything
  2. Vendor didn’t approve the use of RAT for reproducing the workload A step of day processing is using Oracle scheduler jobs, wich is a RAT limitation Scope of the POC: Test a new platform from IBM P5 to Exadata; Stress test Exadata with real workload
  3. Restrictions on Capture: - Direct path load of data from external files using utilities such as SQL*Loader - Flashback queries - Distributed transactions - Any distributed transactions that are captured will be replayed as local transactions. - Multi-threaded Server (MTS) and shared server sessions with synchronization mode set to OBJECT_ID - Database scheduler Jobs
  4. - A project to support Real Application Testing is on the way: We copied the production database, upgraded to 12c and start to do some tests that you will be see next.
  5. direct path load,SQL*Loader, distributed transactions, database scheduler jobs, flashback queries, etc 5 Minutes of CPU Time – can be problematic on I/O bounded systems
  6. Database will automatically switch to UNRESTRICTED after capture start Only enables Oracle Database users with the RESTRICTED SESSION system privilege to connect to the database DB_REPLAY_DIR must be empty and not in ASM – not supported DB_REPLAY_DIR must be a shared directory on RAC sts_capture_interval - Capture interval of the SQL set capture from the cursor cache in seconds
  7. Capture files will contain all relevant information about the client request, such as SQL text, bind values, and transaction information.
  8. USERNAME: Create a database user that can use Workload Intelligence ( a serious of grants are required) JOB: Creates a new task to apply the algorithms of Workload Intelligence. MODEL: Generates a model that describes the workload PATTERNS: Read data from your capture and from the model you generated before (threshold probability –t that defines if a threshold will be part REPORT: HTML pages that display the patterns found in previous stage (top 2– number of patterns to show up)
  9. Offer you better context because SQL are not isolated. You will know better your SQL and
  10. Pre-processing must be done in PoC system – It can be an resource intensive job
  11. Generate an HTML in your capture directory with the analysis name.
  12. Consolidated Database Replay supports multiple workloads captured from one or multiple systems running Oracle Database 9i Release 2 A capture subset is a piece of a workload capture that is defined from an existing workload capture by applying a time range.
  13. PARALLEL_LEVEL is documented but it is not supported as 12.1 OUTPUT_CAPTURE_DIR must be a subdirectory of INPUT_CAPTURE_DIR
  14. Remap connections - This is mandatory as connection string will be pointing to Production Replay clients replaydir must be your root directory
  15. - Our Case: OBJECT_ID lots of problems because of concurrency, the objects touch the exact same table.
  16. If you
  17. - ATM processing does a few things before we have to wait until we can align everything up and start everything in parallel
  18. Read Only Statements: SELECT, PL/SQL without DML and DDL or LOB reads, etc..