RESULT_CACHE hint expiration options
The result cache is very nice when base tables are static: get the result without any buffer get, without any join or sorts. But as soon as any DML occurs on one of the tables the result is based on,...
View ArticleMultitenant vs. schema based consolidation
If you want install multiple instances of a software, for example you host the ERP for several companies or subsidiaries, you have 3 solutions: have one database and multiple schema have multiple...
View ArticleMultithreaded 12c and 'connect / as sysdba'
In Oracle 12c you can run Oracle processes as operating system threads, lowering the number of OS processes. But you can't use OS authentification: you need to provide a password. Here is a way to set...
View ArticleOracle Log Writer and Write-Ahead-Logging
I posted a tweet with a link to a very old document - 20 years old - about 'internals of recovery'. It's a gem. All the complexity of the ACID mecanisms of Oracle are explained in a very simple way. It...
View ArticleOracle Database Cloud Service - My first trial
The cloud has been annouced, I want to try. From the cloud.oracle.com/database website, there is Trial only for the 'Database Schema Service' so I asked fot it, received an e-mail with connection info...
View ArticleRAC buffer states: XCUR, SCUR, PI, CI
In RAC, blocks are copied across instances by the Global Cache Service. In single instance, we have only two status: CR for consistent read clones where undo is applied, and CUR for the current version...
View Article2 ways to move archivelogs - both need RMAN
The database must know where are the files. If you move them from the OS, the database will not be aware of it. But there is a database tool to copy or move files and update the database repository...
View ArticleBuffer pool advisory in AWR
In Oracle memory advisors: how relevant ? I said that advisors are calculating their recommendations from statistics cumulated since the begining of the instance, even in AWR which is supposed to cover...
View ArticleDo the block size matter?
The default block size is 8k in Oracle. This is the most common. Sometimes, people create the database with 16k block size for datawarehouses. You can also find some 32k block size, but less common...
View ArticleShow the Top 10 events from latest AWR snapshot
Want to display a specific section from the latest AWR report? I'll share the script I use to get something like that: SQL> @ LASTAWRSEC.sql 'Top 10 Foreground Events by Total Wait Time' ''...
View ArticleParallel DML in 12c
Following a question from Randolf Geist (who can imagine that there is something about parallel query that Randolf didn't know?), I get back to some notes I've taken when 12c was out and I've tested...
View ArticleCan you have pending system statistics?
Your system statistics seems to be wrong and you want to gather or set more relevant ones. But you don't want to see all your application execution plans changing between nested loops and hash joins....
View ArticleFlame Graph for quick identification of Oracle bug
Most of my performance stores start with a screenshot of Orachrome Lighty my preferred tool to have a graphical view of the database performance, in Standard and Enterprise Edition without any options:
View ArticleAn alternative to DBA_EXTENTS optimized for LMT
This is a script I have for several years, when tablespaces became locally managed. When we want to know to which segment a block (identified by file id, block id) belongs to, the DBA_EXTENTS view can...
View ArticleOracle memory advisors: how relevant ?
Do you look at memory advisors? I usually don't but I still show them during the performance tuning workshop because there is no easy way to get an idea about memory sizing. This morning, while giving...
View ArticleHow to disable a SQL Plan Directive permanently
In 12c you will see a lot of SQL Plan Directives. Some are useful to get better execution plans, but some will trigger too much Adaptive Dynamic Sampling and that can become a big overhead, especially...
View ArticleConvert a snapshot standby to a new database
A snapshot standby database is a nice solution when you want a temporary copy of the primary where you can do whatever you want (test a bug fix for example) and then convert it back to physical...
View Article12c Dynamic Sampling and Standard Edition
12c is coming with more dynamic sampling, now called dynamic statistics and using the new Adaptive Dynamic Sampling algorithm. The goal is to have better estimations and better estimations gives better...
View ArticleHow to import SQL Plan Directives
Today I've presented SQL Plan Directives at the SOUG Romandie event. I had a question about the import/export of directives by Data Pump. The idea is that a lot of testing has been done on QA in order...
View Article