Video : Converting Exact to Approximate Query Processing in Oracle Database 12.2 Onward

Today’s video is a dash through some of the Approximate Query Processing functionality introduced in Oracle database 12.2.

If watching videos scares you, don’t worry, you can get all the information and more from these articles.

The star turn (more...)

Slides from March AZORA meeting

Here are the slides from our March Arizona Oracle User Group (AZORA) meeting:

Daniel Morgan Security Master Class

We really appreciate Daniel Morgan taking the time to share this information about the increasingly important topic of database security.

Also, AZORA is always looking for people to present at future meetings. We have one more meeting in May before the blazing hot Arizona summer and then we start up again in September. Email be at bobby@bobbydurrettdba. (more...)

Oracle Magazine

Generally my blog is just snippets of tech content that take my interest as I encounter them (most commonly when looking at AskTOM). If I think they’ll be useful, I’ll just plonk them out right there and then. If you prefer your content in longer (and more structured Smile) form, then also I publish longer form articles on Oracle Magazine every couple of months. Below is a consolidated list of my articles. I’ll try (more...)

External table preprocessor on Windows

There are plenty of blog posts about using the pre-processor facility in external tables to get OS level information available from inside the database. Here’s a simple example of getting a directory listing:

@echo off
cd \oracle
dir /b

SQL> create table fs_size (
  2   disk varchar2(64)
  3  )
  4  organization external
  5  (  type oracle_loader
  6     default directory temp
  7     access parameters
  8     ( records delimited by newline
  9       preprocessor  temp:'run_os. (more...)

Connections with a wallet – redux

Wow…it is nearly 4 years ago now that I wrote an article on connecting to the database via a wallet to avoid having to hard code passwords into script. That article is here:

So I went to do a similar exercise on my new 18c Windows database today, and to my surprise things went pear shaped at the very first step

c:\oracle\product\18\bin>mkstore -create -wrl c:\temp\wallet
The syntax of the command is incorrect.

Not (more...)


Just a normal start to the day today…I had my coffee


and then started working on some AskTOM questions. Naturally pretty much the first thing I needed to do is connect to my database, and then this happened:

C:\oracle\product\18\bin>sqlplus scott/tiger@//gtx:1518/pdb1

SQL*Plus: Release - Production on Wed Mar 6 09:23:09 2019

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

ORA-12154: TNS:could not resolve  (more...)

Less slamming V$SQL

It’s a holiday here today in Perth, so a very brief blog post because I’ve been busy doing other things today Smile


When I’m contacted by customers or friends and asked to help out with tuning their applications, probably the two most common issues are one or two poorly performing SQL statements, or the server being overly stressed with CPU load with no single SQL being the obvious cause.

In either case, a common plan of (more...)

Learned Something New code Formatting

Which is better? Using code in [ ] or Using code in < >

Using code in [ ]

[oracle@racnode-dc1-1 18cLinux]$ egrep -v "^#" gridsetup_upgrade.rsp | awk -F'=' '$2'
oracle.install. (more...)

Oracle Database Security Master Class AZORA Meetup Thursday

Next Thursday Daniel Morgan from TidalScale will be giving a free Oracle Database Security Master Class for our March Arizona Oracle User Group meeting. See the details in our Meetup link:

Hash Optimisation-

Franck Pachot did an interesting presentation at the OBUG (Belgium user group) Tech Days showing how to use one of the O/S debug/trace tools to step through the function calls that Oracle made during different types of joins. This prompted me to ask him a question about a possible optimisation of hash joins as follows:

The hash join operation creates an in-memory hash table from the rowsource produced by its first child operation then probes (more...)

iPhone & Snowblower

What happens when your 16 year old doesn’t know he has a hole in his pocket, the iPhone slips down his pant leg unnoticed, and he runs over the device with a snowblower. It’s called instant shredded iPhone. You think that’s bad news but that’s why I purchased AppleCare for the device.

Then, you call Apple and discover that unless they can find and read the IMEI number from a chip, there is no warrantee (more...)

Oracle Database 19c : Installations, RAC, Data Guard and Upgrades

I’ve been playing around with Oracle Database 19c on LiveSQL since it was upgraded, and I pretty much thought that would be what I was stuck with until the on-prem release, as I don’t have an Exadata and it’s not on Oracle Cloud DBCS yet. Having seen a bunch people doing stuff on VMs, I got a bit frustrated and looked on eDelivery and low and behold the 19c software is available for download, even (more...)

Blaming and Praising Room Occupiers Using Outlook API, InfluxDB, IoT and Azure serverless functions

At our offices, we suspect that rooms are being booked but go unused when the booker claimed to need it. All of our rooms are equipped with movement (PIR) sensors, so we can detect movement in those rooms. We can count the number of people who pass the sensor. I went on a journey to find out how to do something with the data that I’ve got, and perhaps show our office manager, so that (more...)

ORA-30926 on MERGE statement

I was on call last week and I got a ticket about a batch job that was failing on a MERGE statement with an ORA-30926 error. Our support team worked around it by deleting some duplicate rows in a table that was feeding into the MERGE. This week I wanted to go back and try to understand what would cause ORA-30926 errors on MERGE statements.

I read through some blog posts and Oracle support documents (more...)

Video : Override External Table Parameters and Inline External Tables in Oracle Database

Today’s video gives a quick demonstration of overriding external table parameters and inline external tables introduced in Oracle database 12.2 and 18c respectively.

There is a more general video on external tables here.

For those of you that don’t do YouTube, you can read all the articles here.

InfluxDB V2.0 – Stack Implementation Proof of Concept

This blogpost will give you detailed instructions and information regarding the InfluxDB stack. Since February 2019 InfluxDB now consists not only the database itself, but also Telegraf, Chronograf and Kapacitor. Later you’ll read about what every part of the stack does.

18-2-2019: Living on the bloody edge, do not run this in production.

What is InfluxDB?

InfluxDB is a time series database made by InfluxData. It is widely used for telemetry and other time related (more...)

Continuous Integration & Deployment with OIC

Whilst OIC is not a traditional development environment, once you get past simple integration development you’re going to want to start implementing some configuration management controls and release promotion mechanisms.  We discussed this in the book, and illustrated how this can be achieved in a simple manner using the OIC APIs. However this can be […]

The post Continuous Integration & Deployment with OIC appeared first on Implementing Oracle Integration Cloud Service.

Worth the wait

Yes, I know it’s been awhile Smile

Yes, I know people have been angry at the delay Smile

But, can we put that behind us, and rejoice in the fact…that YES

It’s here!

Yes, 18c XE for Windows is now available.

Most probably, most developers in your organization are running a Windows PC. Now every single one of them can have a fully functioning Oracle database for developing, prototyping, testing, deploying, learning, exploring, (more...)

Statistics on Object tables

Way back in Oracle 8.0 we introduced the “Object-Relational” database, which was “the next big thing” in the database community back then. Every vendor was scrambling to show just how cool their database technology was with the object-oriented programming paradigm.

Don’t get me wrong – using the Oracle database object types and features associated with them has made my programming life a lot easier over the years. But for me, it’s always been pretty (more...)

MERGE and ORA-30926

Just a quick blog post on MERGE and the “unable to get a stable set of rows” error that often bamboozles people. This is actually just the script output from a pre-existing YouTube video (see below) that I’ve already done on this topic, but I had a few requests for the SQL example end-to-end, so here it is.

Imagine the AskTOM team had a simple table defining the two core members, Chris Saxon and myself. (more...)