-

Before you case-insensitive your whole database!
(Familiar with case-insenstive collation already? Skip ahead to the “Side Effects”) A history of failed applications Before Oracle 12, a common cause of frustration was how to easily handle the case of character data in your applications. It is day 1 of your application being live, and a simple query on your database suggests that Read more
-

21c … a more secure DataPump
With the new release of every product from every software vendor, there are always the big banner headline features that take up all the marketing “real estate”, and 21c will be no exception. These features will certainly get their fair share of attention from the blog-sphere, the official media releases, documentation and the like. But Read more
-

21c database creation seems to hang
Just a quick tip that caught me out when creating my 21c database with the Database Creation Assistant. Once you have answered all of the prompts and the creation of the database begins in earnest, there is an unnerving moment where the entire process seems to stall. In reality, it is just an unfortunate coincidence Read more
-

21c software installation OS groups
Before your 21c database software installation, there are a number of prerequisite steps in order to get your operating system ready for the Oracle Database. This used to be a lengthy series of manual tasks, but more recently this has been simplified with the preinstall rpm file that we make available to you. [root@localhost sf_tmp]# Read more
-

21c software … where did everything go?
Now that 21c is out and you’re all busily downloading it to explore on your local servers, the twitter DMs have already started to come in. Now I can’t detect a panicked tone from the written word, but if I had to guess, there is definitely some panic out there , and most of it Read more
-

New podcast episode! Testing and breaking things
I’m a developer. I wrote code, compile code, and ….. then I throw it over the fence to the testers and it is not my problem right? No Or with the modern trend of automated testing, it is often easy to fall into the trap of relying solely on automation, especially when emotionally as developers Read more
-

We killed sequence contention!
A few months back I gave a talk on the importance of good physical design if you need to meet extreme levels of performance in your Oracle database. Topics included index selection, block contention, partitioning and also the issue of sequence contention. Sequence caching By default sequences are cached in the Oracle database in order Read more
-

Blockchain tables … the usage model
When you hear the word “blockchain” we typically think of the properties associated with tamper-proof information, with terminology such as “immutability”, “cryptographic digests”, “cryptographic signatures” and so forth. Thus when it comes to blockchain tables in the database, it follows that we need a mechanism to store that additional metadata with the rows that are Read more
-

Time zones, blockchain and stopping hackers
I posted a few months ago about the availability of blockchain tables in 19c, and a fundamental mantra with anything associated with blockchain is the guarantee that data cannot be tampered with. Thus when blockchain tables first became available, the questions were naturally asked were along the lines of: “Can a DBA or SYSDBA mess Read more
-

UTL_CALL_STACK lends a helping hand to DBMS_UTILITY
Oracle dinosaurs whoops I mean “experienced professionals” know that for decades we have used the DBMS_UTILITY package to obtain the current call stack within a PL/SQL program being executed. Here is a simple example showing that when we are deeply nested in PL/SQL package territory, we can get the current call stack. SQL> create or Read more
-

Drop all baselines
Just a quick tip today on doing a “reset” on your optimizer environment. SQL Plan Baselines are an awesome tool to ensure plan stability in your database, and generally, when you are upgrading from one release to the next, they are the perfect tool to make sure that you don’t get any performance regressions because Read more
-

19.11 Database Release Update
I tweeted about a particular bug fix that interests me for 19.11, namely a critical fix for Flashback Data Archive in high volume transactional systems. Unfortunately this bug is not listed in the official Bugs Fixed section of the release notes, but if you see your shared pool being polluted with lots of SQL statements Read more