Caution when using Suppress Change Event on an Interactive Grid Column

There are some, maybe rare, use case when you want to set the "Suppress Change Event" switch of a Dynamic Action to "Yes". Usually that's only necessary when the Dynamic Action is fired On Change and executes a Set Value with the same field as a target. There might be a chain of events leading to this or just one. If you forget to set it you'll end up in an (more...)

Installing Oracle 19c Binary on OEL 7.6

In this post, we are installing Oracle 19c binaries on OEL 7.6. First, we need to download the software then unzip it on oracle home and start runInstaller from the software location.

[root@oracle19c ~]# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
[root@oracle19c ~]# chown -R oracle:oinstall /u01
[root@oracle19c ~]# chmod -R 775 /u01
[oracle@oracle19c ~]# ./runinstaller &

Select a “Set Up Software Only” and click next.

Select on “Single instance database Installation(more...)

CTEs ohne Materialisierung in Postgres 12

Jonathan S. Katz weist in einem Artikel auf eine wichtige Verbesserung hin, die mit Postgres 12 verfügbar werden soll: CTEs werden dann nicht mehr automatisch materialisiert. In der commit message findet man dazu folgende Beschreibung:
By default, we will inline [CTEs] into the outer query (removing the optimization fence) if they are called just once. If they are called more than once, we will keep the old behavior by default, but the user can override (more...)

Understanding grid disks in Exadata

Use of Exadata storage cells seems to be a very poorly understood concept. A lot of people have confusions about how exactly ASM makes uses of disks from storage cells. Many folks assume there is some sort of RAID configured in the storage layer whereas there is nothing like that. I will try to explain some of the concepts in this post.

Let’s take an example of an Exadata quarter rack that has 2 db (more...)

Video : Real-Time Materialized Views

Today’s video is a quick demo of Real-Time Materialized Views,
introduced in Oracle Database 12c Release 2 (12.2).

This is based on information from the following articles.

The cameo for today’s video is Maria Colgan. 🙂



Video : Real-Time Materialized Views was first posted on February 18, 2019 at 11:09 am.
©2012 "The ORACLE-BASE Blog". Use (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...)

Microsoft Azure: account upgrade to keep going with free products

Today i got an e-mail about my azure account:

 Microsoft provides a little FAQ for this upgrading process:
So there is no option not to upgrade. "you won't be able to access any Azure services" is not really an option...

There 4 upgrade paths i can choose:
To use this account only for my blog, i decided to choose "no technical support", which is perfectly adequate.

After hitting the upgrade button, the notifications bar came (more...)

Integration with APIless Systems – Leveraging RPA – Definitive Tip #10

Traditionally integrating with systems that don’t offer APIs or a shared storage mechanism (such as open tables) has been something of a headache often resulting in the ‘last mile’ of the integration process being manual. The manual steps often come because the cost of building and maintaining the means to integrate has not been cost […]

The post Integration with APIless Systems – Leveraging RPA – Definitive Tip #10 appeared first on Implementing Oracle Integration (more...)

Tools for troubleshooting network performance issues

In my previous article I discussed general questions related to network issues in Data Guard due to packet loss and/or retransmissions. Here I’d like to move to discussing specific tools and methodologies for troubleshooting such issues.

Such tools can be broken down by following criteria:

  • server-side or network-side
  • active or passive
  • level of detail they provide (aggregate statistics or individual packet capture).

I think the first item on the list is more or less self-explanatory: (more...)

shared resources

Some days ago I had one of these calls from an application colleague:
The database was slow yesterday, can you please check what's the problem?
Of course, I had some short discussion if he really means the DB or should it be called the application is slow. Also some other questions needed to be asked first, e.g. if it's a response time or throughput issue, when it was "good" last time, what "bad" and (more...)

GoldenGate XAG APP VIP Revisited

For unknown reasons, XAG integration for GoldenGate target was eradicated without any trace (I was not able to find any).

When running crsctl at target, no resources were available.

crsctl stat res -t -w 'TYPE = xag.goldengate.type'
crsctl stat res -t|egrep -A2 'dbfs|xag'

Here is an example from source:

$ crsctl stat res -t -w 'TYPE = xag.goldengate.type'
Name           Target  State        Server                   State details       
Cluster Resources
xag.gg_ue. (more...)

Minikube on KVM on Linux Mint 19.1

In a previous blog post I wrote about running Minikube on Windows. I ended with the suggestion that getting Minikube working might be much easier on Linux. Thus I installed Linux Mint (as dual-boot) on my laptop and gave it a shot. The steps I took to get it working are described here.

Challenges installing Mint


First I was having some issues getting Mint installed as dual boot OS. First I already had an (more...)

Variable Scope

Microsoft SQL Server provides T-SQL with the ability to assign values from the queries to local variables. While T-SQL returns a SELECT-list, there are rules for how you can assign the SELECT-list values. The process is more or less an all or nothing approach when assigning values to a local variable. The rule is quite simple for scalar variables because the SELECT-list may contain multiple values but assignments must be made one (more...)

Another bug with lateral

Compare the results of the following query with the clause “fetch first 2 rows only”

 t1(a) as (select * from table(odcinumberlist(1,3)))
,t2(a,b) as (select * from table(ku$_objnumpairlist(
,t(id) as (select * from table(odcinumberlist(1,2,3,4,5,6,7)))
from t,
     lateral(select t1.a,t2.b
             from t1,t2 
             where t1.a = t2.a 
               and t1.a =
             order by t2.b
             fetch first  (more...)

Error (CLSD|CLSU-00100|CLSU-00103: error location: sclsdgcwd2|CLSD00183) Running ggsci

Rant: Any application requiring strace for a simple problem to determine root cause is poorly written.

Oracle blog – Amardeep Sidhu January 12, 2019 Error while running ggsci

The blog above was a great help.

$ ./ggsci 

Oracle GoldenGate Command Interpreter for Oracle
Version OGGCORE_12.
Linux, x64, 64bit (optimized), Oracle 12c on Oct 30 2017 20:49:22
Operating system character set identified as UTF-8.

Copyright (C)  (more...)

Lateral view decorrelation(VW_DCL) causes wrong results with rownum

Everyone knows that rownum in inline views blocks many query transformations, for example pushing/pulling predicates, scalar subquery unnesting, etc, and many people use it for such purposes as a workaround to avoid unwanted transformations(or even CBO bugs).

Obviously, the main reason of that is different calculation of rownum:

If we pull the predicate “column_value = 3” from the following query to higher level

select * 
from (select * from table(odcinumberlist(1,1,1,2,2,2,3,3,3)) order by 1)
where rownum  (more...)

HEUG Alliance 2019

With the HEUG Alliance 2019 conference starting in a few weeks, it is time to finalize our session schedules. Reviewing the agenda, I see many great education sessions from partners such as Presence of IT, SpearMCAppsian, and Mutara Inc as well as many, many customer sessions covering important topics including security, user experience, integration, tools, add-on products and so on. This is clearly an Alliance we don't want to miss! On (more...)

Oracle 19C New Feature Availability

trump-exasperatedSince Oracle Open World 2018, Oracle have been trumpetting a few cool new features in the Oracle 19C database, the headline two for administrators being “Automatic Indexing” and “Real-Time Statistics“.

With the release of Oracle 19.2 on Exadata (on-premises – not yet on Cloud!) this week, we also got the documentation released which allow us to answer a very important question: on which platforms will we be able (more...)

Oracle Database 19.2 for Exadata is available

Oracle 19.2 is available for Exadata on Premise

Yes, and the good news are ..

We actually setup a X7 with Oracle Linux 7 …. which is a prerequisite

I will prepare an article in the near future