Cost is Time (again)

The hoary old question about lower cost queries running faster or slower that higher cost queries has appeared once again on the OTN database forum. It’s one I’ve addressed numerous times in the past – including on this blog – but the Internet being what it is the signal keeps getting swamped by the noise. This time around a couple of “new” thoughts crossed my mind when reading the question.

There is a Time column (more...)

Example Jmeter workload for Postgres and Oracle

pgload.jmx is JMX file you can load into Jmeter and run a substantial load on a Postgres database. Should work just as well on Oracle if you change the test SQL from “Select 1″ to “select 1 from dual”

Install jmeter on our machine . On my mac, I did

  • brew install jmeter

You will need the Postgres driver. I used

Better to be safe than sorry…

I’ve always been worried about taking a script that is fine to run in my non-production environments (in particular a DROP script) and accidentally running it in a Production environment, shortly followed by the typing up of a fresh resume to look for a new job once the mistake is discovered Smile

The standard means of a “least privilege required” model when it comes to Production access is a good step along this road to protecting (more...)

Which is the best career path: Oracle ADF or Java?

My answer on Quora to “Which is the best career path to choose, Oracle ADF, or Java?”

Concentrate on Oracle ADF. ADF skills are in high demand and pay better than pure Java skills.

Because Oracle ADF is a Java-based framework, you will need to learn some basic Java as you build you ADF skills. Once you land an ADF job, you will learn more Java as you work with ADF. This allows you (more...)

DDL triggers – interesting results

This question came in on AskTom, yielding a very interesting result when it comes to DDL triggers. To set the scene, I’ll first create a table called T which is just a copy of SCOTT.EMP

SQL> create table scott.t as select * from scott.emp;

Table created.

SQL> desc scott.t
 Name                                                              Null?    Type
 ----------------------------------------------------------------- -------- -----------------
 EMPNO                                                             NOT NULL NUMBER(4)
 ENAME                                                                      VARCHAR2(10)
 JOB                                                                        VARCHAR2(9)
 MGR                                                                        NUMBER(4)
 HIREDATE                                                                   DATE
 SAL                                                                        NUMBER(7,2)
 COMM                                                                       NUMBER(7,2)

Who should create Oracle ADF skins?

My answer on Quora to “Who should create Oracle ADF skins: Developers or designers”

If you are on the latest ADF version (12.2.1.x.x), you have access to the web-based Theme Editor. In this case, your designer should use this user-friendly tool to create the skin. It has some limitations, but the designer is best placed to work around these.

In earlier ADF versions, a CSS developer is needed to develop the (more...)

Reset Oracle Password

This blog entry shows you how to reset the system password for an Oracle Database. It uses a Linux image running Oracle Database 11g Express Edition. It assumes the student user is the sudoer user.

After you sign on to the student user account, you open a Terminal session and you should see the following:

[student@localhost python]$ 

The oracle user account should be configured to prevent a login. So, you should use the su (more...)

Enable DDL logging

Enable DDL Logging:

ENABLE_DDL_LOGGING enables or disables the writing of a subset of data definition language (DDL) statements to a DDL log.

SQL> show parameter enable_ddl_logging

———————————— ———– ——————————
enable_ddl_logging boolean FALSE

SQL> alter system set enable_ddl_logging=TRUE scope=both;

System altered.

SQL> show parameter enable_ddl_logging

———————————— ———– ——————————
enable_ddl_logging boolean TRUE

SQL> select value from v$diag_info where name=’ADR Home’;



SQL> select value from v$diag_info where name=’ADR (more...)

Listener Exception : Could not create listener: TNS-04414: File error

When I tried to add listner using netca for my test database, I am getting below issue

“Listener Exception : Could not create listener: TNS-04414: File error’

It could be possible ” Listener file having some wrong entries, so you need to check” or renaming current listener and tried to add (Here Please be note, your current listener configuration will be removed).

Duplicate constraints are impossible right ?

Here’s a very simple example of a table called PARENT being a (surprise surprise) parent in a referential integrity relationship to a (drum roll for my choice of name) CHILD table

SQL> create table parent ( p int, constraint PAR_PK primary key (p) );

Table created.

SQL> create table child ( c int,
  2        p int
  3      );

Table created.

SQL> alter table child add constraint fk1 foreign key ( p ) references parent (  (more...)

Working with APEX 5 Dialogs

APEX 5 introduces native dialogs, both modal and non-modal. This article discusses:

  1. How to enable dialogs in your APEX 5 application if they are not already enabled.
  2. How to open a dialog.
  3. How to close a dialog, returning values from that dialog.
  4. How to respond to the closing of a dialog.

How to enable dialogs in your APEX 5+ application if they are not already enabled.

To check if Dialogs are already usable within your (more...)

The real question is … why are you NOT blogging

Colleague Jeff Smith published an interesting post the other day about his “rules and regulations” for blogging, but the overriding theme (Ed: – this is my opinion, I’m not speaking for Jeff)  was that the “what” he blogs about was – anything he’s passionate about, and the “when” was – whenever felt inspired to do so.

That got me thinking about blogging in general.  I think it is safe to say

Simple Python for Oracle database tuning example

I ran across a stackoverflow question and it gave me an idea for a simpler use of Python to graph some Oracle database performance information. I looked at my PythonDBAGraphs scripts and I’m not sure that it is worth modifying them to try to simplify those scripts since I like what they do. But they may make people think that Python scripts to graph Oracle performance data are difficult to write.  But, I think if someone (more...)

Creating a RAC 12.1 Data Guard Physical Standby environment (4)

In the previous three parts of this series a lot of preparation work, needed for the configuration of Data Guard, was performed. In this part of the mini-series they all come to fruition. Using the Data Guard broker a switchover operation will be performed. A couple of new features in 12c make this easier. According to the “Changes in This Release for Oracle Data Guard Concepts and Administration” chapter of the 12.1 Data Guard (more...)

Partition count for interval partitioned tables

When dealing with a RANGE partitioned table, the defined partitions dictate all of the data that can be placed into the table. For example, if I have a SALES table as per below

SQL> create table SALES
  2    ( cal_year  date,
  3      txn_id    int,
 24    )
 25  partition by range ( cal_year )
 26  (
 27    partition p_low values less than ( date '2000-01-01' ),
 28    partition p2000 values less than ( date '2001-01-01' ),

Last week in Stream Processing & Analytics – 13.02.2017

This is the 53rd edition of my blog series blog series around Stream Processing and Analytics!

From this week onward, I’ll be updating the following two lists with all the presentations and videos I mention each week:

As usual, find below the new blog articles, presentations, videos and software releases from last week:

News and Blog Posts


9th Circuit Court Ruling 3-0

Little did I know this building that captured my visual attention and imagination so many times walking to work over the last 6 months would play a historic roll in the current political climate.

Here is a picture of the US District Court House from recent articles

Screen Shot 2017-02-11 at 9.19.43 PM


And here are some of my iPhone shots over the last few months with some Instagram filtering mixed in :)

Screen Shot 2017-02-10 at 8.17.09 AM Screen Shot 2017-02-10 at 8.15.09 AM

Screen Shot 2017-02-10 at 8.15.01 AMScreen Shot 2017-02-10 at 8.16.58 AM Screen Shot 2017-02-10 at 8.16.52 AM Screen Shot 2017-02-10 at 8.16.21 AM Screen Shot 2017-02-10 at 8.15.54 AM Screen Shot 2017-02-10 at 8.14.32 AM Screen Shot 2017-02-10 at 8.14.24 AM Screen Shot 2017-02-10 at 8.14.17 AM Screen Shot 2017-02-10 at 8.14.09 AM Screen Shot 2017-02-10 at 8.13.59 AM Screen Shot 2017-02-10 at 8.13.41 AM Screen Shot 2017-02-10 at 8.13.32 AM Screen Shot 2017-02-10 at 8.13.18 AM

Data Pump or Data Pain

WARNING: Rants ahead.

Simple request migrate schema from one database to another, right?

Create new database perform schema export and import this only works if objects are self contained.

The following objects are missing from schema export to name a few.

Here’s what was done and hopefully did not missed anything. TBS was pre-created.

$ cat impdp_full_public.par

userid="/ as sysdba"

$ cat (more...)

Oracle Database adapter, invalid customization

Just wasted a few hours of my life.

I’m trying to update a dbadapter with a some wlst and a property file.
Result :
Same eis connection is getting added 3 times.

After this i can’t delete the duplicate entries in the console.

The outbound connection instance eis/DB/myDC in group javax.resource.cci.ConnectionFactory is defined explicitly in the applications deployment descriptors and may not 
be deleted via the console.

Content of the propertyfile :

AskTom TV

Sometimes at conferences I get asked – “How do you know all of the answers for the AskTom questions?”

I’d love to say “Because we’re super smart” Smile but the reality is, we’re just like anyone else with a passion for database technology.  We like to research things, apply our skills and use our experience to solve problems.

So I’ve realised that even though we try to give as much detail as possible when (more...)