Showing posts with label Hotsos Symposium. Show all posts
Showing posts with label Hotsos Symposium. Show all posts

Tuesday, January 13, 2015

Hotsos Symposium Early Bird pricing ends 1/16

This year I did not submit for the Hotsos Symposium, but I made sure to keep it in my plans to attend this even virtually if I had to.  Did you know that the Early Bird pricing for the conference is ending in just a few days?  Hurry up and sign up now because it will be a really great event!!

Tuesday, June 3, 2014

Hotsos Symposium 2015: Open!

Sure I went on and on about the Hotsos Symposium 2014 conference which you can see here but I learned something today I think you should know.  The call for presentations is now open and so is registration!

Personally the 2012 event changed my view of the world and got me really going professionally, the 2014 event inspired me even more and was such a great time to network and learn from others that I am hoping to have an entirely new abstract to submit for next year!

Thursday, March 6, 2014

Hotsos Symposium 2014 - Training Day


I broke my routine and skipped breakfast this morning, but I made it here in time for Tanel's presentation!

Topics
  Systematic Troubleshooting Approach
  Metrics, what to use when?
  Oracle 12c topics
  OS touch-point and lower level stuff

Doing a really deep dive into today's presentation isn't fair to Tanel, or the other attendees that spent their cold hard cash to be here, so I'm only going to highlight a few items that might help you out.  Before you leave!  Tanel did post his Training Day from 2010 which had a lot of what he based today's presentation off of, so if you need to learn something from him here is an excellent opportunity.

Review the ASH table.  There are some "hidden" gems in it!
What does IS_SQLID_CURRENT in ASH do or mean?  Tanel doesn't know, he hasn't really used it.  Sounds to me like a good thing to learn!  He suggests that we read te documentation. :}
Totally off subject, but it makes me feel good that Tanel thinks he would fail some Oracle exams!
What are the different types of profiling, and what do you use?

Some tables mentioned today:

V$OSSTAT
V$SYS_TIME_MODEL
V$SESSTAT
V$SYSSTAT
V$TOPLEVELCALL
V$ENQUEUE_STATISTICS
DBA_HIST_SYSMETRIC
V$EVENT_HISTOGRAM
V$LATCH
V$LATCH_CHILDREN

Tools mentioned today:

Snapper script (located here)
Ashtop.sql (located here)
Swingbench

How does a phone bill relate to Oracle performance tuning?  You'd be surprised!  Great example!
Great use of EM to dive into a performance problem!
Tanel was channeling Cary Millsap a bit and it was awesome!
He taught us something about ASH Analytics in 12c, which looks really cool and useful too!

If you didn't attend Hotsos Symposium this year, I would strongly recommend it, and even MORE strongly recommend signing up for the Training Day next year!

Wednesday, March 5, 2014

Hotsos Symposium 2014 - Day 3

Following a trend, I had breakfast and then onto the show!

8:30 AM - Leveraging in-memory storage to overcome Oracle Database PGA memory limits - Alex Fatkulin - @AlexFatkulin

Alex starts with the observation that data trends have changed over the years, and bloat in the database is not unexpected.
The idea of legacy Oracle code vs. 64 bit OS innovation.
"Kill it with iron" is a great mantra!
A short PGA memory overview which honestly had some new stuff for me, but don't worry I'll be tackling learning more about Oracle internals this year!
Review of SQL work areas - hash area, sort area, bitmap area.
ORA-02017 was an error code he received when setting memory values.  Look it up, the message will surprise you!
Alex showed us that he was on a 64 bit system, but Oracle will only accept a 32 bit value for a particular memory parameter.
Why can Oracle accept 1TB for another memory parameter?  There are a bunch of hidden parameters related to PGA_AGGREGATE_TARGET that get set.
I thought that Alex had a really good graph to tell his story as well.
Importantly, he pointed out that per process limits are multiplied by the Degree of Parallelism.  In that case, an Exadata X3-8 system would need a DOP set to 768 to use the PGA of 1.5TB for processes.
Review MOS note 453540.1 / patch 17951233 for how to override memory limits.
Can we accept memory spilling as a fact of life?
There are ways to radically improve TEMP I/O:
  In-memory file system
  SAN/NAS LUN with write-back cache
Linux tmpfs via loop device
InfiniBand SRP with ZFS storage device had incredible payoffs so I wonder if we can replicate that in our space.
I loved seeing the spilling to temp!

9:45 AM - Profiling the Logwriter and Databasewriter - Frits Hoogland - @fritshoogland

lgwr and dbwr are the process names at the database level, and this presentation is about what their wait events tell you at a pretty detailed technical level.
lgwr manages the redolog buffer and Frits was able to run oradebug on the lgwr process.
"rdbms ipc message" indicates a sleep/idle event.
lgwr looks every 60 seconds for PMON existence, if it doesn't find it the instance gets terminated.
I really enjoyed his expectations vs. actual graph because he was very honest about the difference!
semctl system call wakes up lgwr so it submits an io_submit call.
Frits was genuinely excited about the DB not working as intended, which was plain as day and I love that he feels that sense of thrill just as I and others do when we have problems or can't explain something!
When he put overhead on the process, he created an edge case which made me think of Schrödinger's cat.
The parameter "_use_adaptive_log_file_sync" is automatically set to TRUE in 11.2.0.3.
The wait event "log file parallel write" is a sign lgwr is waiting!
It was really wonderful seeing latches I've never seen before!
pwrite64 is the parallel write io subprocess.
I thought it was awesome that Frits might have a bug which may be fixed in 12.1.0.2!
Logswitch events!
"_disable_logging" is a forbidden switch but all Frits could see was a lack of writing as a result.
The processes oss_write (stands for Oracle Storage System) and oss_wait are what you will see on an Exadata system.
DBWn writes dirty buffers and looks for PMON to be alive too!
"DB file async I/O submit" was a new event he wasn't expecting.  This did not exist prior to 11.2.0.2 and while he thought it may have been instrumentation of io_submit it wasn't.
"DB file parallel write" is not physical I/O indicator or I/O latency timing, this is the timing of what's gone on before.

This was a really great presentation and gave me some new insight on how to dive deeper into the mechanics of what Oracle is doing behind the scenes!

11:00 AM - Journey to the Center of the Database - Ric Van Dyke - @RicVanDyke

Not knowing a whole lot about database internals, I wanted to attend this session to pick up what might be some common knowledge while Ric dives into a bigger issue with his presentation

First he starts off by asking what is a data block, and comes back with an answer that most are blocks representing table or data.
The size of your blocks depends on the DB_BLOCK_SIZE parameter, and different block sizes are designed for different purposes such as OLTP versus DW.
Block overhead is about 100 bytes which contains a header, table directory, and row directory.
What is a rowid really?  Ric points out that it isn't what we think it is.
He then takes us into the row!  I thought it was pretty awesome how he was doing a dump of the blocks and then putting it back together again to see what it said.
Trailing nulls are not stored in a block, so they should be put at the end of your rows to save space.
Test scripts!
Number format doesn't show up in block dump.
Character data is stored in reverse order…sort of
Did you know the old row of data still exists after update in the block if the whole row is updated, instead of a single column being re-written?  Pretty cool to see him prove it out!  Because of this, there are redo log considerations.
Ric had a good breakdown of the differences of the pros for block sizes!
He keeps underscoring how you need to test your environment to see how your indexes (and data) run with different block sizes.
There is a new 12c feature that introduces batched indexes to grab a set of rowids and associated data!  Very cool!
His example showed block size being increased from 4k to 16k, and as expected the consistent gets went down, but the time taken went up.
From the audience, Ric was taught something that he taught the audience member before!  Priceless!
PCTFREE vs PCTUSED - I think this is likely why my Workflow purging hit the HWM issues it did!

1:00 PM - Understanding How Adaptive Cursor Sharing (ACS) Produces Multiple Optimal Plans - Carlos Sierra - @csierra_usa

Carlos started out with showing us allies to plan flexibility, and several plan stability tools which are in sharp contrast to each other.
Reiterates that with cursor sharing, you use bind variables to reduce hard parsing but the problem is that different values in your binds changes your return results so plans eventually change from good to bad.
With ACS, introduced in 11g, you can have multiple optimal plans per SQL depending on the selectivity of the predicates.
ACS has overhead, so it shouldn't be used "globally" and bind variable statements are candidates which are eventually categorized as "Bind Aware".
SQL becomes Bind Aware when the rows processed change between executions substantially or oscillates significantly.
V$SQL - columns: is_sharable, is_bind_sensitive, is_bind_aware
V$SQL_CS_STATISTICS - rows processed
V$SQL_CS_HISTOGRAM - buckets S/M/L (S - less than 1k, M - 1k to 1m, L - 1m and up)
V$SQL_CS_SELECTIVITY - selectivity profile
Live demo!  This was really interesting, and I can't wait to play around with the scripts Carlos will share!
The hints /*+ BIND_AWARE */ and /*+ NO_BIND_AWARE */ help to force ACS to do what we want if we can't change the code.
With ACS, there is the idea of plan selection but it is not permanent and SQL Plan Management (SPM) gives you that permanency.

2:15 PM - Creative Problem Solving - Kerry Osborne - @KerryOracleGuy

There was SO much that Kerry brought up in his presentation, it feels like if I told you everything, it'd give away the ending and you wouldn't get as much out of it when you get a chance to hear him talk.  As a result, I'm going to narrow his talk down to just a few points that were really relevant to me.

Can we teach people to be better problem solvers?  I believe so, but I'm probably biased because I've trained a lot of people and I like to think I've helped to make some of them better problem solvers.
Kerry loves working with people, but hates working with people which I think is very insightful about him, but speaks a lot about our profession choices as well because we can choose how we act even though we know our preferences.
What makes a good problem solver?  Kerry boiled this down to 4 pillars, but one I disagree with is needing to be optimistic (if you know me, you'll know why I disagree).  I think depending on your job/role, you can absolutely be pessimistic and an effective problem solver as you can be optimistic about yourself or your skills and be pessimistic about situations or actions that others take.
I thought his statement that it takes 10,000 hours of practice before you start getting good at something very interesting.  That's 5 years if you do the same thing for 40 hours a week for 50 weeks out of the year.  Who does the exact same thing over and over like that?  Especially in my line of work of Support where I do a little of this, and a little of that, but not a lot of it the same at any one time to get repetitive practice at it.  Maybe time to find something for my toolbox that I can get practice at, and get better at huh?
Problems are complex and have multiple solutions.  Sounds a lot like what Cary Millsap says a lot right?
Can we overcome who we naturally are, to get better?  Yes, and there are mind tricks we can use to improve our odds.
The effects of stress are typically negative, but it is hard to totally avoid stress so there are several techniques that can be used to lessen that effect on your work product.

It may sound like I disagree with Kerry, but honestly he makes a lot of good points and it's made me look at some things in a different light.

Tuesday, March 4, 2014

Hotsos Symposium 2014 - Day 2 + Me

Breakfast in my room this morning while I reviewed my presentation, and then onto the show!

8:30 AM - General Session: Optimizer Ying and Yang - Tom Kyte - @oracleAskTom

Tom started with a great tip following up from his session yesterday, and that is don't program to fail!  Great tip!  I know it sounds odd, but trust me he made it work!
This leads into being able to abuse functions which leads to cardinality estimation and CPU usage issues.
This really reminded me of what I saw yesterday about working with functions.
ALTER SESSION SET PLSQL_WARNINGS = 'error:all' - allows the Optimizer to warns you about "suboptimal" code such as "when others null" and it has been there since 10g but doesn't have a lot of adoption from what Tom sees.
Another tip is to think about NLS settings on how your data/programming may turn out if it gets changed.
What happens when partition elimination is eliminated?
A reminder about what happens when you have bad stats, which is something I've seen before, temp tables being empty or full when gathered.  Choices are maybe dynamic sampling or filling with representative data.  A new feature in 12c is "session private statistics" that can lead to excessive hard parsing because everybody is doing the same thing.
He shared DBMS_STATS.COPY_TABLE_STATS() which makes me think about his example about gathering at 9AM vs 3PM with my next purging project.
When do you have to gather stats more often?
Is 10% right?
Underscored that you need to have knowledge of data pattern and data in your system.
Hints are often a bad idea, unless it gives the optimizer good information.
Valid hints can be ignored!
If you can hint it, you can baseline it.
Most important stats are NUM_ROWS and NDV!
AUTO_SAMPLE_SIZE is another option.
X is bad - is something always bad? or good?
Live tuning by a volunteer!
Idea of "key preserved" helps to eliminate table joins.
Count could change after retrieval!  Great reason to not code that in as a logic check!
10053 trace shows the details from his live tuning, so another tool in the toolbox.
He made the comment that if we think that he and Maria Colgan (@db_inmemory) are really unique, the actual Optimizer developers are really unique individuals!
Fake values = fear of nulls
Using the year 9999 makes the system think it has a lot of data so throws the Optimizer off.
Great example used of license plates people picked of NO TAGS and XXXXXXX which caused problems for them because the users/system had those "reserved" for unidentified cars!

9:45 AM - 10:15 AM - Diving into ASH and AWR - Kellyn Pot'vin - @DBAKevlar

First off, bravo!  She kept her cool and was able to rush through her presentation because the hotel had a problem partitioning the two rooms and she was left with only 30 minutes of time after a 30 minute delay.
The theme of her presentation was staying on the right road, and not letting ASH and AWR take you down a rabbit hole of tuning.  How do you prevent that?  Only tune for time, and nothing else.
Great reminder that one shouldn't assume, as data must be gathered to prove any point.
ASH and AWR came out due to needing "always on" performance metrics, but it does require a license from Oracle to run.
I really liked how she was running ASH from 12c EM, and giving us very relevant hints such as how the tool shows HTML output which is useful for explaining or proving things to executives.
Kellyn introduced a new feature called Compare ADDM which uses 2 AWR snapshots to tell you what the differences are for several key metrics.
12c also shows you regression SQL as well for what has decreased in performance.
Resource Comparisons is another feature that compares memory and I/O.
She believes (strongly) that DBAs should share tools with development, and that is a great idea that needs to be shared more!
SQL Monitor in 12c also shows Exadata cell offloading!
Search SQL is another new feature in 12c that lets you find out what has happened to that SQL previously in your system.
Another tool in the toolbox is:  SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_AWR(sql_id))
A few keys from the ASH table is that user_id is same as in DBA_USERS and WAIT_TIME is on previous event.
The best part of the session for me were the scripts that Kellyn shared with us!  There's easily 5 or 6 that I'm bouncing around in my head for how we can build it into our proactive monitoring platform!  This includes a query that originated with Tyler Muth from Oracle and has been tweaked for several years.
Ending her presentation with the idea that there are RAC global ASH reports got me excited for where we can take this in the future.

11:00 AM - 12:30 PM - Power Up Your Apps with Recursive Subquery - Jared Still - @perlDBA

CONNECT BY refresher was good for me, because I really don't use it or see it used a whole lot.
Bug 17834663 / MOS note ID 17834663.8 for the associated bug
Two options:
With Fibonacci
Factorial
What's the difference between SYS_CONNECT_BY_PATH vs CONNECT_BY_ROOT?  Not much, but it's there.

I think it is concerning when a speaker says "this is hard to understand, and I've spent a lot of time on this but it's not second nature to me yet".  So…why am I here trying to learn if you say it's still confusing?  Probably why I didn't get a whole lot out of it, (either that or I was focused on what I wanted to say in my presentation next) but I'm going to try and use this stuff when I get home anyways to try something new…when I understand it better.

1:00 PM - 1:40 PM - Analyzing Oracle Workflow Data for Increased System Performance - Rusty Schmidt (Me!) - @TheOracleEMT

Sure, I wanted to go see Tanel Poder (@TanelPoder) present "Troubleshooting a Yet Another Complex Performance Issue" too, but the show had to go on and I appreciate everybody that attended my session over his.  Especially since he got to have the second room opened because of the delay Kellyn endured, and we were banished to the basement.  :}  I did rush through the presentation a bit, since I was thrown off some from the changes, and I think I hit every high point that I wanted but if you want a little more in-depth you can visit my Whitepaper that Hotsos has on their portal or the copy Oracle has hosted.

After my presentation I didn't get to attend the next sessions that I had planned on, so I'll cover these in a future blog post after I get access to the audio!  Sorry about that folks!

2:15 PM - 2:50 PM - SQL Tuning: A Look Behind the Curtain - Craig Martin - @c_martin2
3:30 PM - 4:00 PM - How Hot Is My Data?  Leveraging Automatic Database Optimization (ADO) Features in Oracle 12c Database For Dramatic Performance Improvements - Jim Czuprynski - @jczuprynski
4:45 PM - 5:00 PM - Where Did My CPU Go? - Karl Arao - @karlarao

This was a difficult choice for me, but after reading the abstract for Luca Canali's "A Latency Picture Is Worth a Thousand Storage Metrics" I realized I had blogged about it almost a year ago!

Monday, March 3, 2014

Hotsos Symposium 2014 - Day 1

The day started early so I could get ready and attend breakfast to do some networking, and then it was off to the main room for the conference to start!

8:30 AM - Keynote Address: An Introduction to the New Oracle Database In-Memory Option - Maria Colgan - @db_inmemory

First off, Maria told us that she can't be held accountable for anything she tells us as this is not PROD code but after that she said that 12.1.0.2 should be coming this calendar year!  She also made us re-think what ad-hoc report running really is, especially with objects such as Materialized Views existing sometimes to help speed reporting up.
What's the secret sauce of In-Memory?  Both row and columnar formats are in memory at the same time and the Optimizer is smart enough to go to the correct data store to make the queries better.
The new pool in the SGA for this is called "In-Memory Area" and cannot be changed from the size determined at creation.
How do you put objects into memory?  ALTER TABLE foo INMEMORY
The new memory-optimized compression format does a 90 degree pivot of your data.
The table V$IM_SEGMENTS shows what is in-memory.
At this point Maria was prepared to do a demo, but it didn't work which was unexpected and she showed her professionalism by having prepared to talk about the material anyways.
Based on the data available for the OpenWorld 2013, 12c was 100x faster with the column store!
SIMD vector processing vs. Tom Kyte's row by row, slow by slow.
This is a great example of how closer talks within Oracle, and between teams, is getting them better results.  What teams should talk or work together for you?
Another new table: V$MYSTAT
This uses bloom filters which wasn't new for Exadata, but existed in 10g.
The Optimizer is sophisticated enough to apply multiple bloom filters so chances of the query going to disk are greatly reduced because of the data reduction applied originally.
A new vector group by shows up to replace the old hash group by.
This solution gives us extreme capacity and cost effectiveness while not being limited by memory.
Neither is this limited by RAC, as each instance has their own caches for in-memory.
In-Memory uses direct-to-wire InfiniBand speeds for messaging in Exadata systems bypasses all of the OS speeds/interfaces.
If tables are kept in all RAC nodes, the column stores will be kept in sync across the cluster.
This is deeply embedded in the DB, and is transparent to the application as all applications are compatible because the on disk format has not changed.

9:45 AM - General Session: SQL Gone Bad - But Plan not Changed? - Kerry Osborne - @KerryOracleGuy

A reminder about the Exadata E4 conference, sign up at www.Enkitec.com/e4!
The presentation is summed up by "good news, bad news" and "that which doesn't kill us makes us stronger".
This is keyed on the fact that plan hash values (PHV) can change instead of staying static.
Kerry reminds us that plan stability is a hard thing to deal with, first the CBO was introduced, then hints, and then outlines.
There are several different "automagic troublemakers" so you need to keep your eyes open.
What is missing from the PHV calculation?
Live demo!
AWR doesn't capture predicates, neither does statspack or SQL monitor.
SQL Plan Management does work in 12c to capture the plan, but older versions don't work to capture it!
Nobody in the room is using 12c in production…or at least that they would admit to!  I'm concerned!
First time an online question was taken, and even though it didn't get answered, it was awesome to get that out there!

The presentation may have been short, but I thought it was really valuable because it helped to break some ideas people may have had and introduced the idea of not seeing the same thing everything the same way.

11:00 AM - Real-Time SQL Statement Monitoring - Tim Gorman - @timothyjgorman

Tim was a victim of the rooms being broken down, so he lost probably a good 5-10 minutes but he kept it together and ended up knocking it out of the park!  Seeing gaps with ASH and DBMS_XPLAN, which they could each fill for each other, he created a package called ASH_XPLAN!
A good reminder that indexes are disabled on function usage.
An introduction (for me at least) that INDEX SKIP SCAN not a good thing in general just as going REMOTE over database links are typically not good.
This was a lot like Kerry's presentation about bad instead of good, but these are the things we need to face and learn about instead of running from.
Tim also indicated that V$SQL_MONITOR is added to automatically when more than 5 seconds of time has elapsed for the current SQL.
He shared output from SQL tracing, but time isn't included and that's what you should be tuning for.
Another new table: V$SQL_PLAN_MONITOR has a lot of stuff in it including I/O info.
What is the workarea and why does it spill?
Hidden ASH parameters _ash_disk_filter_ratio and _ash_eflush_trigger control how ASH acts!
Tim suggests a 45 day retention of AWR due to monthly business cycle.
I thought it was also brilliant to wrap up his references to a phone book (dated) and Olympics (current) in the same breath.

1:00 PM - Three Approaches to Shared Pool Monitoring - John Hurley - @GrumpyOldDBA

A reminder for the GLOC conference, sign up at https://www.neooug.org/gloc/!
Some key questions that John asks us are what size should the shared pool be and how much is in the shared pool?
This stems from an ORA-04031 error crash resulting from ASM dying in his main database.
Chapters 2 and 4 from Tom Kyte's book and Jonathan Lewis's Oracle Core, chapter 7 are main references for him including most of what Tanel Poder puts up on his blog.
The shared pool was introduced with Version 7 as a metadata cache which was only 3.5MB!
Now the shared pool size has expanded from 9 -> 90 -> 900 -> 9000 MBs.
He gives us several different ways to look at SQL in your system with a good script!
An outline of the difference between ORA-04030 and ORA-04031 errors.
Great visuals to make his point!!
Sub sub pools?  My head is getting dizzy!
These might not be new tables to everybody, but you should know about: V$SGA, V$SGAINFO and V$SGASTAT (ASM info here).
If you see "KGH: NO ACCESS" this is a bad thing.
Another new table: V$DB_OBJECT_CACHE
How to chew the shared pool up?  There are many ways!
Who is using OSwatcher?
Another new new table: V$SQL_SHARED_CURSOR
There were many example SQL scripts which can be setup as alerts in my system!
MOS note 296377.1 for SQL statements with children.
ASM uses space in the shared pool, which is why it was able to throw an ORA-04031 error!

2:15 PM - Five Things You Might not Have Known about the Optimizer - Tom Kyte - @OracleAskTom

It's Tom Kyte.  Come on, I HAVE to go see this one!  I didn't get to because the room was full, and I didn't feel right on taking a seat from the paying attendees, so I went to see Julian Doncheff give his presentation "DBA Best Practices for Performance Tuning in a Pluggable World" to learn something new!

I really liked how he opened up the presentation with quizzing us by throwing oddities at us, that's a welcome change!
Bryn Llewellyn was in the audience talking about the difference between hint returns if it has the choice not to return an error, which was news to me.
Julian shared a query that had a value of 6 Exabytes, which is an Exabyte more than all the words spoken in the human language to date.  I think the query is off by a few factors!
A recent study indicated that 20% of DBAs admit to doing nothing to address performance issues.  The scary thought is that this is only the ones that admitted it!  The same study indicated that the current ratio of instances a DBA manages is around 45:1.  That's insane!
He indicates that it is not possible to upgrade 11g to a 12c CDB, as it has to be upgraded to 12c and then made a PDB.
I thought it was really interesting how CDB and PDB are changing the game, but in several instances Oracle is taking steps back from "support" aspects like 1 log file for up to 254 PDBs.
Did you know that statspack still exists even in this area?
In-Database Archiving - This is a new feature that essentially masks information from being returned.
Don't like the supportability of 12c?  Blame the Commonwealth Bank of Australia!  I guess they did the cost/benefit ratio on aggregating databases, and Oracle was sold!

3:30 PM - Compression and Performance in Oracle Database 12c - Gregg Christman with Oracle

Two compression presentations walk into the Thunderdome, but only one compression presentation can be attended!

First off, I thought it was interesting that Gregg came from a "Competitive Intelligence" group within Oracle that analyzed their competition.  That sounds like a fun job!  Anyways, his presentation went over many reasons for data growth and also that Oracle provides basic compression for free.  Free!  Well, only for bulk loads which is best suited for a Data Warehousing situation but at least it's better than nothing!

The RMAN/backup compression options really strike home for me right now because we've been fighting long running backups for a few weeks now.
Everything Gregg went over was existing prior to 12c, but Advanced Network Compression was created just for 12c and obviously is for network traffic.
He also talked about a Flashback Data Archive which seems odd since flashback data usually ages out within a day or two.
All of these options are 100% transparent to application just like In-Memory was Maria talked about earlier in the day.
There is another free product called Index Key Compression that is included with EE!
There is a tool called ANALYZE INDEX which mimics the different products to run against your system so you can see what benefits you will get.
Lastly, he went over Hybrid Columnar Compression (HCC) for Exadata.

4:45 PM - Evolution of Histograms in Oracle - Amit Poddar

This was difficult because George Srdanov was giving his presentation at the same time, but since his was "Extreme Performance without Extreme Hardware" and already have Exadata, I felt this would benefit me a lot more because histograms are something I'm very weak on.  Amit went on to cover the following in detail:

Selectivity of predicates
Uniform and linear distributions
Zipfian distribution
Frequency histogram in 11g limited to 256 values, 2048(right?) in 12c
Top-N histogram
Equi-width histogram
Equi-height histogram
Hybrid histogram

A lot of this presentation went right over my head and it really wasn't what I thought it would be based on the abstract, as it was a deep dive into the theory behind histograms instead of anything I could take back home to apply in order to address performance issues with a script.  Some of theory I've obviously seen or dealt with, but in particular I wanted to learn about how to determine what types of histograms work best in certain situations and I came away empty on that count.

Sunday, March 2, 2014

Checking into Hotsos!

Through some bumpy weather, I finally arrived in the Dallas-Fort Worth area to below 30 degree weather and snowflakes.  In a t-shirt.  Good thing I'm originally from Michigan and am used to cold weather!

A short ride later, and checked into the Omni Mandalay hotel and then relaxed a bit before going downstairs to pick up my registration badge.  Next it was on to the technical portion of our broadcast where I got to try out my hardware to see how it would present to the attendees (both local and virtual), which went rather well without a hitch!

The best part was actually getting to meet with some of the speakers for a few minutes, some names I've seen, some people I follow on Twitter or my blog roll, others I had not yet met:

Amit Podder
George Srdanov
Jim Czuprynski - @jczuprynski and http://jimczuprynski.wordpress.com
John Hurley - @GrumpyOldDBA and http://grumpyolddba.blogspot.com
Luca Canali - @LucaCanaliDB and http://externaltable.blogspot.com

George had presented last year and was kind enough to take Jim and I down to a local deli that had a bunch of stuff that we could stock up on and we all grabbed a few things after looking around a bit.  While we mentioned something about a return trip later tonight, the hail that came down just as we left the deli made us rethink those plans a bit even though it was just 2 blocks away.  Hail.  In Dallas.

If you haven't registered, it's still not too late as you could enjoy the virtual option and not even leave your house!

Tuesday, February 18, 2014

Did I mention?

That in only two short weeks that I'll be attending the Hotsos Symposium as a speaker?  It's true!  If you haven't made plans to attend, you should visit the registration page and reconsider.  There are so many reasons to go, besides me being there, that I should direct you to a sample justification that you should send in to your boss.  Or your boss' boss.  Oh and don't forget about the Training Day by Tanel Poder!

I look forward to meeting you in Dallas!

Tuesday, February 4, 2014

Hotsos Symposium 14: Early Bird Pricing Ends!

This week ends the early bird pricing for the only conference cool enough to have me present for them this year!  I've already setup my travel plans, signed up for my badge, and am finalizing my presentation to submit this week and then the countdown begins!  If you can't sign up this week, don't worry you can sign up anytime before the Symposium starts on March 2nd.

Hope to see you there!

Wednesday, November 13, 2013

Hotsos in March!

The Hotsos Symposium this year has been billed as having more than 30 speakers that are global experts in Oracle performance optimization and I can tell you that when I attended in 2012 it certainly lived up to that reputation!  Why am I telling you all this?

I've been accepted to present at this prestigious event!!  I'm so excited and just besides myself with joy!  I even have my own speaker page!!

I hope to see you there in March, or at least have you watch virtually, as the conference is very well priced (especially the already mentioned virtual option) and has some of the best speakers in the Oracle business.  I'm especially excited about the Training Day offered, this year with Tanel Poder!

Monday, October 14, 2013

Blog spotlight: Tanel Poder

Last month during the week long 12c spotlight, I promised that I'd be including one of the authors and for the blog spotlight this month I've picked Tanel Poder!  I "met" Tanel during the Hotsos Symposium in 2012 after attending one of his sessions, and his is one of several blogs that inspired me to join the blogosphere.

In this really great article, Tanel starts by explaining what direct path reads are, why they happen (or don't) in Exadata, and introduced us to a hidden parameter that seems to be documented in My Oracle Support.  While still a dangerous choice if you don't understand what the _serial_direct_read option will do to your environment, at least now we know about it and some of the associated documentation from MOS so we can open our own SRs referencing that to make sure what would work best in our own systems.

Wednesday, July 17, 2013

Hotsos Symposium 2014: Call to arms!

I can realistically say that if I didn't attend the Hotsos Symposium in 2012, I wouldn't be here where I am today with being able to give a presentation to OAUG or celebrating a year of blogging.  That is why I'm happy to help announce that the Hotsos Symposium 2014 call for papers has been opened!  I'll update this post when the Hotsos blog shares this information too, but as they haven't done so yet consider this breaking news!

I'm really tempted to submit an abstract to them again, so I'm sure I'll share that with you too when I do it!