• Upgrading from 19.6 to 19.7 on Windows

    Upgrading from 19.6 to 19.7 on Windows

    I must say this Release Update (RU) was probably the smoothest I’ve ever done. Obviously you should always read the patch notes carefully before proceeding on your own systems, but for me, it was a simple exercise. I’m posting this just to cover a couple of things that the patch notes “assume” and don’t explicitly Read more

  • Getting a dog improved my productivity

    Getting a dog improved my productivity

    Today’s blog post is somewhat of a different one. You could perhaps argue that it is even non-technical but bear with me, there is a strong relationship to technical work on the topic of productivity. One of the things we often read about in blog posts, see in YouTube videos or any other form of Read more

  • MAX_IDLE_BLOCKER_TIME to stop locking problems

    MAX_IDLE_BLOCKER_TIME to stop locking problems

    We’ve all been there … You’re trying to save some changes to the database, and no matter what you try, your application just hangs. After some to-and-fro with the DBA, or perhaps you are the DBA, you stumble across that uncommitted transaction that “Joe from marketing” commenced at 11:55am.  You pop around to Joe’s desk, Read more

  • Code re-use in PL/SQL might just need SQL

    Code re-use in PL/SQL might just need SQL

    I was doing some code review today of a PL/SQL package, and came across a routine to generate a list of employees for a department.  Truth be told, it wasn’t employees and departments but some anonymity is called for here. SQL> create or replace 2 function emp_list(p_dept varchar2) return varchar2 is 3 l_emps varchar2(4000) := Read more

  • Patching APEX 20 with patch 30990551

    Patching APEX 20 with patch 30990551

    I’ve been debugging an issue within an APEX application and wanted to make sure that my local installation was at the same version as apex.oracle.com. So I logged on to my workspace and ran queries on APEX_RELEASE and APEX_PATCHES and discovered that there was a patch available for 20.1. That patch is 30990551 and you Read more

  • APEX upgrade – don’t forget your CDN

    APEX upgrade – don’t forget your CDN

    I haven’t dug too deep into this one, so what follows may be just coincidental but I thought I would blog it out just in case it happens to anyone else. While testing AskTOM as part of our Application Express upgrade to version 20.1, I got a bit of a shock when I fired up Read more

  • Arbitrary length addition and subtraction

    Arbitrary length addition and subtraction

    This one just for fun today. An AskTOM question came in about arbitrary length arithmetic because “NUMBER(38) was not enough”. After some back-and-forth discussions it turned out that the business need under the requirement was managing bit strings. The implementation was currently converting the bits to decimals, hence the need for potentially very large number Read more

  • Free In-memory in Oracle Database 19c

    Free In-memory in Oracle Database 19c

    There has always been a bit of a Catch-22 with some of the really cool options in the Oracle Database. You want to explore the value of them, but you don’t want to draw the ire of any licensing implications of doing so. Of course, you can use XE or a trial version of the Read more

  • Why you might add columns to external tables

    Why you might add columns to external tables

    Let me start with the idiotic part first. That part would be…. me! I’ll create an external table which reads some customer sales data from a flat file. SQL> create table sales_ext 2 ( 3 cust_id varchar2(10) not null, 4 product_id int not null, 5 amt number, 6 dte date 7 ) 8 organization external Read more

  • SQL Plus and the ROWPREFETCH parameter

    SQL Plus and the ROWPREFETCH parameter

    Need to get a bunch from rows out of the database? Most people are aware of the ARRAYSIZE parameter to improve the fetch performance back to the client, but many people are not aware of the newer ROWPREFETCH parameter. Let’s take a look at each to see how quickly we can drag data back to Read more

  • Expertise might not be the way forward

    Expertise might not be the way forward

    I caught up with friend Rob Lockhard who is doing interviews with community members. He asked me about the future of IT and what is in store for the the budding IT professional coming out of college/university. Read more

  • PGA memory consumption with BLOBs

    PGA memory consumption with BLOBs

    Probably the most common usage for large objects (CLOBs and BLOBs) is to store them in a database table. In this circumstance, it feels intuitive that you won’t have a lot of concerns about memory, because the database will simply store those objects in datafiles like it would any other kind of data. But BLOBs Read more