Mr Gorman is a technical consultant for Delphix, who enable data masking integrated with data virtualization to increase the agility of IT development, testing and operations, creating the new field of DataOps to complement DevOps.

He is past board member of the RMOUG (Rocky Mtn Oracle Users Group) and has been an active member since 1992, performing practically every job in the organization.  RMOUG is a 501(c)3 charitable non-profit and tax-deductible donations to our scholarship programs are welcomed HERE.

Mr Gorman also serves on the board of the Project SafeGuard Foundation (PSGF), which manages funds in trust for Project SafeGuard and its mission to provide legal assistance to victims of domestic violence.  Please donate to PSG HERE.

Tim Gorman has worked in the information technology (IT) industry since 1984, as an Oracle application developer since 1990, as an Oracle database administrator (DBA) since 1993, and as a skilled optimizer of performance on applications and systems built on Oracle technology since the mid-1990s.

At Delphix since 2014, Tim now optimizes the security and performance of the IT organization itself, in addition to the systems that organization builds.

Tim has co-authored six books on Oracle technology, and has performed technical review on seven more books, has been an Oracle ACE since 2007 and an Oracle ACE Director  since 2012, has been a member of the Oak Table Network since 2002, and has presented at Oracle Open World, Collaborate, KScope, Hotsos, RMOUG, UKOUG, and Oracle users groups in lots of wonderful places around the world.

Now, switching from the professional third-person voice to the real-life first-person voice…

I live in an RV with my wife Kellyn who works at Microsoft.  Together, we’re traveling throughout North America, experiencing life in all of the different parts of this beautiful country.  Kellyn blogs and tweets as DBAKevlar, and we both blog about our life as RV nomads at DancesWithWinnebagos.com, and I am one very lucky guy to call her my wife.

I have two children, my son Peter and my daughter Marika, both of whom successful and wonderful adults, both living in the Denver area.  I am also proud of Kellyn’s son Sam (who is married living in South Carolina), her daughter Rhys (who is a student in Denver), and her son Joshua (also a student in Denver).

I’m on Facebook, but I keep that separate for my personal life, and I do not “friend” professional acquaintances unless they have become part of my personal life.  Instead, I’m glad to make and keep my professional contacts on LinkedIn.

For fun, in winter I snowboard the steeps and deeps, in summer I (road) bicycle long distances, and I play squash in any season when I can find facilities and someone of like mind.

4 Replies to “About”

  1. Tim,
    I watched your ODTUG presentation today about data warehouse partitioning. I have a question for you. If we range partition on the time dimension foreign key column in the fact table, will a query that filters on a time dimension column that is not the primary key will the query partition prune? Our experience is that it doesn’t. We use a surrogate key for the time dimension, not actual dates.

    1. Partition-pruning on a partitioned table (like a fact table) can only occur if an equivalence operation (i.e. col = value) is a filter predicate on the partition key column.

      Since a star transformation is performing a join operation to the partitioned fact table, and not filtering with an equivalence predicate, then the Oracle cost-based optimizer will be unable to recognize that partition-pruning should take place.

  2. Tim, thanks for a great refresher (and lots of new things) about DW design and how to implement in Oracle with partitioning. The question I posted during the webinar (about bitmap indexes on the dimensions) was SUPPOSED to be this question: what are the guidelines for making the dimension tables IOTs in a DW? I know the usual rules — very few columns, infrequently accessed columns in the overflow segment, and so forth, but it seems like the 12c ( optimizer sometimes comes up with a better plan if the dimension table is an IOT, sometimes better if it’s a heap. It could be some factor I’m not aware of, but even when running tests under controlled conditions (flushing buffer cache and shared pool, making sure statistics are up to date) the optimizer seems to “randomly” come up with a better plan when the dimension is an IOT and sometimes not.

  3. Hi Tim, I enjoyed your presentation on data masking at GLOC May 17 in Cleveland. I would be interested in a copy of the Phoenix Project kindle book you mentioned. I hope your new mobile home adventure is a true success, and I will be checking out your website for tips on living this lifestyle, although on a smaller scale in my case! Thanks again.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.