FORMAT RELASE changes in #GoldenGate #12.3

This is just a quick note for those who are looking to using Oracle GoldenGate (Classic or Microservices) and want to send trails of a lower version. This information can be found in the Release Notes for Oracle GoldenGate (here).

The default behavior for FORMAT RELEASE settings supported with EXTTRAIL, RMTTRAIL, EXTFILE and RMTFILE has changed. This is due to changes need to support PDBs (more...)

Triggers and Redo: changes on 12.2

In one of the previous posts I showed How even empty trigger increases redo generation, but running the test from that post, I have found that this behaviour a bit changed on 12.2:
In my old test case, values of column A were equal to values of B, and on previous oracle versions including we can see that even though “update … set B=A” doesn’t change really “B”, even (more...)

Build a Parallel Replicat from #Oracle #GoldenGate #AdminClient

One of the new features that came out with Oracle GoldenGate was the introduction of the Parallel Replicat. This new replicat is designed to help users quickly load data into their envrionments by using multiple parallel mappers and threads. Figure 1 shows you what this concept is about.

Figure 1:

What you need to understand about this architecture is that we are still reading a single trail file. We are (more...)

#GoldenGate Microservices (5 of 5) … Performance Metrics Service

This is post 5 of a 5 part post related to Oracle GoldenGate 12.3 Microservices and the final one on the HTML5 web page access. This series of posts will provide some details over the new graphical user interface (GUI) that has been built into Oracle GoldenGate 12.3.

Performance Metric Service is the new performance monitoring service that comes built into Oracle GoldenGate 12.3 Microservices. This is a huge addition to the (more...)

Part VI of my article series "Database as a Service using Enterprise Manager"

Part VI of my article series "Database as a Service using Enterprise Manager"

Adaptive serial direct path read decision ignores object statistics since 12.1

On versions – Oracle uses objects’ statistics to make direct path reads decision (of course, if “_direct_read_decision_statistics_driven” haven’t changed it to “false”), and we can force serial direct reads on statement level using sql profiles with hints INDEX_STATS/TABLES_STATS, but since at least this decision ignores statistics.

Btw, thanks to Jure Bratina, we know now, that we need to repeat hint TABLE_STATS at (more...)

Open Wallet Automatically After Starting The Database

This article about Open Wallet Automatically After Starting The Database. 

If encryption wallet is enabled, then every time we start the database, we have to open the wallet manually.

So to avoid this, we can create one trigger which will open the wallet automatically, once you start the database.

Below is the trigger:

–execute immediate ‘ALTER SYSTEM SET ENCRYPTION WALLET CLOSE identified by “password”’;

How To Use DBMS_PRIVILEGE_CAPTURE To Capture Privs In Oracle 12c

Introduction:- Oracle 12c introduced the DBMS_PRIVILEGE_CAPTURE package, which helps us in doing privilege analyze and find a report on used and unused privileges.In order to use the DBMS_PRIVILEGE_CAPTURE package, you must be granted the CAPTURE_ADMIN role. One of the most important Security Principals while maintaining your Enterprise Database Landscape is implementing the “least privilege” principle. The least privilege principle is applied from IT Security level on any enterprise system and system administrators (more...)

Transparent Data Encryption (TDE) In Oracle 12c

Today we are going to talk about Transparent Data Encryption (TDE) In Oracle 12c. First, have look at the introduction of TDE.  After the introduction, we have steps to configure TDE.

Transparent Data Encryption (TDE) was introduced in Oracle Database 10g Release 2 as an OUT-OF place mechanism to encrypt data at the storage (media) level. TDE enables the encryption of data at the storage level to prevent data tempering from outside of (more...)

Disable TDE In Oracle 12c

This post is about Disable TDE In Oracle 12c . Let’s hav look on the steps.

Find the encrypted table columns and modify them:

SQL> select owner,table_name,column_name,encryption_alg from dba_encrypted_columns;SQL> select owner,table_name,column_name,encryption_alg from dba_encrypted_columns; OWNER TABLE_NAME   COLUMN_NAME ENCRYPTION_ALG—– ———— ———— —————————–RAJ   EMPLOYEE    SALARY AES 192 bits key  SQL> alter table raj.employee modify( salary decrypt); Table altered. SQL> select owner,table_name,column_name,encryption_alg from dba_encrypted_columns; No rows selected


Now find the table under the encrypted table and move to normal tablespace:


Garbled display while running FMW installer on Linux

A colleague faced this while running FMW installer on a Linux machine. The display appeared like this








This thread gave a clue that it could have something to do with fonts. So I checked what all fonts related stuff was installed.

[root@someserver ~]# rpm -aq |grep -i font
xorg-x11-fonts-ISO8859-9-100dpi-7.5-9.el7. (more...) fails with CRS-2101:The OLR was formatted using version 3

Got this while trying to install RAC on Redhat Linux 7.2. fails with a message like

ohasd failed to start
Failed to start the Clusterware. Last 20 lines of the alert log follow:
2017-11-09 15:43:37.883:
[client(37246)]CRS-2101:The OLR was formatted using version 3.

This is bug 18370031. Need to apply the patch before running

How To Move AUD$ Table To Another Tablespace Using DBMS_AUDIT_MGMT

If your AUD$ table is in SYSTEM and SYSTEM tablespace, Then it is advised to move the AUD$ to a dedicated tablespace.


Use steps to move AUD$.

select owner,segment_name,segment_type,tablespace_name,bytes/1024/1024 from dba_segments where segment_name=’AUD$’

——- ————- —————— —————————— —————

Use the dbms_audit_mgmt to move the tablespace.

audit_trail_location_value => ‘AUDIT_DATA’);

PL/SQL procedure successfully completed.

check whether tablespace has (more...)


This  ENABLE_DDL_LOGGING parameter has been introduced in Oracle 12c.

If this ENABLE_DDL_LOGGING is enabled, then DDL records are written to the ADR.
All DDL operations like alter/create/drop/truncate objects. Only drop user will be logged, But create user will not be.

Enable the parameter:

SQL> show parameter enable_ddl_logging
———————————— ———– ——————————
enable_ddl_logging boolean FALSE

SQL> alter system set enable_ddl_logging=true;
System altered.

SQL> show parameter enable_ddl_logging
———————————— ———– ——————————
enable_ddl_logging boolean (more...)

Purge AUD$ Table Using DBMS_AUDIT_MGMT


Oracle 11gR2 introduced DBMS_AUDIT_MGMT for managing audit trails.  The growth of AUD$ can impact the performance of the database. So purging it regularly is the best practice followed by DBA’s and DBMS_AUDIT_MGMT makes it easier.

Follow below steps for purging aud$ table.

1. Make sure AUD$ table is not in SYSTEM table tablespace.

  If AUD$ table is present in SYSTEM tablespace, then move it to a newpuring  dedicated tablespace using below script.

select (more...)

Unified Audit Trail In Oracle 12c


With oracle 12c, unified auditing has been introduced. It consolidates all audit trails into a single audit trail table.

It will capture audit records from below sources.

SYS audit records ( which was written to os trail in traditional method, will now be written to db table)
Unified audit policies for different action/privilege/statement/role etc.
RMAN events
Sql loader


  • Depends on DB init parameter like audit_trail,audit_sys_log.
  • writes audit (more...)

Great Britain and Northern Ireland February 2018 Dates: “Oracle Indexing Internals and Best Practices” Seminar (Battle For Britain)

Attention Oracle Professionals in the United Kingdom !! I have now finalised all the dates and venues for a series of my popular and critically acclaimed “Oracle Indexing Internals and Best Practices” seminar I’ll be running in the UK in February 2018. I’m extremely excited as this will be the first time I’ve delivered this […]

Big Data Marathon

This week there is a Big Data event in London, gathering Big Data clients, geeks and vendors from all over to speak on the latest trends, projects, platforms and products which helps everyone to stay on the same page and align the steering wheel as well as get a feeling of where the fast-pacing technology world is going. The event is massive but I am glad I could make it even only for one hour (more...)

Redundant Grandparent Foreign Keys and Cardinality Estimate Errors

This post is about how a slightly de-normalized database design involving redundant foreign keys to other tables can end up producing sub-optimal execution plans for queries that use those extra joins as additional filter conditions.

By default the Oracle Optimizer assumes that different columns of data in a table are independent of each other, and that their data values are not correlated with each other in any way. When a query has filter conditions on (more...)

Backup stalled due to ASM rebalance stuck

I hit an issue where a full backup took much longer than normal.
In this case there was no alarm yet as no threshold was reached. But I worked on the DB for some other reason and out of a habit I most often start a ASH viewer whenever I work on a system - even if I only check data, it's worth to have an eye on the system.
In this case I saw (more...)