• Oracle Database Health Check Scripts

    Tools and Scripts for Oracle Database Health Checks and Diagnostics

    The content discusses essential tools and scripts for monitoring Oracle Database Health, emphasizing the importance of proactive health checks to prevent performance issues. It introduces various tools such as AHF Insights, ORACHK/EXACHK, OSWatcher, Procwatcher, and TFA, all contributing to efficient database management. The post also reviews health check scripts designed for specific components like Oracle Spatial and APEX, alongside utilities for diagnosing SQL performance issues using tools like AWR, SQLHC, and SQLT. Also, using DBMS_DICTIONARY_CHECK for data dictionary health checks is demonstrated. Ultimately, it encourages customized checks based on unique database needs.


  • Child Cursors Related with Bind Variables

    Child Cursors: BIND_MISMATCH, BIND_LENGTH_UPGRADEABLE and BIND_EQUIV_FAILURE

    Bind variables improve SQL performance and security by reusing execution plans, reducing hard parsing overhead and mitigating SQL injection risks. However, key information can be hidden from the optimizer, limiting optimal execution plan generation unless adaptive cursor sharing is used. Sometimes, using bind variables can result in an excessive number of child cursors due to reasons such as BIND_MISMATCH, BIND_LENGTH_UPGRADEABLE, and BIND_EQUIV_FAILURE. Tools like version_rpt help diagnostic efforts for child cursors, while effective solutions often involve application code modifications and NO_BIND_AWARE hints.


  • Moving Database Objects

    Moving Oracle Database Objects to Another Tablespace in 19c (Table, Index, LOB Column)

    The post discusses the process of moving and changing nearly 50,000 database objects (tables, indexes, LOB columns) across tablespaces within an Oracle database. It highlights the challenges posed by inconsistent storage practices and the transition to a more structured approach based on object types and applications to improve performance and management. Key considerations, such as moving tables, indexes, and LOBs, are detailed, along with specific commands for various operations. The importance of strategic planning and utilizing Oracle features to minimize downtime and ensure data integrity during the transition is also emphasized.


  • Upgrade APEX component of Oracle Database

    Oracle Database 19c APEX Upgrade: 19.2 to 24.1.7

    This post outlines the process for upgrading Oracle Application Express (APEX) from version 19.2 to 24.1. APEX is a low-code platform for developing web applications with Oracle Database. The upgrade process is independent of the database version but requires Oracle Database version 19c or later. The steps include downloading the new version, creating dedicated tablespaces, executing installation scripts, modifying request-handling procedures, and dropping the old APEX user and tablespace. Finally, the latest cumulative patch, released on December 9, 2024, is applied to ensure a secure, reliable, and efficient APEX environment.


  • Delete Orphaned Datafile Copies

    Oracle Incrementally Updated Backups : Detect and Delete Orphaned (Expired) Datafile Copies

    Oracle recommends adopting a merged incremental disk backup strategy to ensure efficient database protection and faster recovery times. This includes keeping an up-to-date image copy as the base while applying incremental backups. Key practices involve setting a REDUNDANCY 1 retention policy, utilizing the Fast Recovery Area, and employing Block Change Tracking for efficiency. DBAs must manage leftover datafiles after tablespace deletion to ensure that the base image copy remains in sync with the database, as detailed throughout the blog post.