November 2015

VirtualBox 5.0.10

VirtualBox 5.0.10 has been born.

Downloads and changelog in the usual places.

There has been a bit of a discussion on Twitter today about the pros and cons of upgrading VirtualBox. I run VirtualBox on Windows 7 at work and Linux and Mac at home. Unless I’m travelling, I pretty much upgrade straight away. In recent history I only remember one time a patch has caused me problems and forced me to back it out. It seems other people on Twitter have had more issues than me.

I made the jump from VirtualBox 4 to 5 immediately and haven’t suffered at all.

Troubleshooting Another Complex Performance Issue – Oracle direct path inserts and SEG$ contention

Here’s an updated presentation I first delivered at Hotsos Symposium 2015.

It’s about lots of concurrent PX direct path insert ant CTAS statements that, when clashing with another bug/problem, caused various gc buffer busy waits and enq: TX – allocate ITL entry contention. This got amplified thanks to running this concurrent workload on 4 RAC nodes:

When reviewing these slides, I see there’s quite a lot that needs to be said in addition to what’s on slides, so this might just mean a (Powerpoint) hacking session some day!

Which version of Oracle Linux should I pick for Oracle server product installations?

linux-tuxOracle certifies many of their latest products for installation on Oracle Linux 6 and 7, so I guess the obvious question is, which should you pick?

I tend to have a dual approach to this. I always use the latest versions of everything for my play kit, but I tend to be a little conservative for production deployments, preferring to use the OS version the product was developed against. I’ve noticed Oracle Cloud and some VM templates are still using Oracle Linux 6, which makes me think Oracle are being a little conservative too.

Application Performance Monitoring- First View

Working with test data is always fun and teaches those of us inside Oracle how best to use the new products that will be offered to benefit customers.  To me, it’s pretty straight forward and I didn’t first understand why it was necessary, but as I sit in on calls as we do performance testing of these great, new products, I understand why they need to direct so ma

DB2 virtualized on Delphix

 

Delphix is tightly integrated with PostGres, Oracle, Sybase and SQL Server but here is an example of  impressively easy workflow with DB2 which can be setup with a few extra scripts.

 

Simple sentiment analysis

Simple sentiment analysis. I was reading up an article about it, and as a simple demonstration I implemented a sentiment analysis in plsql based on the AFINN-111 dictionary. It uses a simple scoring system from -5 to 5, for negative and positive sentiments.

A new line on NEWLINE

Recently I was doing a simple external table load using a CSV file, but was getting an interesting error. My file looked simple enough


"ID","EMAIL","TIMESTAMP","SUBJECT","STATUS","STATUS_TS"
"2012348048","john@anon.com","05/02/2000","Subject 1","5","09/04/2007"
"2412348048","mike@anon.com","05/02/2000","Subject 1","5","09/16/2002"
"348543169051","sue@anon.com","03/10/2001","Subject 1","5","03/24/2008"
"348396029762","mary@anon.com","03/10/2001","Subject 1","5","03/10/2001"
"1212348047","sam@anon.com","05/02/2000","Subject 1","5","05/02/2000"
"1612348048","vincent@anon.com","05/02/2000","Subject 1,"5","06/02/2006"
...
...

So it should have been a fairly straightforward external table definition to access it

Enterprise Manager at OOW 2015

Well, another Oracle Open World has bit the dust, and as is always the case, there was a lot of great material presented, both by Oracle employees and customers. To help you identify the material and get your hands on the presentations where possible, I’ve taken a stab at grouping all the material together into sections. These are the areas the presenters identified the material as covering, so if the title doesn’t seem to match that area blame the presenters. :)

Direct path and buffered reads again: compressed tables.

In the previous post on the decision between buffered and direct path reads I showed the decision is depended on the version. Up to and including version 11.2.0.2 the size of a segment needs to be five times small table threshold in order to be considered for direct path reads, and starting from 11.2.0.3 the database starts considering direct path reads starting from small table threshold. The lower limit just discussed is small table threshold or five times small table threshold with lower versions, upper limit is called “very large object threshold” (VLOT) and is five times the size of the buffercache, which is the threshold after which a table scan always is going via direct path.

NOUG Session: How Cache Fusion Works

For all those attended my session at Northeast Oracle User Group at Babson College in Wellesley, MA. Have you ever wondered how Cache Fusion knows where to get the block from? Or, how block locks vary from row locks? Or you are confused about the meaning and purpose of various Global Cache Service (GCS), Global Resource Directory (GRD) and Global Enqueue Service (GES). The session was meant to explain how all these actually work under the covers with live demos.