Book Review: “Write the Perfect Book Proposal”

I’m not in favour of calling books a “must-read”, but if you want to get your own book commercially published, I have to say you must read Write the Perfect Book Proposal: 10 That Sold and Why, 2nd Edition.

The main force of this book is that it explains the publishing industry from the inside: What a publisher is looking for. The authors honestly explain what the publisher will and will not do, and that (more...)

Oracle InMemory compared to indexing

In August 2014 Oracle released its RDBM 12.1.0.2 with a potentially useful and exiting new option: Database InMemory. Upon reading about it it became clear to me that this is a powerful option, worth examining deeper.

This blog will briefly describe what InMemory is and what it isn’t. The emphasis however is on practical examples. I didn’t have a real database at hand for some ultimate real life experience, but a local (more...)

UKOUG Tech 14 in Liverpool

I’ll be going to the UKOUG Tech 14 conference in Liverpool in December to give one of my favorite presentations: “APEX or ADF? From Requirements to Tool Choice”. I’m also leading the Development Tools roundtable, which is always lively at the UKOUG conference. If you want to discuss your options as a developer in the Oracle world, UKOUG Tech 14 is the place to be.

APEX or ADF? From Requirements to Tool Choice
APEX or (more...)

Can you justify your data ?

People ask me to justify use of Delphix. I can understand. Delphix is pretty new and often, most of my friends who are DBAs respond with “I can copy a database, so what, I can do it a little faster with Delphix.” Well that’s missing the whole boat. The question won’t be why you should use Delphix but “can you  justify working without Delphix?”

I see Delphix as amazingly positioned at nexus of data (more...)

What is Dephix ? (video presentation)

According to a recent IDC study, on average Delphix

  • pays for itself in 4.3 months
  • 461% ROI over 5 years
  • 96.8% reduction in database storage
  • $50 Million predicted annual benefit for organizations over 75,000 employees

Delphix is used by over 100 of the Fortune 500.

What is Delphix? Why is Delphix important? What problems does Delphix solve in the industry?

Here is a slide deck I put together for KSCOPE :

And here (more...)

Are Web Service a Mistake?

Quick, how many different Web Service specifications are there?

  1. less than 20
  2. between 20 and 40
  3. more than 40

I was in doubt whether the answer would be 1) or 2) – after all, there is a lot of WS-* stuff. Turns out the answer is 3) – there are currently 50 web service specifications.

A technology with 50 specifications is unlearnable. The basics of web services is simple and useful, but the IT industry (more...)

12c – Nested tables vs Associative arrays

This was going to the be the immediate follow up to my previous post, but 12.1.0.2 came out and I got all excited about that and forgot to post this one :-)

Anyway, the previous post showed how easy it is to convert between nested tables and associative arrays.  The nice thing in 12c is that this is no longer needed – you can query the associative arrays directly

SQL>  (more...)

12.1.0.2 security grrr…

One of my favourite security "tricks" used to be the following:

SQL> [create|alter] user MY_USER identified by values 'impossible';

Looks odd, but by setting the encrypted value of someone’s password to something that it is impossible to encrypt to, means you’ll never be able to connect as that account.  (Think schema’s owning objects etc).

I hear you ask: "Why not just lock the account?"

Well…in my opinion, that’s a security hole.  Let’s (more...)

Oracle Database 12.1.0.2 Released (22 July 2014)

RSS content

Oracle Database 12.1.0.2 has been released on 22 July 2014.

Following are some of the new features and options:

• In-memory column store
• Attribute clustering on disk
• Oracle Flashback archive capabilities for pluggable databases
• Rapid Oracle home provisioning
• Centralized security key vault capabilities
• Storage and query capabilities for nonrelational data
• Advanced Index Compression
• Oracle Big Data SQL
• Oracle JSON Document Store
(more...)

Learning It All

I was recently advising a transition project where a customer was switching support and maintenance supplier. This means that one organization must take over a system that has been maintained by another organization for a number of years.

A lot of information is lost in these transitions because knowledge of the problem domain has been accumulated in the heads of developers over many years. This loss cannot realistically be mitigated.

But sometimes, specific information about (more...)

Passed OCP 12c test

Well, I finally passed the Oracle Certified Professional (OCP) 12c upgrade exam, 1Z0-060.  I got 86% right on the new features section and 78% correct on the general DBA section.  So, that means I missed roughly 7 questions on each section which was more than I expected because I felt good about all of my answers.

I’m happy with the three resources I used which are:

  1. Self Test software – $99
  2. Matthew Morris (more...)

Christian Antognini, Troubleshooting Oracle Performance, 2nd Edition (Review)

This is an excellent book with an encyclopedia-like approach to Oracle performance tuning, concentrated around the optimizer. It doesn’t cover architectural changes in the database in the newer releases, like the new redo mechanism with the private strands or the new implementation of the latches and pins. In my opinion, Oracle performance is more than just the optimizer.
Also, the book is very long and without the sections for new features in 12c, which makes (more...)

“The Dirty Dozen – ADF Migration to 12c in the IKB” I’m a speaker at DOAG2014:

doag2014

Today the official program is online for DOAG conference 2014 in Nuremberg. My presentation is confirmed  “The Dirty Dozen – ADF Migration to 12c in the IKB”.

I will speak over our experiences with following

  • provide user software
  • install servers
  • iterative test migrations
  • migration plannig
  • real migration
  • and the problems and pitfall’s we find on our way

If you speak german and you are interested in some of this, you should come and attend my (more...)

July Security Alert

Hi Oracle Security Folks, The July Oracle Security Alert is out. My part is smaller than last quarter as just an In-Depth Credit, but Mr David Litchfield makes a triumphal return with some excellent new research. http://www.oracle.com/technetwork/topics/security/cpujul2014-1972956.html There is a CVSS 9 and a remote unauthenticated issue in this patch so worth installing this one. [...]

ASH visualized in R, ggplot2, Gephi, Jit, HighCharts, Excel ,SVG

There is more and more happening in the world of visualization and visualizing Oracle performance specifically with v$active_session_history.

Of these visualizations,  the one pushing the envelope the most is Marcin Przepiorowski. Marcin is responsible for writing S-ASH , ie Simulated ASH versions 2.1,2.2 and 2.3. See

Here are some examples of what I have seen happening out there in the web with these visualizations grouped by (more...)

Arguing Facts and Fiction

I’ve been following the discussion on the new In-Memory option in the Oracle 12.1.0.2.0 database. As far as I can see, it’s very easy for a developer to start using this feature, which will cost your company $23,000 per CPU at the next Oracle license audit.

But the most interesting part is actually not the cost – it’s the discussion. Oracle expert Kevin Closson stated that there was a problem (more...)

12c and export/import from a lower version

There is a serious problem with export/import utilities between versions.

The first command, executed on Oracle 11.2.0.4, Linux x86_64 was:


[oracle@oradb tmp]$ expdp system directory=tmp dumpfile=oe.dmp schemas=oe

logfile=oe.log

Directory tmp was created as /tmp

Result was the following:

Export: Release 11.2.0.4.0 – Production on Mon Jul 28 22:57:03 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights

reserved.

Password:

Connected to: Oracle Database 11g (more...)

Query with new plan

I came up with a simple query that shows a running SQL executing a different plan than what it had in the past.  Here is the query:

-- show currently executing sqls that have history
-- but who have never run with the current plan
-- joins v$session to v$sql to get plan_hash_value of 
-- executing sql.
-- queries dba_hist_sqlstat for previously used values 
-- of plan_hash_value.
-- only reports queries that have an  (more...)

To subset or not to subset

There was a problem at a customer in application development where using full copies for developers and QA was causing excessive storage usage and they wanted to reduce costs , so they decided to use subsets of the production development and QA
  • Data growing, storage costs too high, decided to roll out subsetting
  • App teams and IT Ops teams had to coordinate and manage the complexity of the  shift to subsets in dev/test
  • Scripts had (more...)

Analogy

So 12.1.0.2 is out with a number of interesting new features, of which the most noisily touted is the “in-memory columnar storage” feature. As ever the key to making best use of a feature is to have an intuitive grasp of what it gives you, and it’s often the case that a good analogy helps you reach that level of understanding; so here’s the first thought I had about the feature during one (more...)