Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Vivek Tuning for Row Locks. Oracle
  • usnsql.sql Displays information about UNDO segments with sql statements Oracle
  • 276434.1 Modifying the VIP or VIP Hostname of a 10g or 11g Oracle Clusterware Node Oracle
  • create trigger syntax Oracle
  • Identical Dblink Issue… Oracle
  • avail.sh ( find filesystem spae usage) Linux/Unix
  • get_aix_vmstat.ksh Oracle
  • sid_wise_sql.sql Oracle
  • oracle 11g RAC on vmware Oracle
  • Sequence Resetting Oracle
  • How to stop OCSSD Daemon Oracle
  • How to Modify the statistics collection by MMON for AWR repository Oracle
  • sid_wise_sql.sql Further explaination Oracle
  • Passing from Unix to PLSQL using bind variables Linux/Unix
  • oracle fast start failover best practice Oracle

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

  • sql_plan9i.sql Oracle
  • CTAS with LONG Column for 7.x and 8 and 8i Oracle
  • sesswait.sql Oracle
  • TRUNCATE table and disabling referential constraints. Oracle
  • Running PDB on single node in RAC Oracle
  • Export Oracle data and Compress at same time 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 (402)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (350)
  • SQL Server (6)
  • Uncategorized (5)
  • Videos (0)

Recent Posts

  • SAT Mathematics 10 questions and answer at the end.30-Apr-2026
  • top 10 AI news today30-Apr-2026
  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sql23-Apr-2026
  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026
  • Creating a Container Database using dbaascli08-Apr-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • How to find the real execution plan and binds used in that explain plan in Oracle 10g?? Oracle
  • SQL Server: How to see historical transactions SQL Server
  • cache buffer chain latch Oracle
  • Roles and Stored Procs II Oracle
  • eplan9i.sql Oracle
  • database trigger failing Oracle
  • nfs mount command Linux/Unix
  • runon_allpdbs_show_conname.sh Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme