RMOUG, Feb. 20th, 2018 #td18

So its the first day of RMOUG Training Days 2018 in Westminster, CO, (just NW of Denver, between Denver and Boulder) and we’re enjoying the winter weather after spring temperatures on Sunday, which dropped almost 50F degrees in a single day.  The change in temperatures was accompanied by about 8 inches of snow for Denver and most of those in summer gear were faced with only one choice….

Actually they were left with two-  (more...)

A look into into Oracle redo, part 4: the log writer null write

This is the fourth blogpost on a series of blogposts about how the Oracle database handles redo. The previous blogpost talked about the work cycle of the log writer: https://fritshoogland.wordpress.com/2018/02/12/a-look-into-oracle-redo-part-3-the-log-writer-work-cycle-overview/. This posts is looking into the execution of the kcrfw_redo_write_driver function executed in the ksbcti.

Now that we are familiar with how the logwriter works in general, we need to take a closer look to the kcrfw_redo_write_driver function. First let me be clear: (more...)

Taking Notes – 2

[Originally written August 2015, but not previously published]

If I’m taking notes in a presentation that you’re giving there are essentially four possible reasons:

  • You’ve said something interesting that I didn’t know and I’m going to check it and think about the consequences
  • You’ve said something that I knew but you’ve said it in a way that made me think of some possible consequences that I need to check
  • You’ve said something that I think (more...)


Here’s a note I’ve just re-discovered – at the time I was probably planning to extend it into a longer article but I’ve decided to publish the condensed form straight away.

In a question to the Oak Table a couple of years ago (May 2015) Cary Millsap asked the following:

If you had an opportunity to tell a wide audience of system owners, users, managers, project leaders, system architects, DBAs, and developers “The most important (more...)

Using Spark to Process Data From Cassandra for Analytics

After my presentation about Apache Cassandra, most people asked if they can run analytical queries on Cassandra, and how they can integrate Spark with Cassandra. So I decided to write a blog post to demonstrate how we can process data from Cassandra using Spark. In this blog post, I’ll show how I can build a testing environment on Oracle Cloud (Spark + Cassandra), load sample data to Cassandra, and query the data using Spark.

Let (more...)


As the years roll on I’ve found it harder and harder to supply quick answers to “simple” questions on the Oracle-L list server and OTN/ODC forum because things are constantly changing and an answer that may have been right the last time I checked could now be wrong. A simple example of the consequences of change showed up recently on the OTN/ODC forum where one reply to a question started:

Just why do you need (more...)

You may still need gcc when patching Oracle Database 12.2

I have previously written about changes in the Oracle 12.2 preinstall RPM and how gcc is no longer part of the dependencies list. As was pointed out to me, this shouldn’t be necessary anymore, according to the 12.2 Linux Database Installation Guide. Check the blue note for a statement indicating that gcc and gcc-c++ aren’t needed for Grid Infrastructure, nor for the RDBMS software.

I have applied patch 27100009 (January 2018 Release Update (more...)

The Definition of Done

One of things I find myself getting increasingly frustrated with is the definition of done by some people and companies.

For context, I’m speaking about work that is allegedly entirely complete, not necessarily what I expect out of the first sprint on a project. Sorry for stating the obvious, but someone will try to explain to me what the “Definition of Done” is from an agile perspective and I’ll get cranky… 🙂

Just off the top (more...)

European Indexing Internals Seminar Events: Please Help Me Select (Station To Station)

I’m currently determining which European countries to initially target for a series of my 2 day Oracle Indexing Internals and Best Practices seminars tentatively scheduled for the late May / early June time frame. The cost for the 2 day seminar is to be confirmed but will be approximately 1200 Euros (plus any local taxes), […]

Execution plans on LiveSQL

To protect the integrity of people’s data, and isolate sessions on LiveSQL, we lock down the environment.  Clearly if you are doing some testing with sensitive data, you don’t want an anonymous member of the user community mining V$SQL to see what commands you have been running.  Conversely, we want to allow people to perform most of the tasks that would do on a standard database installation without having to install or (more...)

How Do You Create Data Guard Configuration?

I have taken for granted to create Data Guard Configuration the same way most of the time that I don’t know what goes wrong with done differently.

$ sqlplus / as sysdba

SQL*Plus: Release Production on Mon Feb 19 23:41:49 2018

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

Connected to:
Oracle Database 12c Enterprise Edition Release - 64bit Production
With the Partitioning, Real  (more...)

Safe Harbor Statement – Oracle

Safe Harbor Statement

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.


The post Safe (more...)

Oracle ERP DB Exadata migration + AC-50480: Internal error occurred + ORA-12154

I was recently involved in a project to migrate an Oracle ERP database to an Exadata server. The ERP database was a non-RAC Oracle 12cR1 running on RHEL with Oracle EBusiness suite 12.1.3.

The migration involved only migrating the ERP database from traditional storage/server technologies to Exadata machine. Upgrade from non-RAC database to RAC. The application remains on the same host. Though similar migration projects were successfully done earlier, this time, I faced (more...)

First login to Oracle 18c

Database administrators have specific responsibilities and must understand how to complete database administration tasks. To get started with database administration, you must understand basic database concepts, such as the types of database users, database security, and privileges. You must also be able to complete basic tasks, such as submitting commands and SQL to the database and creating a password file

Below is first login Oracle Database 18c.

Stay Tuned for More Information on Oracle 18c


Oracle Database 18c Released : How to Get Started

Just in case you missed it, Oracle Database 18c was released on Friday. You can read the announcement in this post.

How to Get Started

You might be a bit disappointed if you don’t have an Oracle Cloud account, or an engineered system. Not to worry. You can try Oracle Database 18c on Live SQL.

The documentation is already available. You (more...)

Oracle Database 18c

Yup…it’s arrived!

New name obviously, because we’ve jumped to our new naming model to align with the calendar year as opposed to version number.  You might be thinking “So what?” but it’s a significant change in the way we getting software to customer.  Mike Dietrich blogged about this at length here so I won’t repeat what has been said, but in TL;DR form:

More frequent releases, with smaller amounts of change per (more...)

Display the sql_id for a query in Oracle 18c

The SET FEEDBACK command has an SQL_ID option to display the sql_id for the currently executed SQL or PL/SQL statements. The sql_id will be assigned to the predefined variable SQL_ID.

Displays the number of records returned by a script when a script selects at least n records. SQL_ID returns the sql_id for the SQL or PL/SQL statements that are executed. The sql_id will be assigned to the predefined variable SQL_ID.

SQL>  (more...)

SET LINESIZE window in Oracle 18c

Sets the total number of characters that SQL*Plus displays on one line before beginning a new line.

WINDOW adjusts the linesize and pagesize for the formatted output according to the width and height of the screen. If the output is longer than the screen width, then the output is wrapped accordingly

To set the linesize for the output to 30, enter
linesize 30

To dynamically change the (more...)

SQL Server Operations Studio

Since I reformatted my Surface Pro 4 so I could have my Docker running again, I also needed to recover my local SQL Server instance I like to have available on my PC.

This was a perfect time to get everything up and running, but instead of my standard way of doing this, use SQL Server Operations Studio, (SSOS).

The Lesson

Most SQL Server DBAs have a GUI took to assist in managing their (more...)

Oracle Database 18c and it’s features

Finally, Oracle officially released Oracle Database 18c with Oracle Documentation available on Oracle Public Cloud(OPC).  To get more detailed on Oracle 18c release read Oracle Support Document 2285040.1.

List of some new features in Oracle 18c:

Data Guard

  • Oracle Data Guard Multi-Instance Redo Apply Supports Use of Block Change Tracking Files for RMAN Backups
  • Automatic Correction of Non-logged Blocks at a Data Guard Standby Database

Application Continuity

  • Server Draining ahead of relocating or (more...)