Subtle variances in the way you work with statistics can have a significant impact on how your optimizer plans work out…so you need to take care.
Let’s look at the following example
SQL> create table T (
2 x varchar2(20) , y varchar2(100));
SQL> insert into T
2 select 'x' , rpad('z',100) from all_objects;
94117 rows created.
SQL> insert into T
2 select 'X' , rpad('z',100) from all_objects;
94117 rows created.
SQL> exec (more...)
Of late I've been doing more and more stuff on Azure and have been considering setting up a separate blog on that - however I've decided this is all part of DBA 2.0 so i'll leave it all here. Even if you aren't sucked into the cloud yet it's useful to know this stuff as it's the way the whole IT world is going (be that for bad or good I'm still not sure).
Very happy and honored to speak in OTN Yathra 2016 tour, along with many Oracle ACE and ACE Directors. This is my first tour as ACED, and thank you AIOUG and OTN for having me. I am looking forward to meet many of you, who I know only through twitter or facebook. I will be presenting […]
Most people are aware of this standard referential integrity control, namely you can’t delete the parent if children exist
SQL> drop table PAR cascade constraints purge;
SQL> create table PAR ( p int primary key, data int);
SQL> insert into PAR
2 select rownum, rownum
3 from dual connect by level <= 7;
7 rows created.
SQL> drop table CHD purge;
SQL> create table CHD ( c int (more...)
A developer reported a problem with a %TYPE declaration which was returning PLS-00302 in an Oracle 10 database. The cause turned out to be a variation on a problem which I have already reported. However, as it took me some time to work out, I have reproduced it below. First I created a user, called USER1, who would own a table:
One of my customers that recently upgraded to 12c hit a bug that I think is good to be aware of. Note that as the title of this post states, the problem only occur in 126.96.36.199. At least, I wasn’t able to reproduce it in any other version.
To reproduce it you simply need a composite partitioned table with a non-partitioned or global-partitioned index. In other words, if all your indexes are (more...)
Topic: This post is about profiling and performance tuning of distributed workloads and in particular Hadoop applications. You will learn of a profiler application we have developed and how it has successfully been applied to tuning Sqoop to improve the throughput of data transfer from Oracle to Hadoop.
For the first time, this even is being held in the fabulous Northern city of Manchester!
There are a dozen interesting, career-assisting, educational talks from end users, Oracle employees and a number of well known Oracle ACE’s at all levels, including Carl Dudley, Jonathan Lewis, Phil Brown and myself.
Hot on the heels of the last post is a quick note on JQ - thats not oracle job queues before you ask it's a unix utility that can parse json files and pull out individual elements - think of it as sed/awk for json files.
I've only scratched the surface with it today but though it worth sharing as it looks like it could be a very handy utility
People ask me quite a lot about how I analyze performance issues. While I have some guidelines, there is no complete answer to this question. The actions I take depend on the situation, and there are many many different scenarios when talking about performance problems. In this post I’ll describe an analysis I did about […]
We're working more and more with azure related services at the moment and I've been looking in to the different ways that azure infrastructure can be created/managed other than through the web gui. The web gui is of course fine for basic tasks but we're looking at better ways of automating and reporting on what we have in Azure so have been looking at alternatives.