Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Oracle Standby Database Library Index from Metalink Oracle
  • arch_configUOCIOTTO.ora Oracle
  • Parallel DML Oracle
  • Add new columns in dataframe Python/PySpark
  • TRUNCATE table and disabling referential constraints. Oracle
  • DB Console Mainenance. Oracle
  • Oracle Identifiers Oracle
  • prepfiles.sh for step by step generating pending statistics files Oracle
  • AWR license Oracle
  • SCRIPT TO LIST RECURSIVE DEPENDENCY BETWEEN OBJECTS UTLDTREE.sql Oracle
  • Process Map for CPU and Memory for OS processes Linux/Unix
  • Find Plan Hash value fphv.sql Oracle
  • Running select from V$ views from remote server Linux/Unix
  • How to stop OCSSD Daemon Oracle
  • Sort with ASCII order and Numeric Order Linux/Unix

ORA-8031 issue and solution if it is occuring due to truncate.

Posted on 07-Apr-2008 By Admin No Comments on ORA-8031 issue and solution if it is occuring due to truncate.

After doing further research on Oracle errors from metalink, I found following for ORA-8031.

CAUSE:

The data_object_id (seg/obj) stored in the block is different than the

data_object_id stored in the segment header.

EXPLAINATION:

The expected behavior can be that tables are being truncated while a query from

those tables is still in execution. Look if data_object_id is changing for the involved objects while queries are

being executed.

data_object_id is commonly changed by:

truncate table

alter index .. rebuild

alter table .. move

etc.

I manually checked for data_object_id for TRUN.ATS_CTI_EXT_CHECK and found that after each truncate the DATA_OBJECT_ID of this object is changed. So queries that are running at the time of truncate will receive this error.

Solution:

1. Stop the queries while truncate is going on for same table.

2. If above is not possible or difficult to implement, then replace “truncate” with “delete from”. This will result in segment fragmentation. At night time when no one is running query against this table, also plan to truncate it so its data structure will not be fragmented.

Metalink Reference: Note:268302.1

Oracle, SQL scripts

Post navigation

Previous Post: fdisk -l explaination about Primary-Logical-Extended Partitions
Next Post: good linux notes

Related Posts

  • Privilege to describe the table. Oracle
  • Goldengate Tutorial Oracle
  • Query to Generate aggregate on every 30 mins. Oracle
  • Oracle Release Explaination Oracle
  • dbms_job.submit example Oracle
  • Rownum with Order by Oracle

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (395)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (343)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • prepfiles.sh for step by step generating pending statistics files10-Mar-2026
  • tracksqltime.sql05-Mar-2026
  • Complete Git Tutorial for Beginners25-Dec-2025
  • Postgres DB user and OS user.25-Dec-2025
  • Trace a SQL session from another session using ORADEBUG30-Sep-2025
  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025
  • T-SQL Vs PL/SQL Syntax25-Jul-2025
  • Check SQL Server edition25-Jul-2025

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Find_table_size.sql Oracle
  • runsql_once.ksh Linux/Unix
  • get_aix_vmstat.ksh Oracle
  • Vivek Tuning for Row Locks. Oracle
  • find_idle_cpu.sql Oracle
  • V$transaction notes for finding XID composition. Oracle
  • Insert cause enqueue locks Oracle
  • Proc Compilation Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme