Author Archives: Bobby

About Bobby

I live in Chandler, Arizona with my wife and three daughters. I work for US Foods, the second largest food distribution company in the United States. I have worked in the Information Technology field since 1989. I have a passion for Oracle database performance tuning because I enjoy challenging technical problems that require an understanding of computer science. I enjoy communicating with people about my work.

Fixed issue with DBA_HIST_SQLSTAT script

I got rid of the old sqlstat.sql, sqlstat2.sql and sqlstat3.sql scripts in my GitHub repository and fixed an issue that was in sqlstat3.sql. Now the current version is just called sqlstat.sql. This one script should work well in all the … Continue reading

Posted in Uncategorized | 2 Comments

How to email from Python

I got an email asking how to send an alert email from a Python script. Here is an example based on a script I have setup: You need to replace “PUT YOUR SMTP SERVER HERE” with the host name of … Continue reading

Posted in Uncategorized | Leave a comment

January 2020 Patches Not In Recommended Patch Advisor

Every quarter I download the latest patch set from Oracle’s support site by using the Recommended Patch Advisor. But the January 2020 patch sets did not show up. The RPA still recommends the October 2019 patch sets. The Recommended Patch … Continue reading

Posted in Uncategorized | Leave a comment

Python Script to Scan Listener Log For Incoming Connections

Wrote a quick and dirty script to scan the listener log for incoming connections and produce a count of how many connections came from which host. Here is the URL: All it does is hack out the ip address … Continue reading

Posted in Uncategorized | 4 Comments

Bounce Listener and Database After Adding oracle User to Group

I keep forgetting that I need to bounce both the listener and the database after changing the oracle user’s group membership, so I am writing a quick note to myself here. This is the second time I have been tripped … Continue reading

Posted in Uncategorized | Leave a comment

Plan Change Monitor goes off on SQL Analyze query

Last night, the plan change monitor script we have setup on one of our production databases alerted us about query with a SQL Analyze hint. It looked weird. The query has sql_id 48tfz5d37xk28 and starts like this: The weird thing … Continue reading

Posted in Uncategorized | Leave a comment

AWR records top 30 SQLs by default

I forget that Oracle’s AWR only records the top 30 SQL statements in each snapshot by default. I am not sure how long this link will last but here is a 19c manual page describing the default: 19c manual – … Continue reading

Posted in Uncategorized | 2 Comments

DBMS_UTILITY.FORMAT_CALL_STACK Change in 12.2 and later

Quick note. During my to 19c upgrade that I have been writing about we found a difference in behavior of DBMS_UTILITY.FORMAT_CALL_STACK. I tested it on several versions, and it switched in 12.2. Now it puts the procedure name within … Continue reading

Posted in Uncategorized | 2 Comments

Python 3.8.1 Linux Install Without Root

I wanted to install the latest Python on Linux in a low powered user’s home directory and not have the install interfere with the Python that comes with Linux. I wanted my own local copy of Python that I could … Continue reading

Posted in Uncategorized | 3 Comments

AZORA with Viscosity lunch and learn Thursday 2/13/20

Quick note. The next AZORA meetup will be next Thursday, 2/13/2020. Be sure to RSVP on Viscosity’s web site: (DOES NOT EXIST) I don’t know about you but we are busy moving to or implementing on 19c so these … Continue reading

Posted in Uncategorized | Leave a comment