• New day….new month….New AskTOM

    New day….new month….New AskTOM

    It’s a big day here at AskTOM HQ ! Read more

  • Hybrid histograms

    Just a quick post here so I could consolidate some information about histograms in 12c. On my last Office Hours session, one of the questions that was posed was asking for an explanation of the new types of histograms in use in 12c.  So I had a few slides and described conceptually at a high Read more

  • Trip down memory lane

    I did a little video for St Patricks day, but it also brought back memories of my first computer experiences.  A Sinclair ZX80, a Commodore 64, and many other machines that I thought were so cool for their time. Feel free to share your experiences in comments. Read more

  • Text indexes for numbers

    We had an AskTOM question recently about being able to search for numbers within a concatenated list. The particular issue was a list of mobile phone numbers, but this is really just about tackling the larger issue of finding numbers within list. Let’s create a simple example to see where things can break down (and Read more

  • Cool stuff with partition elimination

    Sometimes in the IT world, the term “surprise” is not a good one. “I woke up this morning and got a surprise…my database was down.” “I ran a SELECT COUNT(*) on my most important table, and got a surprise result of zero rows.” and so forth. Generally as IT professionals, encountering the unexpected is not Read more

  • ROWNUM and ORDER BY

    Just a quick revisit on an old topic so I could link to this post in a Stack Overflow discussion. SQL> create table t ( x int ); Table created. SQL> SQL> insert into t 2 select dbms_random.value(1,1000) 3 from dual 4 connect by level <= 100; 100 rows created. SQL> SQL> select count(*) from Read more

  • Choose your names wisely

    It all seems simple enough.  You pick a name for an object…and that is the only object that have than name right ?  For example: SQL> create table MY_UNIQUE_NAME ( x int ); Table created. SQL> SQL> create synonym MY_UNIQUE_NAME for MY_UNIQUE_NAME; create synonym MY_UNIQUE_NAME for MY_UNIQUE_NAME * ERROR at line 1: ORA-01471: cannot create Read more

  • 18c merge partition online

    18c merge partition online

    One of the cool things in 18c is the ability to merge partitions without causing a service interruption.  Here’s a video demonstration of that in action: This is just an accompanying blog post to let you grab the scripts for the demo so that you can try this yourself on livesql.oracle.com, or any of the Read more

  • 18c–If you can’t wait

    You’ve seen the tweet !! but perhaps the accompanying blog post has tempered your enthusiasm You might be thinking: “I’m not on Exadata – how can I play with 18c?” Well, there is still a way to get ahead of the game and skill up on 18c.  We’ve upgraded livesql.oracle.com to 18c, and we’ve pre-loaded Read more

  • Execution plans on LiveSQL

    Execution plans on LiveSQL

    To protect the integrity of people’s data, and isolate sessions on LiveSQL, we lock down the environment.  Clearly if you are doing some testing with sensitive data, you don’t want an anonymous member of the user community mining V$SQL to see what commands you have been running.  Conversely, we want to allow people to perform Read more

  • Oracle Database 18c

    Oracle Database 18c

    Yup…it’s arrived! New name obviously, because we’ve jumped to our new naming model to align with the calendar year as opposed to version number.  You might be thinking “So what?” but it’s a significant change in the way we getting software to customer.  Mike Dietrich blogged about this at length here so I won’t repeat Read more

  • AskTOM Office Hours for DBA’s

    AskTOM Office Hours for DBA’s

    We had the first AskTOM Office Hours Q&A for Database Administrators yesterday.  Thanks to everyone that showed up, and thanks for the questions. If you missed it, you can catch a replay here Read more