Issue
Development team send email with given below issue.
Concurrent program failed with given error.
----------------------------------------------------------
<>
<>CREATE INDEX ITEM_CATEGORIES_N3_IKN ON ITEM_CATEGORIES_IKN(CATEGORY_SET_ID,ORGANIZATION_ID,SR_INSTANCE_ID,SR_CATEGORY_ID,CATEGORY_NAME,DESCRIPTION) PARALLEL TABLESPACE MSCX STORAGE( INITIAL 106496 NEXT 67108864 PCTINCREASE 0) PCTFREE 10 INITRANS 11 MAXTRANS 255
ORA-12801: error signaled in parallel query server P005, instance ios0901e:EPRODR1 (1)
ORA-01652: unable to extend temp segment by 8192 in tablespace MSCX <> <>ALTER TABLE MSC_ITEM_CATEGORIES EXCHANGE PARTITION ITEM_CATEGORIES__1 WITH TABLE ITEM_CATEGORIES_IKN INCLUDING INDEXES
ORA-14098: index mismatch for tables in ALTER TABLE EXCHANGE PARTITION Calling Linking of Sales Order for 11i source ...
Procedure LINK_SUPP_SO_DEMAND_EXT started.
Truncated Source AD Tables Successfully
----------------------------------------------------------
Troubleshooting Steps
Script was failing while creating index. I check initial and next space utilization of tablespace, which was good. I checked space utilization using given below query.
#CONTIG_FREE_SPACE.sql
#PL/SQL script to determine how much contiguous
#free space is available for each tablespace in the database. Oracle will
#acquire space by searching first for exact fit, then next best fit, and lastly#coalesce if possible.
create table SPACE_TEMP ( TABLESPACE_NAME CHAR(30), CONTIGUOUS_BYTES NUMBER)
/
declare
cursor query is select * from dba_free_space WHERE TABLESPACE_NAME='MSCX' order by
tablespace_name, block_id;
this_row query%rowtype; previous_row query%rowtype; total number;
begin
open query;
fetch query into this_row;
previous_row := this_row;
total := previous_row.bytes;
loop fetch query into this_row;
exit when query%notfound;
if this_row.block_id = previous_row.block_id + previous_row.blocks
then
total := total + previous_row.bytes;
insert into SPACE_TEMP (tablespace_name) values (previous_row.tablespace_name);
else
insert into SPACE_TEMP values (previous_row.tablespace_name, total);
total := this_row.bytes;
end if;
previous_row := this_row;
end loop;
insert into SPACE_TEMP values (previous_row.tablespace_name, total);
end;
/
set pagesize 60
set newpage 0
set echo off
ttitle center 'Contiguous Extents Report' -
skip 1 center new_today skip 3
break on "TABLESPACE NAME" skip page duplicate
spool contig_free_space.lis
rem
column "CONTIGUOUS BYTES" format 999,999,999
column "COUNT" format 999
column "TOTAL BYTES" format 999,999,999
column "TODAY" noprint new_value new_today format a1
rem
select TABLESPACE_NAME "TABLESPACE NAME", CONTIGUOUS_BYTES "CONTIGUOUS BYTES",
count(*) "COUNT", CONTIGUOUS_BYTES*count(*) "TOTAL BYTES",
to_char(sysdate,'FMMonth DD, YYYY') "TODAY "from SPACE_TEMP
where CONTIGUOUS_BYTES is not nullgroup by TABLESPACE_NAME, CONTIGUOUS_BYTES
order by TABLESPACE_NAME, CONTIGUOUS_BYTES desc
/
spool off
drop table SPACE_TEMP
/
Solution
We dropped recyle bin object from tablespace to free space.
SQL> purge tablespace
Again I checked contigouse space which was more than required next space.
Note--> Next space allocation is in form of next value (its not number of block. It is number of byte)
No comments:
Post a Comment