SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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.
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Dernier (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

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

Notes de l'éditeur

  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..