• How to get row counts for all tables in PostgreSQL Database

    Finding Row Count for All Tables in PostgreSQL Database

    The post discusses the effectiveness of two concepts for counting rows in PostgreSQL: using table statistics versus executing the SELECT COUNT(*) command. While table statistics offer faster row estimates with minimal resource consumption, accuracy can be hindered if the statistics are outdated. In contrast, SELECT COUNT(*) provides exact counts but incurs substantial performance penalties, especially with large tables. Testing with the Adventureworks database shows that for retrieving counts of all tables relying statistics collector or mimicking the planner’s logic can be significantly more efficient than direct queries.


  • Table Statistics vs. SELECT COUNT(*)

    Table Statistics vs. SELECT COUNT: What to Choose?

    Counting rows in database tables is a common concern for DBAs, as it’s highly discussed in forums like ASKTOM and Stack Overflow. Despite its performance drawbacks, developers/dbas often use row counts for data validation during migrations, capacity planning, anomaly detection, and performance tuning. The use of table statistics and computing the exact row count with ‘SELECT COUNT(*) FROM’ is debated. The article emphasizes the need to question the necessity of exact row counts in business requirements perspective.


  • Install Oracle 23ai Database on Macbook

    Installing Oracle Database 23ai on ARM Macs with Sample Schemas

    Released on 12th November 2024, Oracle Database 23ai now offers free container images optimized for ARM-based Apple MacBook computers with M-series chips, enhancing development efficiency. Two image options, Full and Lite, are designed to meet diverse requirements. This post details the process for setting up the Oracle Database using Docker, checking logs, connecting with SQLcl, and importing sample schemas(HR,SH and CO), providing Mac developers with an efficient way to create test environments.


  • File System Corruption on / root partition on Exadata

    File System Corruption on Root (/) Partition of Exadata Storage Server – Oracle Linux 7

    A file system corruption issue was detected on the root partition of an Exadata storage server running Oracle Linux 7.9. This was identified by AIDE due to changes in file attributes. Investigations revealed errors in the logs pointing to inode inconsistencies. Attempts to resolve the corruption faced obstacles due to the unavailability of diagnostic ISO images. Ultimately, the file system corruption was fixed by using an Oracle Linux 7.9 installation ISO and running fsck manually.


  • Change Oracle Central Inventory

    How To Change Oracle Central Inventory Location

    The content discusses the steps of changing the Oracle Central Inventory location for a non-standard installation to ensure consistency before applying Ansible Playbooks for Oracle Database Update. The article explains the role of the Central Inventory, details steps to find the current location, copy directories, update configuration files, and verify the process. It also notes that similar changes on Windows are unsupported.


  • Oracle DST time zone upgrade

    Upgrade Oracle Database Time Zone (DST) version: Key Considerations

    The necessity of a time zone upgrade depends on whether a database stores timestamp data with time zones. For organizations with clients in various time zones, upgrading may be essential. The data types TIMESTAMP WITH TIME ZONE (TSTZ) and TIMESTAMP WITH LOCAL TIME ZONE (TSLTZ) are key considerations, with TSTZ retaining original time zone data while TSLTZ normalizes it according to DBTIMEZONE value. Oracle’s Data Pump requires matching time zone versions during data transfers. The steps for upgrading the time zone in a sample database are explained in detail.