Infrastructure at your Service

Category Archives: Oracle

Oracle Team

Exploring Oracle SE & EE performance statistics with Orachrome Lighty

By | Database management, Oracle | No Comments

By Franck Pachot . At dbi services, we really like Lighty for Oracle, a tool which helps exploring performance statistics whether they originate from AWR (available only in Enterprise Edition with Diagnostic Pack option) or from Statspack (available via Standard Edition). As a matter of fact, we like it so much that we have became Orachrome Partner. If you want to try it out for yourselves, there is a free trial here. If you have…

Read More
Oracle Team

ROWNUM vs ROW_NUMBER() and 12c fetch first

By | Database management, Oracle | 4 Comments

By Franck Pachot . Prior to Oracle 12c, there were two ways to do ‘top-n’ queries: use rownum after sorting rows with “order by” use row_number() over (order by) Top-n queries are usually required for result pagination. The application shows the first 10 rows, then the next 10 on the following page, etc. In these queries, user interactions are often stateless, so we cannot just open a cursor and fetch 10 rows on each user…

Read More
Oracle Team

Oracle 12c CDB – metadata & object links internals

By | Database management, Oracle | 23 Comments

By Franck Pachot . Warning: this is only geek stuff about internals on multitenant database dictionary, metadata, and object links. It has nothing to do with the operations that you can do on your database. Don’t try that in production or you can corrupt the whole dictionary. In 12 multitenant database (aka CDB) we know that each pluggable database is isolated in order to act as a standalone database. But they share some common resources…

Read More
Oracle Team

Oracle 12c Adaptive Plan & inflection point

By | Database management, Oracle | One Comment

By Franck Pachot . The Oracle 12c Adaptive Plan feature was already presented by Nicolas Jardot in OOW 2013: Solving customer issues with the 12c Optimizer. I recently had to answer several questions about its behavior at execution time. Maybe the term ‘adaptive’ is misleading. It’s not that a join will stop and restart to another join method. Even with adaptive plan there will only be one join method to be applied. The feature only…

Read More
Oracle Team

Best practice for the sending of an Oracle execution plan

By | Database Administration & Monitoring, Oracle | 5 Comments

By Franck Pachot . You have a query that takes too long and you want help to analyze the execution plan? Then you need to get it with relevant information, and correctly formatted. Autotrace is not a good option as it does not bind the variables in the same way as your application. Explain plan only shows estimations, but if we have a performance issue, this probably means that the estimation is wrong. I prefer…

Read More
Oracle Team

The consequences of NOLOGGING in Oracle

By | Database management, Oracle | No Comments

By Franck Pachot . While answering to a question on Oracle forum about NOLOGGING consequences, I provided a test case that deserves a bit more explanation. Nologging operations are good to generate minimal redo on bulk operations (direct-path inserts, index creation/rebuild). But in case we have to restore a backup that was made before the nologging operation, we loose data. And even if we can accept that, we have some manual operations to do. Here…

Read More
Oracle Team

Investigating Oracle lock issues with event 10704

By | Database management, Oracle | 4 Comments

By Franck Pachot . Did you ever encounter unexplained Oracle lock issues? They may be coming from unindexed foreign keys (which is worse in 11g). It’s not easy to monitor. Of course you can check Oracle locks from V$LOCKED_OBJECT, but that is a solution only for locks that remain. Some Oracle locks are there only for a short duration. How do you check which lock is acquired by a statement? Event 10704 is the solution. I’ll show…

Read More
Oracle Team

Oracle 12c In-Memory option: waiting for 12.1.0.2

By | Database management, Oracle | 2 Comments

By Franck Pachot . Oracle has announced a big feature that should come in the next 12c patch set: the In-Memory option. It will soon be in beta version, so nothing will be published about it until it comes to production. Before that phase, I’m going to explain what we can expect from that feature, besides the ‘In-Memory’,’columnar storage’, and ‘hybrid’ buzzwords. First, it is a redundant storage that is aimed to improve the query…

Read More
Oracle Team

Oracle Partitioned Sequences – a future new feature in 12c?

By | Database management, Oracle | 6 Comments

By Franck Pachot . Disclaimer: I’ll talk about an undocumented feature that appeared in Oracle 12c – undocumented except if you consider that being exposed in DBA_SEQUENCES as the PARTITION_COUNT is a kind of documentation. So, as the syntax is not documented (I got it only by guessing), you should not use it in production: there are probably some reasons why Oracle did not expose an interresting feature like that.

Read More
Oracle Team

Oracle et Dbvisit Replicate pour migrer sans arrêt de service… et sans stress

By | Hardware & Storage, Oracle | No Comments

By Franck Pachot . Je viens d’assister au Webinar Zero Downtime Migration pour Oracle, présenté par Chris Lawless qui est récemment passé de Product Manager Golden Gate à Product Manager Dbvisit.  Je vais détailler ici un point très important évoqué par Chris Lawless. La migration par réplication n’est pas seulement envisagée pour éviter un arrêt de service. Arrêt nécéssaire lors de la migration proprement dite (qui peut aller de quelques minutes à plusieurs heures en…

Read More