Typ-Konvertierung und cardinality-Schätzung

Jonathan Lewis weit in seinem Scratchpad darauf hin, dass Funktionsaufrufe für Spalten im Fall einer Bedingung "function(column) = constant" üblicherweise zu einer Schätzung von 1% führen. Dies gilt aber nicht für einfache Typ-Umwandlungen: eine Bedingung in der eine Charakter-Spalte mit einem numerischen Wert verglichen wird, verwendet eine Variante der Standardformel zur Berechnung gleichverteilter Werte, nämlich (Anzahl Werte)/(Anzahl distinkter Werte) - wobei die Klassifizierung als Variante damit zusammenhängt, dass die Anzahl distinkter Werte in einer Charakter-Spalte (more...)

PeopleTools October 2014 CPU Security Patch

The prior blog post [make a link] reviewed PeopleSoft CPU patching. Worthy of its own post is the October 2014 CPU. A show of hands back in April at our PeopleSoft database security presentation at Collaborate 2016 [link?] further confirmed Integrigy’s research that a surprising number of PeopleSoft installations have not applied this patch.

The PeopleTools October 2014 CPU (8.52.24, 8.53.17, 8.54.04) fixes a critical issue with the (more...)

Oracle Business Analytics from a different angle

Gartner’s latest version of the Magic Quadrant for Business Intelligence and Analytics Platforms (#BIAMQ) caused a lot of noise in the Analytics Market. Gartner and Oracle have different views of this market. Gartner sees a difference; “…between a modern BI and Analytics Platform and a traditional, IT-centric Reporting and Analysis Platform”. It’s clear that Oracle and Gartner have a…Read more Oracle Business Analytics from a different angle

Automatic Deployment of CDBs with non-default database options in

I have written about the importance of automation in previous posts, and this one is following the same line. This time I wanted to test and document my experience with “golden database templates”. Wy? Because most DBAs will appreciate that there are more interesting things to do than to run “create database” scripts all day, so why not automate the process? For quite some time DBCA, or the Database Creation Assistant offers you the option (more...)

Next Round Of ANZ “Let’s Talk Database” Events (July/August 2016)

I’ll be presenting the next round of “Let’s Talk Database” events around Australia and NZ this winter in July/August 2016. These are free events but due to limited places have often “sold out” in the past, so booking early is recommended to avoid disappointment. All events run between 9:00am – 12:30pm and are followed by a networking lunch. We always have […]

Misconceptions about (Regular) Views Revealed when Presenting Editioning Views – Part 2

In a previous post I wrote about one misconception about views that is revealed when I talk about Editioning Views in my EBR (Edition-Based Redefinition) presentations.

This post is about another misconception.

In the part of the presentation in which I “preach” to cover every table with an Editioning View and to replace every reference to tables in the code with reference to the corresponding Editioning Views, I usually get the following question from the (more...)

Real-time visualisation of Hadoop resources

At CERN we run multiple Hadoop clusters to satisfy demanding requirements from our experiments and accelerator communities. The usage and criticality of the clusters are increasing dramatically as more users are looking at Hadoop to process and archive the vast amounts of data coming out of LHC.

Blog retrospective

Not long ago I suddenly realized I had published my 100th blog post, so I figure it's time to look back and write down some thoughts about the blog.

I started this blog in 2008, so it has taken me all of 8 years to produce one hundred posts. Not exactly a huge output when compared to many other bloggers, but at least the pace has been reasonably consistent over the years, and hopefully most (more...)

ADF BC Range Paging and ADF UI Table Pagination Use Case

ADF UI table pagination and ADF BC range paging sounds like a perfect combination. But to make it work perfect, a bit of extra effort is required. In the case of search/edit implementation, it can't remember updated record when navigating back to search screen (VO runs with Range Paging and UI table is displayed with pagination). I will explain how to solve it and show how to keep UI table displaying current page and prevent (more...)

Object Oriented Pl/Sql

Years ago, in my Oracle years I wrote an article on Oracle (Object) Types, and how those make Pl/Sql so much more powerfull. It was in Dutch, since I wrote it for our monthly internal consulting magazine called 'Snapshot'. Since it was in Dutch and I regularly refer to it on our blog or in questions on forums, I wanted to rewrite it for years. So let's go. Oracle Types are introduced in the Oracle (more...)

Last week in Stream Processing & Analytics 6/21/2016

This is the 19th installment of my blog series around Stream Processing and Analytics.

Last week all the presentation from the Spark Summit have been made available on YouTube. I have included the Stream Processing related talk in the links section below.

As usual, find below the new blog articles, presentations, videos and software releases from last week:

News and Blog Posts


Streams rules! OK?

Continuing my love hate relationship with streams - today presented another interesting challenge when this email alert from cloud control appeared in my inbox

So ORA-4080- pretty unusual error (well not the normal kinds of failures anyway) - what is that?

 oerr ora 4080
04080, 00000, "trigger '%s' does not exist"
// *Cause:  The TRIGGER name is invalid.
// *Action: Check the trigger name.

OK sounds simple enough - so whats gone wrong?

Lets drill (more...)

Automated Bash MongoDB 3.2 Install Script for Debian/ Ubuntu

MongoDB is one of the leading noSQL breeds of database that’s been growing in popularity in recent years. The database is available in a ‘community edition’ that’s available for all to use freely. The database setup and install is mostly straightforward however there are a few steps you have to take to get a MongoDB

MongoDB 3.2 Bash Install Script

The below script installs MongoDB 3.2.x on Debian. Copy and paste the script into a file called install_mongo.sh and execute it as root. [crayon-57643d1def52c510890489/] Then connect to the local MongoDB instance [crayon-57643d1def535550281613/]  

Oracle PL/SQL Programming 6th edition by Steven Feuerstein

opp6_catI have reviewed the latest edition of Oracle PL/SQL Programming. This is not a book, at least for me, that I would read front to back. I use it mostly as a reference, but the great thing about this book is that you can also use this book to learn programming PL/SQL from scratch.

The book is nicely ordered into different parts, like Program structure and how to use SQL in PL/SQL (which by the (more...)

Private Life – When the Pond Came Inside

It's not deep - but it's still unwanted!

It’s not deep – but it’s still unwanted!

This week my plans were thrown into chaos when our house flooded. Before I go any further I should state that everyone is fine, no structural damage was done and we were about as lightly flooded as you can be whilst still being, well, in the situation of having dirty, contaminated water in your home. Let’s just say our garden pond partially relocated into our house but (more...)

VirtualBox 5.0.22 Released

VirtualBox 5.0.22 has been released.

The downloads and changelog are in the usual places.

Judging by the progress of 5.1, now in beta 3, it won’t be long before we’ve got something new to play with. 🙂



VirtualBox 5.0.22 Released was first posted on June 17, 2016 at 2:02 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If (more...)

NoSQL for Oracle Developers

Oracle Developers! Want to learn more about NoSQL, but don't know where to start? Look no further.

Attend our free webinar by the venerable Pramod Sadalage. He'll answer all the questions you have about NoSQL but were too afraid to ask. :-) 

After all, he wrote the book.

 Sign up at this link. 

Cardinality trick

In the absence of a virtual column or function-based index, the optimizer uses a basic selectivity guess of 1% for a predicate of the form: “function(column) = constant”; but there is (at least) one special case where it gets clever; simple type conversion:

create table t1 nologging
select  cast(
                        when mod(rownum,1000) = 0 then 0
                        when mod(rownum,100)  = 0 then 1
                                                  else 9
                end as varchar2(1)
        ) v1
where   rownum  (more...)

LOGGING and temporary space

We had an interesting question on AskTom this week.  The poster had been told by their DBA that the reason their large INSERT-AS_SELECT statement was consuming lots of temporary segment space, was because the database had been recently altered to enable FORCE LOGGING, presumably to ensure easier consistency in a physical standby node.

So … here’s a simple test case to demonstrate that this assertion is wrong.

First we build up table, and then (more...)