SlideShare a Scribd company logo
Is	your	SQL	Exadata-aware?
Mauro	Pagano	&	Carlos	Sierra
What	is	Exadata?
• Complete	solution	to	run	Oracle	RDBMS
• Lots	of	top	shelf	hardware
– That	you	can	buy	anywhere...
• Specific	software	capabilities
– That	you	can’t	buy	anywhere	else	J
1/29/17 2
Very partial	list	of	Exa-specific	features
• Some	are	more	advertised		
– Smart	Scan	(since	11.1)
– Hybrid	Columnar	Compression	(11.2.1.2)
– Smart	Flash	Cache	(11.2.1.2)
– Smart	Flash	Log	(11.2.2.4)
• Some	are	less
– Columnar	Flash	Caching	(12.1.2.1.0)
– Smart	Block	Transfer	(12.1.2.2.0)
1/29/17 3
Exadata is	a	F1	car
• ”Smart”	features	solve	many	old	issues
– Very	large	I/O	bandwidth
• Lots	of	CPU	and	memory	available
• Exadata is	basically	a	supercar
• But	do	you	drive	it	at	its	full	potential?
– Do	your	SQLs	fully	leverage	Exadata?
1/29/17 4
1/29/17 5
How	I	drove	Exadata the	first	time
NOTICE:	Next	is	a	pic	of	my	
first	time	with	Exadata.
Please	be	nice,	I’m	very	
sensitive	about	it
How	many	people	drive	Exadata
• Many	migrations	are	drop-in
– Nothing	special	to	make	SQLs	more	Exa-friendly
• SQLs	often	run	much	faster
– Hardware	is	very	powerful
– Exa-specific	SW	features	enabled	by	default
– Many	features	require	almost	no	configuration
1/29/17 6
Driving	lesson	#1	- Memo
• Smart	Scan	is	your	friend	J
– Opens	the	door	to	extremely	powerful	scan
– Requires	Full	Scan	and	Direct	Path	Reads
• That	you	spent	20y	trying	to	avoid!!!
– Doesn’t	work	for	objects	mostly	in	memory
• IMPQ,	ABTC,	Full	DB	Caching
– Doesn’t	work	for	every	object
• Cluster	tables,	IOT,	orascn/rowdependencies,	etc (*)
1/29/17 7
Driving	lesson	#2	- Memo
• CBO	has	no	specific	intelligence	for	Exadata
– Same	formulas,	algorithms	and	params as	before
• That	you	spent	20y	tweaking	to	avoid	full	scans
– Won’t	favor	Exadata features	explicitly	(*)
• Might	need	a	little	push	to	get	more	Exa-friendly
– Exadata system	statistics	help	a	bit
1/29/17 8
Example	of	simple	drop-in
Analytical	SQL	on	large	dataset	(Exa SW	ON/OFF)
select cust_gender, calendar_week_number,
sum(amount_sold), sum(quantity_sold)
from countries, -- from SH schema
sales_big, -- ~2.5B rows
customers, -- from SH schema
times -- from SH schema
where sales_big.cust_id = customers.cust_id
and sales_big.time_id = times.time_id
and customers.country_id = countries.country_id
and countries.country_name = 'Italy'
and calendar_quarter_desc = '2001-02'
group by cust_gender, calendar_week_number;
1/29/17 9
Exadata,	Smart	Scan	OFF
Exadata X3
11.2.0.3	
Exadata X2
12.1.0.2
1/29/17 10
Oracle	12c	generated	a	
better	performing	plan	
than	11g,	regardless	of	
Exadata
Exadata,	Smart	Scan	OFF,	11g
1/29/17 11
Exadata,	Smart	Scan	OFF,	12c
1/29/17 12
Exadata HW,	Smart	Scan	ON
Exadata X3
11.2.0.3
Exadata X2
12.1.0.2
1/29/17 13
Exadata,	Smart	Scan	ON,	11g
1/29/17 14
Exadata,	Smart	Scan	ON,	12c
1/29/17 15
Cool,	I	got	to	do	nothing!
• Partially	true	
– Many	features	require	almost	no	attention
– They	just	work	and	give	you	decent	gains
• Partially	false
– Better	use	of	some	features	if	you	know	them
– Using	them	right	makes	significant	difference
1/29/17 16
1/29/17 17
Exadata,	Smart	Scan	ON,	SQL	Exa-friendly
Exadata X3
11.2.0.3
Exadata X2
12.1.0.2
1/29/17 18
1/29/17 19
Exadata,	Smart	Scan	ON,	12c,	SQL	Exa-friendly
1/29/17 20
Help	the	joins
• Smart	Scan	reads	/	filters	data	efficiently
– But	it	doesn’t	help	with	joins
• Is	there	a	way	to	write	a	join	as	a	filter?
– Kind	of,	using	Bloom	filters	to	reduce	data	before	join
– Less	data	returned	to	compute	nodes	to	join
• Trick	was	hint	to	encourage	diff	join	order	->	2	BF
– One	BF	per	dimension,	similar	to	VT	idea
1/29/17 21
Does	it	always	work?
• Of	course	not	J
• Efficiency	depends	on
– Selectivity	of	filters	from	the	dimensions
– Amount	of	false	positives
– Number	of	Bloom	Filters	applied	on	large	table	
• 1	BF	on	many	cols	vs	many	BFs	on	1	col	(*)
1/29/17 22
Another	drop-in
Large	table	filtered	by	lookup	table(s)	
select sum(amount_sold),
sum(quantity_sold)
from sales_big
where sales_big.cust_id in
(select cust_id
from customers,
countries
where customers.country_id = countries.country_id
and countries.country_name = 'Italy'
and cust_credit_limit = 15000)
1/29/17 23
X2,	12c,	drop-in	vs	Exa-friendly
Drop-in
Exa-friendly		
1/29/17 24
Exadata,	Smart	Scan	ON,	SQL	Exa-friendly
1/29/17 25
Remove	the	subquery
• Subquery	produces	low	NDV	
• Can	be	pre-computed	and	used	as	filter
• Hint	/*+	PRECOMPUTE_SUBQUERY	*/
• Doesn’t	always	work
– If	the	subquery	alone	takes	long	to	execute
– If	high	NDV	then	Smart	Scan	disabled	(uses	DPR)
1/29/17 26
Drop-in	#3
Simple	SQL	using	complex	predicate
SELECT COUNT(*)
FROM martin.bigtab
WHERE v1 = DECODE(
CASE WHEN (
CASE WHEN 'ED' IN ('ED','AIS') THEN 1
WHEN ('NA'='P' OR 'ED'='SAQ') AND v1 <> 'Y' THEN 1
ELSE 0
END = 1)
THEN 'X'
ELSE 'N'
END ,'X','0001161826', 'Y')
1/29/17 27
'0001161826'
12c,	drop-in	vs	Exa-friendly
Drop-in												
Exa-friendly		
1/29/17 28
cell pIO bytes eligible for pred offload 83886137344
cell pIO bytes saved by storage index 0
cell pIO inter bytes ret by smart scan 14740392
cell pIO bytes eligible for pred offload 83886137344
cell pIO bytes saved by storage index 31303966720
cell pIO inter bytes ret by smart scan 9241000
Drop-in	#4
Simple	SQL	using	less	complex	predicate
SELECT COUNT(*)
FROM sales_big
WHERE TO_CHAR(time_id,'YYYY-MM-DD HH24') = '1997-10-09 10'
1/29/17 29
12c,	drop-in	vs	Exa-friendly
Drop-in												
Exa-friendly		
1/29/17 30
cell pIO bytes eligible for pred offload 103534297088
cell pIO bytes saved by storage index 0
cell pIO inter bytes ret by smart scan 5985839720
cell pIO bytes eligible for pred offload 103534297088
cell pIO bytes saved by storage index 81859526656
cell pIO inter bytes ret by smart scan 950385176
Complex	filters
• CBO	attempts	to	simplify	them	if	possible
– No	logic	to	simplify	ALL	of	them	
• Storage	Index	works	with	simple	operators
– Complex	filters	won’t	use	SI	
• Simplify	logic	when	possible
• Use	super-set	filter	predicates
– Can	be	offloaded	and	use	storage	index
– Reduce	num of	rows	to	apply	complex	pred on
1/29/17 31
V$SQLFN_METADATA
• List	of	functions	that	can	[not]	be	offloaded
– Increase	version	after	version
• Should	be	familiar	when	writing	SQL
• If	SQL	includes	a	not	offloadable then
– Rewrite	if	possible	using	offloadable function
– If	not,	add	super-set	with	offloadable function
• Specific	functions	can	be	turned	off
1/29/17 32
So	far	we	learned
• Clean	your	CBO	environment
– Let	the	CBO	do	its	job	J
• Filter	sooner	to	process	less	later
– Help	the	CBO	if	needed
• Applies	to	
– Joins	->	Bloom	Filters
– Subqueries	->	Unnest+BF or	precompute	subq
– Complex	pred ->	simplify	or	super-set	pred
• Old	concept,	indexes	serve	same	purpose
1/29/17 33
I’m	ready	to	race	now!
1/29/17 34
My	first	time	with	no	
training	wheels.
What	if	I	get	an	engine	problem?
• Previous	examples	increase	offload	efficiency
– It’s	like	going	faster	with	a	functioning	car
• What	is	the	car	doesn’t	start?
– Several	conditions	disable	/	impact	smart	scan
– Learning	them	to	
• Avoid	unexpected	surprises	
• Identify	way	to	alleviate	impact
1/29/17 35
Mixed	load	(OLTP/DW)	sample
1/29/17 36
DW	load	sample
1/29/17 37
Smart	Scan	party	poopers
• Requirements	not	met
– No	FullScan+DPR,	mostly	cached,	etc
• Not	available
– Cluster,	IOT,	rowscn,	etc
• Rows	need	resolution	in	compute	node
– Chained	rows	with	rowpiece in	different	AU
– Consistent	reads	not	helped	by	minscn cache
– Saturated	cells	shipping	data	to	balance	CPU
1/29/17 38
Drop-in	surprise	#1
SQL	doesn’t	use	Smart	Scan	on	every	partition
1/29/17 39
Drop-in	surprise	#1
SQL	doesn’t	use	Smart	Scan	on	every	partition
1/29/17 40
Drop-in	surprise	#1
• Segment(s)	too	small	for	Smart	Scan
– Legacy	heavy	partitioning	to	extreme	of	tiny	parts	
– Can	also	happen	as	consequence	of	compression
• Confirmed	by	nsmtio trace
SqlId = 9rxuuptqp3ru2, phv = 2502846130, Part# = 1
NSMTIO: kcbism: islarge 1 next 0 nblks 915656 ...
…
NSMTIO: qertbFetch:[MTT < OBJECT_SIZE < VLOT]:…
NSMTIO: kcbdpc:DirectRead
SqlId = 1vrwjrfzxmknd, phv = 2502846130, Part# = 2
NSMTIO: kcbism: islarge 0 next 0 nblks 836 …
…
NSMTIO: qertbFetch:NoDirectRead:[- STT < OBJECT_SIZE < MTT]
1/29/17 41
Drop-in	surprise	#2
1/29/17 42
Smart	Scan	spending	65%	on	single	block	reads
Drop-in	surprise	#2
• Usually	because	of
– Large	UPD	causing	chained	rows
– Tables	with	>	255	cols	in	different	AU
• Chained	rows	are	processed
– In	the	cell	if	next	piece	available	(less	likely)
• chained rows processed by cell
– In	the	compute	node	if	not	(more	likely)
• chained rows skipped by cell
• Some	fixes	(e.g.	9373758)	try	to	minimize	impact
1/29/17 43
Drop-in	surprise	#3
CR	needed,	returning	data	to	compute	node
-------------------------------------------------------------------------------------------------------
SID @INST, USERNAME , TYPE, STATISTIC , DELTA
-------------------------------------------------------------------------------------------------------
1497 @1, EO00 , STAT, cell physical IO interconnect bytes , 650748816
1497 @1, EO00 , STAT, cell physical IO bytes eligible for predicate offload , 612196352
1497 @1, EO00 , STAT, cell physical IO interconnect bytes returned by smart scan, 613436648
1497 @1, EO00 , STAT, cell blocks processed by cache layer , 76033
1497 @1, EO00 , STAT, cell commit cache queries , 76033
1/29/17 44
Drop-in	surprise	#3
• Uncommited changes
– Smart	Scan	returns	data	needs	CR	to	compute
• Not	Exadata specific
– Just	push	work	back	to	compute
• For	commited changes	MINSCN	cache	helps
– cell blocks helped by minscn optimization
1/29/17 45
Conclusion
• Drop-in	migration	often	sub-optimally	use	Exadata
• Legacy	SQLs	may	need	adjustments:
– To	fully	leverage	Exadata features
– To	improve	areas	where	Exadata doesn’t	automatically	help	
• Most	of	the	adjustments	are	simple:
– Clean	CBO	environment
– Streamline	filter	predicates
• Sometimes	CBO	needs	a	little	push
• Get	familiar	with	Smart	Scan	disablers
– To	predict	behaviors	and	avoid	surprises	
1/29/17 46
47
References
• Oracle®	Exadata	Storage	Server	Software	
User's	Guide	12c	Release	1	(12.1)
• Oracle®	Exadata	Database	Machine	System	
Overview	12c	Release	1	(12.1)
• Expert	Oracle	Exadata
• Google.com J
48
Contact	Information
• http://mauro-pagano.com
– Email
• mauro.pagano@gmail.com
– Download(s)
• SQLd360	vYYMM (date)
• TUNAs360	vYYMM (date)
• Pathfinder	vYYMM (date)
49

More Related Content

PDF
Chasing the optimizer
Mauro Pagano
 
PDF
Histograms in 12c era
Mauro Pagano
 
PDF
Oracle statistics by example
Mauro Pagano
 
PPTX
Adapting to Adaptive Plans on 12c
Mauro Pagano
 
PDF
Same plan different performance
Mauro Pagano
 
PPTX
Full Table Scan: friend or foe
Mauro Pagano
 
PPTX
SQL Plan Directives explained
Mauro Pagano
 
PPTX
A few things about the Oracle optimizer - 2013
Connor McDonald
 
Chasing the optimizer
Mauro Pagano
 
Histograms in 12c era
Mauro Pagano
 
Oracle statistics by example
Mauro Pagano
 
Adapting to Adaptive Plans on 12c
Mauro Pagano
 
Same plan different performance
Mauro Pagano
 
Full Table Scan: friend or foe
Mauro Pagano
 
SQL Plan Directives explained
Mauro Pagano
 
A few things about the Oracle optimizer - 2013
Connor McDonald
 

What's hot (20)

PDF
Performance Schema for MySQL Troubleshooting
Sveta Smirnova
 
PDF
Character Encoding - MySQL DevRoom - FOSDEM 2015
mushupl
 
PPTX
Adaptive Query Optimization in 12c
Anju Garg
 
PDF
Managing Statistics for Optimal Query Performance
Karen Morton
 
PDF
Demystifying cost based optimization
Riyaj Shamsudeen
 
PDF
Histograms : Pre-12c and Now
Anju Garg
 
PDF
MySQL/MariaDB query optimizer tuning tutorial from Percona Live 2013
Sergey Petrunya
 
PDF
MariaDB: Engine Independent Table Statistics, including histograms
Sergey Petrunya
 
PPT
Dbms plan - A swiss army knife for performance engineers
Riyaj Shamsudeen
 
PDF
Riyaj: why optimizer_hates_my_sql_2010
Riyaj Shamsudeen
 
PPT
Metadata Matters
afa reg
 
PDF
ANALYZE for executable statements - a new way to do optimizer troubleshooting...
Sergey Petrunya
 
PDF
Indexing Strategies for Oracle Databases - Beyond the Create Index Statement
Sean Scott
 
PDF
Oracle Diagnostics : Joins - 1
Hemant K Chitale
 
PPTX
Oracle dbms_xplan.display_cursor format
Franck Pachot
 
PDF
Common Table Expressions in MariaDB 10.2 (Percona Live Amsterdam 2016)
Sergey Petrunya
 
PDF
Performance Schema for MySQL Troubleshooting
Sveta Smirnova
 
PDF
MariaDB 10.0 Query Optimizer
Sergey Petrunya
 
PDF
MySQL Query tuning 101
Sveta Smirnova
 
PDF
New features in Performance Schema 5.7 in action
Sveta Smirnova
 
Performance Schema for MySQL Troubleshooting
Sveta Smirnova
 
Character Encoding - MySQL DevRoom - FOSDEM 2015
mushupl
 
Adaptive Query Optimization in 12c
Anju Garg
 
Managing Statistics for Optimal Query Performance
Karen Morton
 
Demystifying cost based optimization
Riyaj Shamsudeen
 
Histograms : Pre-12c and Now
Anju Garg
 
MySQL/MariaDB query optimizer tuning tutorial from Percona Live 2013
Sergey Petrunya
 
MariaDB: Engine Independent Table Statistics, including histograms
Sergey Petrunya
 
Dbms plan - A swiss army knife for performance engineers
Riyaj Shamsudeen
 
Riyaj: why optimizer_hates_my_sql_2010
Riyaj Shamsudeen
 
Metadata Matters
afa reg
 
ANALYZE for executable statements - a new way to do optimizer troubleshooting...
Sergey Petrunya
 
Indexing Strategies for Oracle Databases - Beyond the Create Index Statement
Sean Scott
 
Oracle Diagnostics : Joins - 1
Hemant K Chitale
 
Oracle dbms_xplan.display_cursor format
Franck Pachot
 
Common Table Expressions in MariaDB 10.2 (Percona Live Amsterdam 2016)
Sergey Petrunya
 
Performance Schema for MySQL Troubleshooting
Sveta Smirnova
 
MariaDB 10.0 Query Optimizer
Sergey Petrunya
 
MySQL Query tuning 101
Sveta Smirnova
 
New features in Performance Schema 5.7 in action
Sveta Smirnova
 
Ad

Similar to Is your SQL Exadata-aware? (20)

PDF
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
Enkitec
 
PDF
Exadata Smart Scan - What is so smart about it?
Uwe Hesse
 
PPTX
All (that i know) about exadata external
Prasad Chitta
 
DOCX
Exadata - Smart Scan Testing
Monowar Mukul
 
PDF
Drilling Deep Into Exadata Performance
Enkitec
 
PDF
Exadata X3 in action: Measuring Smart Scan efficiency with AWR
Franck Pachot
 
PPTX
Real World Performance - Data Warehouses
Connor McDonald
 
PDF
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
Edgar Alejandro Villegas
 
PPTX
Oracle 11gR2 plain servers vs Exadata - 2013
Connor McDonald
 
PDF
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
cookie1969
 
PPTX
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
IDERA Software
 
PPTX
Top 10 tips for Oracle performance
Guy Harrison
 
PPTX
DBA Commands and Concepts That Every Developer Should Know
Alex Zaballa
 
PDF
Ebs dba con4696_pdf_4696_0001
jucaab
 
PDF
Track 2 session 4 db2 for z os optimizer- what’s new in db2 11 and exploiti...
IBMSystemzEvents
 
PDF
2013 Collaborate - OAUG - Presentation
Biju Thomas
 
PDF
Modernizing your database with SQL Server 2019
Antonios Chatzipavlis
 
PPTX
Embarcadero In Search of Plan Stability Part 1 Webinar Slides
Embarcadero Technologies
 
PPSX
Conquer Big Data with Oracle 18c, In-Memory External Tables and Analytic Func...
Jim Czuprynski
 
PPTX
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Alex Zaballa
 
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
Enkitec
 
Exadata Smart Scan - What is so smart about it?
Uwe Hesse
 
All (that i know) about exadata external
Prasad Chitta
 
Exadata - Smart Scan Testing
Monowar Mukul
 
Drilling Deep Into Exadata Performance
Enkitec
 
Exadata X3 in action: Measuring Smart Scan efficiency with AWR
Franck Pachot
 
Real World Performance - Data Warehouses
Connor McDonald
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
Edgar Alejandro Villegas
 
Oracle 11gR2 plain servers vs Exadata - 2013
Connor McDonald
 
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
cookie1969
 
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
IDERA Software
 
Top 10 tips for Oracle performance
Guy Harrison
 
DBA Commands and Concepts That Every Developer Should Know
Alex Zaballa
 
Ebs dba con4696_pdf_4696_0001
jucaab
 
Track 2 session 4 db2 for z os optimizer- what’s new in db2 11 and exploiti...
IBMSystemzEvents
 
2013 Collaborate - OAUG - Presentation
Biju Thomas
 
Modernizing your database with SQL Server 2019
Antonios Chatzipavlis
 
Embarcadero In Search of Plan Stability Part 1 Webinar Slides
Embarcadero Technologies
 
Conquer Big Data with Oracle 18c, In-Memory External Tables and Analytic Func...
Jim Czuprynski
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Alex Zaballa
 
Ad

Recently uploaded (20)

PPTX
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PPTX
TestNG for Java Testing and Automation testing
ssuser0213cb
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPTX
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Activate_Methodology_Summary presentatio
annapureddyn
 
TestNG for Java Testing and Automation testing
ssuser0213cb
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Presentation about variables and constant.pptx
safalsingh810
 
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
oapresentation.pptx
mehatdhavalrajubhai
 

Is your SQL Exadata-aware?