Storing Date Values As Characters (What’s Really Happening)

For something that’s generally considered an extremely bad idea, I’ve lost count of the number of times I’ve come across applications that insist on storing date values as characters within the database. We’ve all seen them … I recently got called in to assist a customer who was having issues with a POC in relation […]

Log Buffer #475: A Carnival of the Vanities for DBAs

This Log Buffer Edition goes through various blogs, and selects some of the top posts from Oracle, SQL Server and MySQL.

Oracle:

MOS Note:136697.1 – New HCHECK.SQL for Oracle Database 12c

ORAchk / EXAchk questions.

Cloud control won’t start!

ASMLib is an optional utility that can be used on Linux systems to manage Oracle ASM devices.

ORA-56841: Master Diskmon cannot connect to a CELL.

Oracle BITAND Function with Examples.

 

SQL Server:

Natively (more...)

SharePlex Replication Between Two Instances On The Same Host

Several days ago I was asked a question about SharePlex and should verify behaviour before providing the answer. I had one linux VM with two databases and needed to setup replication between them. One of them (orcl) was a target 12c EE database while the second one was a source 10g SE. Accordingly, I should use two different versions of SharePlex to mimic the questionable behaviour, so I should have two different SharePlex instances talking (more...)

CBO++

While browsing the web recently for articles on the HyperLogLog algorithm that Oracle uses for some of its approximate functions, I came upon a blog post written in Jan 2014 with the title Use Subqueries to Count Distinct 50X Faster. There are various ways that subqueries can be used to rewrite queries for improved performance, but when the title caught my eye I couldn’t think of a way in which they could improve “count distinct”. (more...)

Tech 16 – We Want Your Abstracts on SE, Real-World & Practical Topics

The Call for Papers is open for the UK Oracle User Group annual TECH conference. It’s in Birmingham, in December, and is being co-located with the JDE & Apps conferences too (and the call for papers is open for them also).

ScreenHunter_100 May. 25 10.02

If you are a Standard Edition (SE) expert, have a real-world story to tell about how you used Oracle (good or bad!) or want to teach others how to get going with some (more...)

Did You Know #14 – Bug Fixes Lists

Oracle database is a very complex software, and as we all know, has bugs. Oracle tries to address these bugs, and fixes a lot of them all the time. Except specific fixes, they publish patchsets (which might introduce more than only bug fixes) and PSUs. If you are not aware of these patch types and […]

Integrating Hadoop and Elasticsearch – Part 2 – Writing to and Querying Elasticsearch from Apache Spark

Introduction

In the part 2 of 'Integrating Hadoop and Elasticsearch' blogpost series we look at bridging Apache Spark and Elasticsearch. I assume that you have access to Hadoop and Elasticsearch clusters and you are faced with the challenge of bridging these two distributed systems. As spark code can be written in scala, python and java, we look at the setup, configuration and code snippets across all these three languages both in batch and interactively.

Using DBMS_STREAMS_ADM To Cleanup GoldenGate

This is really messed up. I chose GoldenGate because I did not want to mess around with streams.

When using Integrated Capture or Delivery, then knowing streams is a prerequisites.

Apologies as the format is not pretty.

The QUEUE table was indeed missing and this is what I get for monkeying around.

To resolve the issue –  exec DBMS_STREAMS_ADM.REMOVE_STREAMS_CONFIGURATION();

GGSCI (arrow.localdomain as ggs_admin@hawk) 3> unREGISTER EXTRACT e_hawk DATABASE

2016-05-23 19:16:32  ERROR   OGG-08221  Cannot  (more...)

Enterprise Manager 13c and AWS

This posting is to try to clarify what is supported when using Enterprise Manager Cloud Control 13c (EM13c) and Amazon Web Services (AWS). The question came from some of our sales consultants who were finding confusing information about what is actually supported when using EM13c and AWS, so I have asked our Support folks to write a support note to provide the definitive answer on this. While that is being written, I thought I would (more...)

Short-term Answers Vs. The Correct Answer

Enterprise Manager does a LOT.  Sometimes it may do too much.  Customers on forums, on support or via email and social media may come to us asking how to address something they view as not working right and the truth is, we could simply answer their question, but they aren’t using the right tool to accomplish what they’re attempting.

wrongtool

The Export Feature in Enterprise Manager

A customer was (more...)

Virtual Partitions

Here’s a story of (my) failure prompted by a recent OTN posting.

The OP wants to use composite partitioning based on two different date columns – the table should be partitioned by range on the first date and subpartitioned by month on the second date. Here’s the (slightly modified) table creation script he supplied:


CREATE TABLE M_DTX
(
        R_ID    NUMBER(3),
        R_AMT   NUMBER(5),
        DATE1   DATE,
        DATE2   DATE,
        VC GENERATED ALWAYS AS (EXTRACT(MONTH FROM DATE2))
)
PARTITION  (more...)

Accessing STATUS columns efficiently

A frequently reoccuring design problem with relational databases is the issue locating unprocessed rows in a large table, so we know which rows of data are still yet to be processed.

The problem with a STATUS column is that it generally has low cardinality; there are probably only a handful of distinct values [(C)omplete, (E)rror, (U)nprocessed or something like that]. Most records will be (C)omplete. This makes STATUS a poor candidate for standard B-Tree indexation. (more...)

OUGF Harmony 2016 Spring Conference Twitter Statistics

If you didn’t come this page from my review about the OUGF Harmony16 Spring Conference, please don’t forget to read it. This post is generated almost automatically by scripts to share the twitter statistics of the conference. The statistics cover the period between May 17 and May 20. I included three hashtags (#OUGF, #OUGF16, #Harmony16), because at the beginning of the conference, people (including me) did not used the official hashtag (#Harmony16).

openning


#Harmony16 Tweets

(more...)

OUGF Harmony 16 Spring Conference

Last week I took part in the OUGF (Oracle User Group Finland) Harmony 16 Spring Conference. It was a two day event, and held in Helsinki, between May 18th and 19th. In the conference, I gave two speeches: “Essential Linux commands for DBAs” and “Enterprise Manager 13c for DBAs”. Most people expect to me to speak about Enterprise Manager but in my first session, I spoke about the tools which can be used for monitoring (more...)

GoldenGate 12.2 Patch 17030189 required Integrated trail format RELEASE 12.2 or later

EXTRACT Abending With OGG-02912 (Doc ID 2091679.1)

Alternate script prvtlmpg.plb (included in the Oracle GoldenGate installation directory) to the mining database to work around this limitation.

oracle@arrow:hawk:/u01/app/12.2.0.1/ggs01
$ ll prv*
-rw-r-----. 1 oracle oinstall 1272 Dec 28  2010 prvtclkm.plb
-rw-r-----. 1 oracle oinstall 9487 May 27  2015 prvtlmpg.plb
-rw-r-----. 1 oracle oinstall 3263 May 27  2015 prvtlmpg_uninstall.sql
oracle@arrow:hawk:/u01/app/12.2.0.1/ggs01
$

The other option in this (more...)

Create GoldenGate 12.2 Manager

I typically don’t like to see WARNING if I can help it.

Goldengate 12c has some security features to allow/prevent unauthorized access.

Be careful. Incorrect IPADDR or PROG is used will prevent Pump Extract delivery to target server.

oracle@arrow:hawk:/u01/app/12.2.0.1/ggs01
$ tail -100 ggserr.log
2016-05-22 12:25:07  INFO    OGG-00987  Oracle GoldenGate Command Interpreter for Oracle:  GGSCI command (oracle): start mgr.
2016-05-22 12:25:07  WARNING OGG-01877  Oracle GoldenGate Manager for Oracle, mgr.prm:  Missing explicit accessrule  (more...)

Create GoldenGate 12.2 Wallet

So what’s different from this post versus other posts? I share my mistakes with you.

Did you know there was a DEFAULT domain? If you didn’t, neither did I and only found out by using

info credentialstore

alter credentialstore add user ggs_admin alias ggs_admin domain admin
USERIDALIAS ggs_admin DOMAIN admin

alter credentialstore add user ggs_admin alias ggs_admin
USERIDALIAS ggs_admin

oracle@arrow:thor:/u01/app/12.2.0.1/ggs02
$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 12.2.0. (more...)

SQLcl New Version and Other Big Stuff

I’ve been meaning to write about SQLcl for quite some time now – a lot is happening in the SQLcl world – but I hadn’t had the chance due to my very busy schedule.

Since some bigger things had happened recently, I feel it is a good opportunity to write about it. I promise to take some time to write (and maybe even video) some guides for SQLcl in the near future.

Okay, enough with (more...)

Video : Indexing JSON Data in Oracle Database 12c

Following on from last week’s post, today’s video is about indexing JSON data in Oracle Database 12c.

If videos aren’t your thing, you might want to read these articles, which the videos are based on.

The cameo in this video (more...)

Oracle Audit Control part 3 – OS files

Just realized that I wrote a follow-up to Part 2 2 years ago and never posted it! So here’s the stripped-out key facts to round off auditing control a bit more:

Deleting O/S audit files is, like, totally necessary. In Oracle 12C (12.1), they are created by default as AUDIT_SYS_OPERATIONS defaults to TRUE now, so you are going to be filling up your AUDIT_FILE_DEST whether you realized it or not.

[NOTE: In theory, this (more...)