Search

Top 60 Oracle Blogs

Recent comments

April 2019

Microsoft Webinar on the Future of the DBA- Certifications

Thanks to those that attended of the over 1600 registrations for the Microsoft webinar yesterday on the future of the DBA in the Cloud. This was a fun session for me, as I got to demo one of my favorite skill areas since starting at Microsoft- automation of cloud deployments in Azure.

Bash’in it

Its natural that others would be doing this, but I’m writing all my main scripts in BASH, which prepares the environments, calls the Azure CLI commands and then other scripts, (Power Shell, Json Templates, etc.) from the main “wrapper” script. I’m also deploying, not only the infrastructure or databases, but logical objects and data as part of my deployment, so its pretty fun as this evolves.

In-table predicates

This note was prompted by a recent email asking about the optimizer’s method for estimating the selectivity of a predicate which compared two columns in the same table – for example:  “where orders.amount_invoiced = orders.amount_paid”. It’s been about 14 years since I wrote “Cost Based Oracle – Fundamentals” so my memory of what I wrote (and whether I even mentioned this case) was rather hazy, so I sent off a quick reply and decided to do a little checking.

APEX Upgrade redux

I posted about my APEX upgrade to 19 yesterday, and someone was quick to point out to me that they believed I hadn’t covered all of the steps.

“What if your APEX instance needs to call web services?” they said. “You need to update your Access Control Lists.”

I hadn’t thought of that, so I logged onto one of my other APEX instances that was still at version 18, and checked the current ACLs

Ansible tips’n’tricks: provision multiple machines in parallel with Vagrant and Ansible

Vagrant is a great tool that I’m regularly using for building playground environments on my laptop. I recently came across a slight inconvenience with Vagrant’s Virtualbox provider: occasionally I would like to spin up a Data Guard environment and provision both VMs in parallel to save time. Sadly you can’t bring up multiple machines in parallel using the VirtualBox provisioner according to the documentation . This was true as of April 11 2019 and might change in the future, so keep an eye out on the reference.

I very much prefer to save time by doing things in parallel, and so I started digging around how I could achieve this goal.

SSIS vs. Oracle GG

This is the third in a series of product identifications between Oracle and Microsoft to assist those attempting to understand the similarities and differences between these essential parts of any data platform environments.

In this post, I’m going to describe the similarities and differences between Microsoft SQL Server Integration Services and Oracle Golden Gate. Hang on, it’s a bit of a bumpy ride. as neither service is out there on its own, (other’s piggy back off of them) and there’s definitely some new products on the Microsoft side that aren’t taken into consideration.

Want to change the future Amazon RDS performance monitoring?

UPDATE: All slots for this study have been filled.

On the other and would love your feedback. Please send any ideas about what you’d like to see in RDS performance monitoring to me at kylelf at amazon.com

Thanks

Kyle
APG_2

Application Express 19.1

AskTOM moved to Application Express 19.1 without any major issues last weekend. That in itself is a nice endorsement for APEX, given that the AskTOM application dates back nearly 20 years to 2001, and predates even the existence of APEX.

The only fix that we had to make was that AskTOM uses the static CDN files that Joel Kallman blogged about to make it nice and snappy wherever in the world it is used. The reference to those files have a hard-coded version number so that needed to updated. For AskTOM, we have a plugin that uses some jQuery elements that went pear-shaped when referencing the old version 18 files, but after a quick fix to that reference all was well.

More chances to bulk process

I’m sure most of us have read or heard at a conference the benefits of array fetching and array binding when it comes to passing data back and forth to the database. And we’ve all seen the numerous demo scripts in PL/SQL along the lines of:


FORALL i in 1 .. n 
   INSERT ...

As such, there is a misconception out there that you are only going to be able to use bulk binding for basic DML operations. So I thought I’d share this example that came in via AskTOM recently. We got asked if there was any means of improving the performance of this row-by-row operation where the DML was a complex Text index search, with the additional complication that on a row by row basis, the DML may fail but that this was an anticipated outcome that needed to be handled and moved past. The scenario presented was as follows:

Dump Current Oracle SQL Execution Plan Line ID Using Oradebug

This post is written mostly for fun, not for practical everyday usability (enjoy!).
Introduction There was a question on Twitter about alternative options for retrieving the SQL execution plan line ID that Oracle is currently executing. Normally Oracle’s Active Session History shows this info in its PLAN_LINE* columns as I have explained in my asqlmon.sql post.
does anyone knows if I can select the equivalent from ASH.SQL_PLAN_LINE_ID for current session?

Dump Current Oracle SQL Execution Plan Line ID Using Oradebug

This post is written mostly for fun, not for practical everyday usability (enjoy!).
Introduction There was a question on Twitter about alternative options for retrieving the SQL execution plan line ID that Oracle is currently executing. Normally Oracle’s Active Session History shows this info in its PLAN_LINE* columns as I have explained in my asqlmon.sql post.
does anyone knows if I can select the equivalent from ASH.SQL_PLAN_LINE_ID for current session?