Category: Databases

  • Troubleshooting gc cr/current block lost events and Improving Oracle RAC Network Performance

    Troubleshooting gc cr/current block lost events and Improving Oracle RAC Network Performance

    The Enterprise Manager Cloud Control’s Overview of Incidents and Problems section identified ‘Metrics Global Cache Blocks Lost at XXX’ for a relatively new database, suggesting a potential network issue, likely related to the private network interfaces. Troubleshooting was guided by My Oracle Support documents, which outline common causes and initial diagnostic steps. Further actions included making adjustments across nearly all OSI Model Layers; such as enabling jumbo frames, tuning NIC buffers, adjusting IP fragmentation parameters, and optimizing socket buffers as well as refining the database layer. These measures collectively reduced ‘gc block lost’ events to nearly zero.

  • Oracle Enq: TX – Row Lock Contention: Find Blocking SQL

    Oracle Enq: TX – Row Lock Contention: Find Blocking SQL

    When encountering the Enq: TX – row lock contention wait event, it’s crucial to identify the root cause before taking action. This contention arises when multiple sessions attempt to modify the same row in a table simultaneously. To resolve it, database administrators should pinpoint the blocking session and sql statement. A detailed analysis of specific SQL statements can provide valuable insights for the development team, facilitating faster resolution.

  • v$sql INVALIDATION column and Prevent SQL Cursor Invalidation

    v$sql INVALIDATION column and Prevent SQL Cursor Invalidation

    This content highlights the impact of SQL cursor invalidation on system performance and suggests solutions to reduce the number of hard parses. It emphasizes the importance of avoiding hard parses in OLTP systems and discusses reasons for SQL cursor invalidation, such as schema changes, statistics updates and parameter changes. The implementation of atomic refresh for materialized views is presented as a solution to reduce SQL cursor invalidations leading to improved performance in OLTP systems.

  • How to configure HAProxy with external-check to query  PostgreSQL database directly

    How to configure HAProxy with external-check to query PostgreSQL database directly

    The blog post discusses configuring HAProxy with an external check to query PostgreSQL directly for database server health monitoring. Choosing to deploy PgBouncer on database hosts led to the decision to use an external check in HAProxy. The configuration and benefits of this setup are detailed, along with sample HAProxy configurations for external checks. Deploying PgBouncer directly on PostgreSQL servers minimized network latency and simplified architecture while securing local connections.

  • Oracle Database 23ai Fuzzy Matching and Similarity Searches

    Oracle Database 23ai Fuzzy Matching and Similarity Searches

    This content provides a tutorial on performing similarity searches in Oracle 11g+ databases using various algorithms like Jaro-Winkler and Levenshtein by using ULT_MATCH package. It also introduces the FUZZY_MATCH package in Oracle 23ai release, allowing for greater flexibility and alignment with developer needs. The post includes sample SQL queries for implementing these algorithms and a referral to the Oracle 23ai SQL Language Reference for more information.

  • Unified Audit Trail: SQL Text Not Recorded in Syslog

    Unified Audit Trail: SQL Text Not Recorded in Syslog

    The Oracle Database 12.2 or later uses Unified Auditing to track activity. However, certain fields are not captured in the syslog of Unified Audit Trail, impacting the completeness of log data. To address this, a simple method of sharing audit records with SIEM tools like WAZUH involves using SQL/JSON functions to stream data in NDJSON format. This can be done using a shell script scheduled with cron.